Up
module
Set_lang
:
sig
#
module
Raw :
sig
#
type
('base, 'set) t =
private
#
| Base
of
'base
#
| Set
of
'set
#
| Union
of
('base, 'set)
t
* ('base, 'set)
t
#
| Inter
of
('base, 'set)
t
* ('base, 'set)
t
#
| Diff
of
('base, 'set)
t
* ('base, 'set)
t
#
val
compare : ('base
->
'base
->
int)
->
('set
->
'set
->
int)
->
('base, 'set)
t
->
('base, 'set)
t
->
int
end
#
type
('base, 'elt, 'cmp) t = ('base, ('elt, 'cmp) Core.Std.Set.t)
Raw
.
t
#
val
base : 'base
->
('base, _, _)
t
#
val
set : ('elt, 'cmp) Core.Std.Set.t
->
(_, 'elt, 'cmp)
t
#
val
inter2 : ('b, 'e, 'c)
t
->
('b, 'e, 'c)
t
->
('b, 'e, 'c)
t
#
val
union2 : ('b, 'e, 'c)
t
->
('b, 'e, 'c)
t
->
('b, 'e, 'c)
t
#
val
diff : ('b, 'e, 'c)
t
->
('b, 'e, 'c)
t
->
('b, 'e, 'c)
t
#
val
union : ('b, 'e, 'c)
t
* ('b, 'e, 'c)
t
list
->
('b, 'e, 'c)
t
#
val
inter : ('b, 'e, 'c)
t
* ('b, 'e, 'c)
t
list
->
('b, 'e, 'c)
t
#
val
union_list : ('b, 'e, 'c)
t
list
->
('b, 'e, 'c)
t
Core.Std.Or_error.t
#
val
inter_list : ('b, 'e, 'c)
t
list
->
('b, 'e, 'c)
t
Core.Std.Or_error.t
#
val
union_list_exn : ('b, 'e, 'c)
t
list
->
('b, 'e, 'c)
t
#
val
inter_list_exn : ('b, 'e, 'c)
t
list
->
('b, 'e, 'c)
t
#
val
values : ('base, _, _)
t
->
'base list
#
val
constant_value : (_, 'elt, 'cmp)
t
->
('elt, 'cmp) Core.Std.Set.t option
#
val
subst : ('b1, 'e, 'c)
t
->
f:('b1
->
('b2, 'e, 'c)
t
)
->
('b2, 'e, 'c)
t
#
val
map : ('b1, 'e, 'c)
t
->
f:('b1
->
'b2)
->
('b2, 'e, 'c)
t
#
val
specialize : ('b, 'e, 'c)
t
->
f:('b
->
('e, 'c) Core.Std.Set.t option)
->
('b, 'e, 'c)
t
#
val
eval : ('b, 'e, 'c)
t
->
f:('b
->
('e, 'c) Core.Std.Set.t)
->
('e, 'c) Core.Std.Set.t
#
val
invariant : ('base, 'elt, 'cmp)
t
->
unit
#
module
Make_monadic_eval :
functor
(M : Core.Std.Monad.S)
->
sig
#
val
subst : ('b, 'e, 'c)
t
->
f:('b
->
('b, 'e, 'c)
t
M
.t)
->
('b, 'e, 'c)
t
M
.t
#
val
map : ('b, 'e, 'c)
t
->
f:('b
->
'b
M
.t)
->
('b, 'e, 'c)
t
M
.t
#
val
specialize : ('b, 'e, 'c)
t
->
f:('b
->
('e, 'c) Core.Std.Set.t option
M
.t)
->
('b, 'e, 'c)
t
M
.t
#
val
eval : ('b, 'e, 'c)
t
->
f:('b
->
('e, 'c) Core.Std.Set.t
M
.t)
->
('e, 'c) Core.Std.Set.t
M
.t
end
#
module type
S = Set_lang_intf.S
with
module
Raw :=
Raw
#
module type
S_binable = Set_lang_intf.S_binable
with
module
Raw :=
Raw
#
module
Make :
functor
(Elt : Core.Std.Comparable.S)
->
S
with
module
Set =
Elt
.Set
#
module
Make_binable :
functor
(Elt : Core.Std.Comparable.S_binable)
->
S_binable
with
module
Set =
Elt
.Set
#
val
compare : ('base
->
'base
->
int)
->
('elt
->
'elt
->
int)
->
('cmp
->
'cmp
->
int)
->
('base, 'elt, 'cmp)
t
->
('base, 'elt, 'cmp)
t
->
int
end