sig
module type Set_ =
sig
type 'a elt_
type 'a set
type ('a, 'b) result_
val empty : 'a Reins.Sets.Set_.set
val is_empty : 'a Reins.Sets.Set_.set -> bool
val mem :
'a Reins.Sets.Set_.elt_ ->
'a Reins.Sets.Set_.set -> (bool, 'a) Reins.Sets.Set_.result_
val add :
'a Reins.Sets.Set_.elt_ ->
'a Reins.Sets.Set_.set -> 'a Reins.Sets.Set_.set
val singleton : 'a Reins.Sets.Set_.elt_ -> 'a Reins.Sets.Set_.set
val remove :
'a Reins.Sets.Set_.elt_ ->
'a Reins.Sets.Set_.set -> 'a Reins.Sets.Set_.set
val min_elt :
'a Reins.Sets.Set_.set ->
('a Reins.Sets.Set_.elt_, 'a) Reins.Sets.Set_.result_
val max_elt :
'a Reins.Sets.Set_.set ->
('a Reins.Sets.Set_.elt_, 'a) Reins.Sets.Set_.result_
val choose :
'a Reins.Sets.Set_.set ->
('a Reins.Sets.Set_.elt_, 'a) Reins.Sets.Set_.result_
val cardinal : 'a Reins.Sets.Set_.set -> int
val compare : 'a Reins.Sets.Set_.set -> 'a Reins.Sets.Set_.set -> int
val equal : 'a Reins.Sets.Set_.set -> 'a Reins.Sets.Set_.set -> bool
val iter :
('a Reins.Sets.Set_.elt_ -> unit) -> 'a Reins.Sets.Set_.set -> unit
val fold :
('a -> 'b Reins.Sets.Set_.elt_ -> 'a) ->
'a -> 'b Reins.Sets.Set_.set -> 'a
val union :
'a Reins.Sets.Set_.set ->
'a Reins.Sets.Set_.set -> 'a Reins.Sets.Set_.set
val inter :
'a Reins.Sets.Set_.set ->
'a Reins.Sets.Set_.set -> 'a Reins.Sets.Set_.set
val diff :
'a Reins.Sets.Set_.set ->
'a Reins.Sets.Set_.set -> 'a Reins.Sets.Set_.set
val gen1 :
(?size:int -> Random.State.t -> 'a Reins.Sets.Set_.elt_) ->
?size:int -> Random.State.t -> 'a Reins.Sets.Set_.set
val well_formed : 'a Reins.Sets.Set_.set -> bool
val of_result : ('a, 'b) Reins.Sets.Set_.result_ -> 'a
type 'a cursor_
val to_cursor : 'a Reins.Sets.Set_.set -> 'a Reins.Sets.Set_.cursor_
val from_cursor : 'a Reins.Sets.Set_.cursor_ -> 'a Reins.Sets.Set_.set
val at_top : 'a Reins.Sets.Set_.cursor_ -> bool
val at_left : 'a Reins.Sets.Set_.cursor_ -> bool
val at_right : 'a Reins.Sets.Set_.cursor_ -> bool
val move_up : 'a Reins.Sets.Set_.cursor_ -> 'a Reins.Sets.Set_.cursor_
val move_down_left :
'a Reins.Sets.Set_.cursor_ -> 'a Reins.Sets.Set_.cursor_
val move_down_right :
'a Reins.Sets.Set_.cursor_ -> 'a Reins.Sets.Set_.cursor_
val went_left : 'a Reins.Sets.Set_.cursor_ -> bool
val went_right : 'a Reins.Sets.Set_.cursor_ -> bool
val has_value : 'a Reins.Sets.Set_.cursor_ -> bool
val get_value : 'a Reins.Sets.Set_.cursor_ -> 'a Reins.Sets.Set_.elt_
end
module type MonoSetSig =
sig
type t
type elt
type cursor
type 'a result
type 'a elt_ = elt
type 'a set = t
type ('a, 'b) result_ = 'a result
val empty : 'a set
val is_empty : 'a set -> bool
val mem : 'a elt_ -> 'a set -> (bool, 'a) result_
val add : 'a elt_ -> 'a set -> 'a set
val singleton : 'a elt_ -> 'a set
val remove : 'a elt_ -> 'a set -> 'a set
val min_elt : 'a set -> ('a elt_, 'a) result_
val max_elt : 'a set -> ('a elt_, 'a) result_
val choose : 'a set -> ('a elt_, 'a) result_
val cardinal : 'a set -> int
val compare : 'a set -> 'a set -> int
val equal : 'a set -> 'a set -> bool
val iter : ('a elt_ -> unit) -> 'a set -> unit
val fold : ('a -> 'b elt_ -> 'a) -> 'a -> 'b set -> 'a
val union : 'a set -> 'a set -> 'a set
val inter : 'a set -> 'a set -> 'a set
val diff : 'a set -> 'a set -> 'a set
val gen1 :
(?size:int -> Random.State.t -> 'a elt_) ->
?size:int -> Random.State.t -> 'a set
val well_formed : 'a set -> bool
val of_result : ('a, 'b) result_ -> 'a
type 'a cursor_ = cursor
val to_cursor : 'a set -> 'a cursor_
val from_cursor : 'a cursor_ -> 'a set
val at_top : 'a cursor_ -> bool
val at_left : 'a cursor_ -> bool
val at_right : 'a cursor_ -> bool
val move_up : 'a cursor_ -> 'a cursor_
val move_down_left : 'a cursor_ -> 'a cursor_
val move_down_right : 'a cursor_ -> 'a cursor_
val went_left : 'a cursor_ -> bool
val went_right : 'a cursor_ -> bool
val has_value : 'a cursor_ -> bool
val get_value : 'a cursor_ -> 'a elt_
val to_string : 'a set -> string
end
module type MonoSetSigFn =
functor (C : Types.Mono.Comparable) ->
sig
type t
type elt = C.t
type cursor
type 'a result
type 'a elt_ = elt
type 'a set = t
type ('a, 'b) result_ = 'a result
val empty : 'a set
val is_empty : 'a set -> bool
val mem : 'a elt_ -> 'a set -> (bool, 'a) result_
val add : 'a elt_ -> 'a set -> 'a set
val singleton : 'a elt_ -> 'a set
val remove : 'a elt_ -> 'a set -> 'a set
val min_elt : 'a set -> ('a elt_, 'a) result_
val max_elt : 'a set -> ('a elt_, 'a) result_
val choose : 'a set -> ('a elt_, 'a) result_
val cardinal : 'a set -> int
val compare : 'a set -> 'a set -> int
val equal : 'a set -> 'a set -> bool
val iter : ('a elt_ -> unit) -> 'a set -> unit
val fold : ('a -> 'b elt_ -> 'a) -> 'a -> 'b set -> 'a
val union : 'a set -> 'a set -> 'a set
val inter : 'a set -> 'a set -> 'a set
val diff : 'a set -> 'a set -> 'a set
val gen1 :
(?size:int -> Random.State.t -> 'a elt_) ->
?size:int -> Random.State.t -> 'a set
val well_formed : 'a set -> bool
val of_result : ('a, 'b) result_ -> 'a
type 'a cursor_ = cursor
val to_cursor : 'a set -> 'a cursor_
val from_cursor : 'a cursor_ -> 'a set
val at_top : 'a cursor_ -> bool
val at_left : 'a cursor_ -> bool
val at_right : 'a cursor_ -> bool
val move_up : 'a cursor_ -> 'a cursor_
val move_down_left : 'a cursor_ -> 'a cursor_
val move_down_right : 'a cursor_ -> 'a cursor_
val went_left : 'a cursor_ -> bool
val went_right : 'a cursor_ -> bool
val has_value : 'a cursor_ -> bool
val get_value : 'a cursor_ -> 'a elt_
val to_string : 'a set -> string
end
module type MonoSetSigFnStd =
functor (C : Types.Mono.Comparable) ->
sig
type t
type elt = C.t
type cursor
type 'a result = 'a
type 'a elt_ = elt
type 'a set = t
type ('a, 'b) result_ = 'a result
val empty : 'a set
val is_empty : 'a set -> bool
val mem : 'a elt_ -> 'a set -> (bool, 'a) result_
val add : 'a elt_ -> 'a set -> 'a set
val singleton : 'a elt_ -> 'a set
val remove : 'a elt_ -> 'a set -> 'a set
val min_elt : 'a set -> ('a elt_, 'a) result_
val max_elt : 'a set -> ('a elt_, 'a) result_
val choose : 'a set -> ('a elt_, 'a) result_
val cardinal : 'a set -> int
val compare : 'a set -> 'a set -> int
val equal : 'a set -> 'a set -> bool
val iter : ('a elt_ -> unit) -> 'a set -> unit
val fold : ('a -> 'b elt_ -> 'a) -> 'a -> 'b set -> 'a
val union : 'a set -> 'a set -> 'a set
val inter : 'a set -> 'a set -> 'a set
val diff : 'a set -> 'a set -> 'a set
val gen1 :
(?size:int -> Random.State.t -> 'a elt_) ->
?size:int -> Random.State.t -> 'a set
val well_formed : 'a set -> bool
val of_result : ('a, 'b) result_ -> 'a
type 'a cursor_ = cursor
val to_cursor : 'a set -> 'a cursor_
val from_cursor : 'a cursor_ -> 'a set
val at_top : 'a cursor_ -> bool
val at_left : 'a cursor_ -> bool
val at_right : 'a cursor_ -> bool
val move_up : 'a cursor_ -> 'a cursor_
val move_down_left : 'a cursor_ -> 'a cursor_
val move_down_right : 'a cursor_ -> 'a cursor_
val went_left : 'a cursor_ -> bool
val went_right : 'a cursor_ -> bool
val has_value : 'a cursor_ -> bool
val get_value : 'a cursor_ -> 'a elt_
val to_string : 'a set -> string
end
module type GenSetSig =
sig
type t
type elt
type cursor
type 'a result
type 'a elt_ = elt
type 'a set = t
type ('a, 'b) result_ = 'a result
val empty : 'a set
val is_empty : 'a set -> bool
val mem : 'a elt_ -> 'a set -> (bool, 'a) result_
val add : 'a elt_ -> 'a set -> 'a set
val singleton : 'a elt_ -> 'a set
val remove : 'a elt_ -> 'a set -> 'a set
val min_elt : 'a set -> ('a elt_, 'a) result_
val max_elt : 'a set -> ('a elt_, 'a) result_
val choose : 'a set -> ('a elt_, 'a) result_
val cardinal : 'a set -> int
val compare : 'a set -> 'a set -> int
val equal : 'a set -> 'a set -> bool
val iter : ('a elt_ -> unit) -> 'a set -> unit
val fold : ('a -> 'b elt_ -> 'a) -> 'a -> 'b set -> 'a
val union : 'a set -> 'a set -> 'a set
val inter : 'a set -> 'a set -> 'a set
val diff : 'a set -> 'a set -> 'a set
val gen1 :
(?size:int -> Random.State.t -> 'a elt_) ->
?size:int -> Random.State.t -> 'a set
val well_formed : 'a set -> bool
val of_result : ('a, 'b) result_ -> 'a
type 'a cursor_ = cursor
val to_cursor : 'a set -> 'a cursor_
val from_cursor : 'a cursor_ -> 'a set
val at_top : 'a cursor_ -> bool
val at_left : 'a cursor_ -> bool
val at_right : 'a cursor_ -> bool
val move_up : 'a cursor_ -> 'a cursor_
val move_down_left : 'a cursor_ -> 'a cursor_
val move_down_right : 'a cursor_ -> 'a cursor_
val went_left : 'a cursor_ -> bool
val went_right : 'a cursor_ -> bool
val has_value : 'a cursor_ -> bool
val get_value : 'a cursor_ -> 'a elt_
val to_string : 'a set -> string
val gen : ?size:int -> Random.State.t -> t
end
module type GenSetSigFn =
functor (C : Types.Mono.ArbitraryComparable) ->
sig
type t
type elt = C.t
type cursor
type 'a result
type 'a elt_ = elt
type 'a set = t
type ('a, 'b) result_ = 'a result
val empty : 'a set
val is_empty : 'a set -> bool
val mem : 'a elt_ -> 'a set -> (bool, 'a) result_
val add : 'a elt_ -> 'a set -> 'a set
val singleton : 'a elt_ -> 'a set
val remove : 'a elt_ -> 'a set -> 'a set
val min_elt : 'a set -> ('a elt_, 'a) result_
val max_elt : 'a set -> ('a elt_, 'a) result_
val choose : 'a set -> ('a elt_, 'a) result_
val cardinal : 'a set -> int
val compare : 'a set -> 'a set -> int
val equal : 'a set -> 'a set -> bool
val iter : ('a elt_ -> unit) -> 'a set -> unit
val fold : ('a -> 'b elt_ -> 'a) -> 'a -> 'b set -> 'a
val union : 'a set -> 'a set -> 'a set
val inter : 'a set -> 'a set -> 'a set
val diff : 'a set -> 'a set -> 'a set
val gen1 :
(?size:int -> Random.State.t -> 'a elt_) ->
?size:int -> Random.State.t -> 'a set
val well_formed : 'a set -> bool
val of_result : ('a, 'b) result_ -> 'a
type 'a cursor_ = cursor
val to_cursor : 'a set -> 'a cursor_
val from_cursor : 'a cursor_ -> 'a set
val at_top : 'a cursor_ -> bool
val at_left : 'a cursor_ -> bool
val at_right : 'a cursor_ -> bool
val move_up : 'a cursor_ -> 'a cursor_
val move_down_left : 'a cursor_ -> 'a cursor_
val move_down_right : 'a cursor_ -> 'a cursor_
val went_left : 'a cursor_ -> bool
val went_right : 'a cursor_ -> bool
val has_value : 'a cursor_ -> bool
val get_value : 'a cursor_ -> 'a elt_
val to_string : 'a set -> string
val gen : ?size:int -> Random.State.t -> t
end
module type GenSetSigFnStd =
functor (C : Types.Mono.ArbitraryComparable) ->
sig
type t
type elt = C.t
type cursor
type 'a result = 'a
type 'a elt_ = elt
type 'a set = t
type ('a, 'b) result_ = 'a result
val empty : 'a set
val is_empty : 'a set -> bool
val mem : 'a elt_ -> 'a set -> (bool, 'a) result_
val add : 'a elt_ -> 'a set -> 'a set
val singleton : 'a elt_ -> 'a set
val remove : 'a elt_ -> 'a set -> 'a set
val min_elt : 'a set -> ('a elt_, 'a) result_
val max_elt : 'a set -> ('a elt_, 'a) result_
val choose : 'a set -> ('a elt_, 'a) result_
val cardinal : 'a set -> int
val compare : 'a set -> 'a set -> int
val equal : 'a set -> 'a set -> bool
val iter : ('a elt_ -> unit) -> 'a set -> unit
val fold : ('a -> 'b elt_ -> 'a) -> 'a -> 'b set -> 'a
val union : 'a set -> 'a set -> 'a set
val inter : 'a set -> 'a set -> 'a set
val diff : 'a set -> 'a set -> 'a set
val gen1 :
(?size:int -> Random.State.t -> 'a elt_) ->
?size:int -> Random.State.t -> 'a set
val well_formed : 'a set -> bool
val of_result : ('a, 'b) result_ -> 'a
type 'a cursor_ = cursor
val to_cursor : 'a set -> 'a cursor_
val from_cursor : 'a cursor_ -> 'a set
val at_top : 'a cursor_ -> bool
val at_left : 'a cursor_ -> bool
val at_right : 'a cursor_ -> bool
val move_up : 'a cursor_ -> 'a cursor_
val move_down_left : 'a cursor_ -> 'a cursor_
val move_down_right : 'a cursor_ -> 'a cursor_
val went_left : 'a cursor_ -> bool
val went_right : 'a cursor_ -> bool
val has_value : 'a cursor_ -> bool
val get_value : 'a cursor_ -> 'a elt_
val to_string : 'a set -> string
val gen : ?size:int -> Random.State.t -> t
end
module type PolySetSig =
sig
type 'a t
type 'a cursor
type ('a, 'b) result
type 'a elt_ = 'a
type 'a set = 'a t
type ('a, 'b) result_ = ('a, 'b) result
val empty : 'a set
val is_empty : 'a set -> bool
val mem : 'a elt_ -> 'a set -> (bool, 'a) result_
val add : 'a elt_ -> 'a set -> 'a set
val singleton : 'a elt_ -> 'a set
val remove : 'a elt_ -> 'a set -> 'a set
val min_elt : 'a set -> ('a elt_, 'a) result_
val max_elt : 'a set -> ('a elt_, 'a) result_
val choose : 'a set -> ('a elt_, 'a) result_
val cardinal : 'a set -> int
val compare : 'a set -> 'a set -> int
val equal : 'a set -> 'a set -> bool
val iter : ('a elt_ -> unit) -> 'a set -> unit
val fold : ('a -> 'b elt_ -> 'a) -> 'a -> 'b set -> 'a
val union : 'a set -> 'a set -> 'a set
val inter : 'a set -> 'a set -> 'a set
val diff : 'a set -> 'a set -> 'a set
val gen1 :
(?size:int -> Random.State.t -> 'a elt_) ->
?size:int -> Random.State.t -> 'a set
val well_formed : 'a set -> bool
val of_result : ('a, 'b) result_ -> 'a
type 'a cursor_ = 'a cursor
val to_cursor : 'a set -> 'a cursor_
val from_cursor : 'a cursor_ -> 'a set
val at_top : 'a cursor_ -> bool
val at_left : 'a cursor_ -> bool
val at_right : 'a cursor_ -> bool
val move_up : 'a cursor_ -> 'a cursor_
val move_down_left : 'a cursor_ -> 'a cursor_
val move_down_right : 'a cursor_ -> 'a cursor_
val went_left : 'a cursor_ -> bool
val went_right : 'a cursor_ -> bool
val has_value : 'a cursor_ -> bool
val get_value : 'a cursor_ -> 'a elt_
val to_string : ('a -> string) -> 'a set -> string
end
module type PolySetSigStd =
sig
type 'a t
type 'a cursor
type ('a, 'b) result = 'a
type 'a elt_ = 'a
type 'a set = 'a t
type ('a, 'b) result_ = ('a, 'b) result
val empty : 'a set
val is_empty : 'a set -> bool
val mem : 'a elt_ -> 'a set -> (bool, 'a) result_
val add : 'a elt_ -> 'a set -> 'a set
val singleton : 'a elt_ -> 'a set
val remove : 'a elt_ -> 'a set -> 'a set
val min_elt : 'a set -> ('a elt_, 'a) result_
val max_elt : 'a set -> ('a elt_, 'a) result_
val choose : 'a set -> ('a elt_, 'a) result_
val cardinal : 'a set -> int
val compare : 'a set -> 'a set -> int
val equal : 'a set -> 'a set -> bool
val iter : ('a elt_ -> unit) -> 'a set -> unit
val fold : ('a -> 'b elt_ -> 'a) -> 'a -> 'b set -> 'a
val union : 'a set -> 'a set -> 'a set
val inter : 'a set -> 'a set -> 'a set
val diff : 'a set -> 'a set -> 'a set
val gen1 :
(?size:int -> Random.State.t -> 'a elt_) ->
?size:int -> Random.State.t -> 'a set
val well_formed : 'a set -> bool
val of_result : ('a, 'b) result_ -> 'a
type 'a cursor_ = 'a cursor
val to_cursor : 'a set -> 'a cursor_
val from_cursor : 'a cursor_ -> 'a set
val at_top : 'a cursor_ -> bool
val at_left : 'a cursor_ -> bool
val at_right : 'a cursor_ -> bool
val move_up : 'a cursor_ -> 'a cursor_
val move_down_left : 'a cursor_ -> 'a cursor_
val move_down_right : 'a cursor_ -> 'a cursor_
val went_left : 'a cursor_ -> bool
val went_right : 'a cursor_ -> bool
val has_value : 'a cursor_ -> bool
val get_value : 'a cursor_ -> 'a elt_
val to_string : ('a -> string) -> 'a set -> string
end
end