sets: encourage re-use by adding (intersect) and (diff).
parent
08715bae04
commit
e25fe7c7cc
|
@ -56,8 +56,7 @@ M: set set-like drop ; inline
|
||||||
|
|
||||||
PRIVATE>
|
PRIVATE>
|
||||||
|
|
||||||
M: set union
|
M: set union [ (union) ] keep set-like ;
|
||||||
[ (union) ] keep set-like ;
|
|
||||||
|
|
||||||
<PRIVATE
|
<PRIVATE
|
||||||
|
|
||||||
|
@ -70,13 +69,17 @@ M: set union
|
||||||
: small/large ( set1 set2 -- set1' set2' )
|
: small/large ( set1 set2 -- set1' set2' )
|
||||||
2dup [ cardinality ] bi@ > [ swap ] when ;
|
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>
|
PRIVATE>
|
||||||
|
|
||||||
M: set intersect
|
M: set intersect [ (intersect) ] keep set-like ;
|
||||||
[ small/large sequence/tester filter ] keep set-like ;
|
|
||||||
|
|
||||||
M: set diff
|
M: set diff [ (diff) ] keep set-like ;
|
||||||
[ sequence/tester [ not ] compose filter ] keep set-like ;
|
|
||||||
|
|
||||||
M: set intersects?
|
M: set intersects?
|
||||||
small/large sequence/tester any? ;
|
small/large sequence/tester any? ;
|
||||||
|
|
Loading…
Reference in New Issue