{ "" } [ "" "" "" unsurround ] unit-test
{ "" } [ " " " " " " unsurround ] unit-test
{ "foo.com" } [ "http://foo.com" "http://" "/" unsurround ] unit-test
+
+{ t } [ { 1 3 5 7 } [ even? ] none? ] unit-test
+{ f } [ { 1 2 3 4 } [ even? ] none? ] unit-test
+{ t } [ { } [ even? ] none? ] unit-test
+
+{ f } [ { 1 2 3 4 } [ even? ] one? ] unit-test
+{ t } [ { 1 2 3 } [ even? ] one? ] unit-test
+{ f } [ { } [ even? ] one? ] unit-test
: unsurround ( newseq seq2 seq3 -- seq1 )
[ ?head drop ] [ ?tail drop ] bi* ;
+
+: none? ( ... seq quot: ( ... elt -- ... ? ) -- ... ? )
+ any? not ; inline
+
+: one? ( ... seq quot: ( ... elt -- ... ? ) -- ... ? )
+ [ find ] 2keep rot [
+ [ 1 + ] 2dip find-from drop not
+ ] [ 3drop f ] if ; inline