]> gitweb.factorcode.org Git - factor.git/commitdiff
sets: encourage re-use by adding (intersect) and (diff).
authorJohn Benediktsson <mrjbq7@gmail.com>
Tue, 26 Mar 2013 22:16:26 +0000 (15:16 -0700)
committerJohn Benediktsson <mrjbq7@gmail.com>
Wed, 27 Mar 2013 00:42:40 +0000 (17:42 -0700)
core/sets/sets.factor

index fe3282ec18e73f37dd1e3c065620f501d2f11b4b..dd2013d78704bfd8c00e1b9a43fb4344920db307 100644 (file)
@@ -56,8 +56,7 @@ M: set set-like drop ; inline
 
 PRIVATE>
 
-M: set union
-    [ (union) ] keep set-like ;
+M: set union [ (union) ] keep set-like ;
 
 <PRIVATE
 
@@ -70,13 +69,17 @@ M: set union
 : small/large ( set1 set2 -- set1' set2' )
     2dup [ cardinality ] bi@ > [ swap ] when ;
 
+: (intersect) ( set1 set2 -- seq )
+    small/large sequence/tester filter ; inline
+
+: (diff) ( set1 set2 -- seq )
+    sequence/tester [ not ] compose filter ; inline
+
 PRIVATE>
 
-M: set intersect
-    [ small/large sequence/tester filter ] keep set-like ;
+M: set intersect [ (intersect) ] keep set-like ;
 
-M: set diff
-    [ sequence/tester [ not ] compose filter ] keep set-like ;
+M: set diff [ (diff) ] keep set-like ;
 
 M: set intersects?
     small/large sequence/tester any? ;