]> gitweb.factorcode.org Git - factor.git/commitdiff
sequences.extras: adding reject, "[ not ] compose filter".
authorJohn Benediktsson <mrjbq7@gmail.com>
Tue, 24 Sep 2013 21:50:45 +0000 (14:50 -0700)
committerJohn Benediktsson <mrjbq7@gmail.com>
Tue, 24 Sep 2013 21:52:56 +0000 (14:52 -0700)
extra/sequences/extras/extras-tests.factor
extra/sequences/extras/extras.factor

index 65d27895accf44d11aecbaf587c681e853ba2afb..c53bc1f8301cd82b9c82f00e69bb8b190532da13 100644 (file)
@@ -175,3 +175,5 @@ IN: sequences.extras.tests
 { 1 "beef" } [ { "chicken" "beef" "moose" } [ length ] infimum-by* ] unit-test
 { 0 "chicken" } [ { "chicken" "beef" "moose" } [ length ] supremum-by* ] unit-test
 { 2 "moose" } [ { "chicken" "beef" "moose" } [ first ] supremum-by* ] unit-test
+
+{ "0123456789" } [ 58 iota [ 48 < ] "" reject-as ] unit-test
index 648bc7166e3f18672621b6dc31955e76a4bc97b7..c9b079343958b9f1d7c9aac41d6994cf95d6ff5a 100644 (file)
@@ -512,3 +512,9 @@ PRIVATE>
 
 : infimum-by* ( ... seq quot: ( ... elt -- ... x ) -- ... i elt )
     [ before? ] select-by* ; inline
+
+: reject-as ( ... seq quot: ( ... elt -- ... ? ) exemplar -- ... subseq )
+    [ [ not ] compose ] [ filter-as ] bi* ; inline
+
+: reject ( ... seq quot: ( ... elt -- ... ? ) -- ... subseq )
+    over reject-as ; inline