diff --git a/core/hash-sets/hash-sets.factor b/core/hash-sets/hash-sets.factor index c009593c58..aa35a17ab0 100644 --- a/core/hash-sets/hash-sets.factor +++ b/core/hash-sets/hash-sets.factor @@ -19,19 +19,19 @@ M: hash-set in? table>> key? ; inline M: hash-set adjoin table>> dupd set-at ; inline M: hash-set delete table>> delete-at ; inline M: hash-set members table>> keys ; inline -M: hash-set set-like drop dup hash-set? [ members >hash-set ] unless ; +M: hash-set set-like drop dup hash-set? [ ?members >hash-set ] unless ; M: hash-set clone table>> clone hash-set boa ; M: hash-set null? table>> assoc-empty? ; M: hash-set cardinality table>> assoc-size ; M: hash-set intersect small/large sequence/tester filter >hash-set ; -M: hash-set union [ members ] bi@ append >hash-set ; +M: hash-set union (union) >hash-set ; M: hash-set diff sequence/tester [ not ] compose filter >hash-set ; M: sequence fast-set >hash-set ; M: f fast-set drop H{ } clone hash-set boa ; M: sequence duplicates - f fast-set [ ?adjoin not ] curry filter ; + dup length [ ?adjoin not ] curry filter ; + M: set union - [ [ members ] bi@ append ] keep set-like ; + [ (union) ] keep set-like ;