-
Notifications
You must be signed in to change notification settings - Fork 0
/
Copy pathtigerset.sig
27 lines (23 loc) · 844 Bytes
/
tigerset.sig
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
signature tigerset =
sig
type 'a tSet
val newSet : ('a * 'a -> order) -> 'a tSet
val singletonSet : ('a * 'a -> order) -> 'a -> 'a tSet
val addElemSet : 'a tSet * 'a -> unit
val addListSet : 'a tSet * 'a list -> unit
val memberSet : 'a tSet * 'a -> bool
val peekSet : 'a tSet * 'a -> 'a option
val equalSet : 'a tSet * 'a tSet -> bool
val unionSet : 'a tSet * 'a tSet -> 'a tSet
val unionInSet : 'a tSet * 'a tSet -> unit
val intersectionSet : 'a tSet * 'a tSet -> 'a tSet
val differenceSet : 'a tSet * 'a tSet -> 'a tSet
val differenceInSet : 'a tSet * 'a tSet -> unit
val forallSet : ('a -> unit) -> 'a tSet -> unit
val elemFromSet : 'a tSet -> 'a
val listItemSet : 'a tSet -> 'a list
val isEmptySet : 'a tSet -> bool
val setEmptySet : 'a tSet -> unit
val cardinalSet : 'a tSet -> int
val setPP : ('a -> string) -> 'a tSet -> string
end