silo:std.collections.hashset

Source src/silo:std.collections.hashset

1##! HashSet — hash-based unique-element set.
2##!
3##! The `HashSet` type is implicitly available everywhere; this module
4##! attaches `.insert`, `.contains`, and `.len` to it via host
5##! intrinsics.
6##!
7##! Not re-exported by the prelude — use
8##! `:use :open silo:std.collections.hashset ...`.
9
10:use
11  :open core AnyInt Bool
12:end
13
14# si[impl coll.hashset+1]
15:impl (HashSet elem)
16  .insert ( (HashSet elem) elem -> (HashSet elem) ) hashset-insert-intrinsic ;
17  .contains ( elem (HashSet elem) -> Bool ) hashset-contains-intrinsic ;
18  .len ( (HashSet elem) -> AnyInt ) hashset-len-intrinsic ;
19:end