package mopsa

  1. Overview
  2. Docs
Legend:
Library
Module
Module type
Parameter
Class
Class type

Sets with polymorphic values

type 'a set =
  1. | Empty
  2. | Node of {
    1. l : 'a set;
    2. v : 'a;
    3. r : 'a set;
    4. h : int;
    }
type 'a compare = 'a -> 'a -> int
type 'a t = {
  1. set : 'a set;
  2. compare : 'a compare;
}
type set_printer = {
  1. print_empty : string;
    (*

    Special text for empty sets

    *)
  2. print_begin : string;
    (*

    Text before the first element

    *)
  3. print_sep : string;
    (*

    Text between two elements

    *)
  4. print_end : string;
    (*

    Text after the last element

    *)
}
val height : 'a set -> int
val create : 'a set -> 'b -> 'c set -> 'd set
val bal : 'a set -> 'b -> 'c set -> 'd set
val add_min_element : 'a -> 'b set -> 'c set
val add_max_element : 'a -> 'b set -> 'c set
val join : 'a set -> 'b -> 'a set -> 'c set
val remove_min_elt : 'a set -> 'b set
val merge : 'a set -> 'a set -> 'a set
val concat : 'a set -> 'a set -> 'a set
type 'a enumeration =
  1. | End
  2. | More of 'a * 'a set * 'a enumeration
val cons_enum : 'a set -> 'b enumeration -> 'b enumeration
val elements_aux : 'a list -> 'b set -> 'a list
val find_first_aux : 'a -> ('b -> bool) -> 'c set -> 'd
val find_first_opt_aux : 'a -> ('b -> bool) -> 'c set -> 'd option
val find_last_aux : 'a -> ('b -> bool) -> 'c set -> 'd
val find_last_opt_aux : 'a -> ('b -> bool) -> 'c set -> 'd option
val try_join : ('a -> 'a -> int) -> 'b set -> 'c -> 'a set -> 'b set
val of_sorted_list : 'a list -> 'a set
val cut : ('a -> 'b -> int) -> 'c -> 'd set -> 'e set * bool * 'f set
val iter2 : ('a -> 'b -> int) -> ('c -> 'd) -> ('e -> 'f) -> ('g -> 'h) -> 'i set -> 'b set -> unit
val fold2 : ('a -> 'b -> int) -> ('c -> 'd -> 'e) -> ('f -> 'g -> 'g) -> ('h -> 'i -> 'j) -> 'k set -> 'b set -> 'l -> 'm
val for_all2 : ('a -> 'b -> int) -> ('c -> bool) -> ('d -> bool) -> ('e -> bool) -> 'f set -> 'b set -> bool
val exists2 : ('a -> 'b -> int) -> ('c -> bool) -> ('d -> bool) -> ('e -> bool) -> 'f set -> 'b set -> bool
val iter2_diff : ('a -> 'b -> int) -> ('c -> unit) -> ('d -> 'e) -> 'b set -> 'b set -> unit
val fold2_diff : ('a -> 'b -> int) -> ('c -> 'd -> 'e) -> ('f -> 'g -> 'g) -> 'b set -> 'b set -> 'h -> 'i
val for_all2_diff : ('a -> 'b -> int) -> ('c -> bool) -> ('d -> bool) -> 'b set -> 'b set -> bool
val exists2_diff : ('a -> 'b -> int) -> ('c -> bool) -> ('d -> bool) -> 'b set -> 'b set -> bool
val diff_list : ('a -> 'a -> int) -> 'a set -> 'a set -> 'b list
val sym_diff_list : ('a -> 'a -> int) -> 'a set -> 'a set -> 'b list * 'c list
val add_sym_diff : ('a -> 'b -> int) -> 'c set -> ('d list * 'e list) -> 'c set
val iter_slice : ('a -> 'b -> int) -> ('c -> unit) -> 'd set -> 'e -> 'f -> unit
val fold_slice : ('a -> 'b -> int) -> ('c -> 'd -> 'e) -> 'f set -> 'g -> 'h -> 'i -> 'j
val for_all_slice : ('a -> 'b -> int) -> ('c -> bool) -> 'd set -> 'e -> 'f -> bool
val exists_slice : ('a -> 'b -> int) -> ('c -> bool) -> 'd set -> 'e -> 'f -> bool
val print_gen : ('a -> string -> unit) -> set_printer -> ('b -> 'c -> 'd) -> 'e -> 'f set -> unit
val print : set_printer -> (out_channel -> 'a -> 'b) -> out_channel -> 'a set -> unit
val bprint : set_printer -> (Buffer.t -> 'a -> 'b) -> Buffer.t -> 'a set -> unit
val fprint : set_printer -> (Format.formatter -> 'a -> 'b) -> Format.formatter -> 'a set -> unit
val to_string : set_printer -> ('a -> string) -> 'b set -> string
val printer_default : set_printer

MOPSA Print as set: lem1,...,elemn

val empty : 'a compare -> 'b t
val is_empty : 'a t -> bool
val mem : 'a -> 'b t -> bool
val add : 'a -> 'b t -> 'b t
val singleton : 'a compare -> 'b -> 'c t
val remove : 'a -> 'b t -> 'b t
val union : 'a t -> 'b t -> 'c t
val inter : 'a t -> 'b t -> 'c t
val diff : 'a t -> 'b t -> 'c t
val compare : 'a t -> 'b t -> int
val equal : 'a t -> 'b t -> bool
val subset : 'a t -> 'b t -> bool
val iter : ('a -> 'b) -> 'c t -> unit
val map : ('a -> 'a) -> 'b t -> 'c t
val fold : ('a -> 'b -> 'b) -> 'c t -> 'd -> 'e
val for_all : ('a -> bool) -> 'b t -> bool
val exists : ('a -> bool) -> 'b t -> bool
val filter : ('a -> bool) -> 'b t -> 'c t
val partition : ('a -> bool) -> 'b t -> 'c t * 'd t
val cardinal : 'a t -> int
val elements : 'a t -> 'b list
val min_elt : 'a t -> 'b
val min_elt_opt : 'a t -> 'b option
val max_elt : 'a t -> 'b
val max_elt_opt : 'a t -> 'b option
val choose : 'a t -> 'b
val choose_opt : 'a t -> 'b option
val split : 'a -> 'b t -> 'c t * bool * 'd t
val find : 'a -> 'b t -> 'c
val find_opt : 'a -> 'b t -> 'c option
val find_first : ('a -> bool) -> 'b t -> 'c
val find_first_opt : ('a -> bool) -> 'b t -> 'a option
val find_last : ('a -> bool) -> 'b t -> 'c
val find_last_opt : ('a -> bool) -> 'b t -> 'a option
val of_list : 'a compare -> 'b list -> 'c t
OCaml

Innovation. Community. Security.