Up

Module type S_binable

Signature

module Raw : sig .. end
type 'base t = ('base, Set.t) Raw.t
val __bin_read_t__ : 'base Core.Std.Bin_prot.Read.reader -> (int -> 'base t) Core.Std.Bin_prot.Read.reader
val t_of_sexp : (Sexplib.Sexp.t -> 'base) -> Sexplib.Sexp.t -> 'base t
val sexp_of_t : ('base -> Sexplib.Sexp.t) -> 'base t -> Sexplib.Sexp.t
val compare : ('base -> 'base -> int) -> 'base t -> 'base t -> int
include S_lang with type 'base t := 'base t with type set := Set.t
type set
type 'base t
val base : 'base -> 'base t
val set : set -> _ t
val inter2 : 'b t -> 'b t -> 'b t
val union2 : 'b t -> 'b t -> 'b t
val diff : 'b t -> 'b t -> 'b t
val union : 'b t list -> 'b t
val inter : 'b t * 'b t list -> 'b t
val inter_list : 'b t list -> 'b t Core.Std.Or_error.t
val inter_list_exn : 'b t list -> 'b t
val values : 'base t -> 'base list
val constant_value : _ t -> set option
include S_eval with type 'base t := 'base t with type set := set with type 'a result := 'a value
type 'base t
type set
type 'a result
val subst : 'b1 t -> f:('b1 -> 'b2 t result) -> 'b2 t result
val map : 'b1 t -> f:('b1 -> 'b2 result) -> 'b2 t result
val specialize : 'b t -> f:('b -> set option result) -> 'b t result
val eval : 'b t -> f:('b -> set result) -> set result
module Make_monadic_eval (M : Core.Std.Monad.S) : S_eval with type 'base t := 'base t with type set := set with type 'a result := 'a M.t