]> gerrit.simantics Code Review - simantics/platform.git/blob - bundles/org.simantics.scl.runtime/scl/Set.scl
Merge commit '53059ca'
[simantics/platform.git] / bundles / org.simantics.scl.runtime / scl / Set.scl
1 import "Iterator" as Iterator
2
3 importJava "java.util.Set" where
4     data T a
5     
6     contains :: T a -> a -> Boolean
7     size :: T a -> Integer
8     isEmpty :: T a -> Boolean
9     
10     @private
11     iterator :: T a -> Iterator.T a
12
13 @inline
14 iter :: (a -> <e> ()) -> T a -> <e> ()
15 iter f s = runProc (Iterator.iter f (iterator s))
16
17 @inline
18 iterB :: (a -> <e> Boolean) -> T a -> <e> Boolean
19 iterB f s = runProc (Iterator.iterB f (iterator s))
20
21 @inline
22 fold :: (a -> b  -> <e> a) -> a -> T b -> <e> a
23 fold f init s = runProc (Iterator.fold f init (iterator s))