Support for @@deriving compare, equal, sexp on builtin types
include module type of Ppx_compare_lib.Builtin
val compare_bool : bool Base__Ppx_compare_lib.compareval compare_char : char Base__Ppx_compare_lib.compareval compare_float : float Base__Ppx_compare_lib.compareval compare_int : int Base__Ppx_compare_lib.compareval compare_int32 : int32 Base__Ppx_compare_lib.compareval compare_int64 : int64 Base__Ppx_compare_lib.compareval compare_nativeint : nativeint Base__Ppx_compare_lib.compareval compare_string : string Base__Ppx_compare_lib.compareval compare_unit : unit Base__Ppx_compare_lib.compareval compare_array :
'a Base__Ppx_compare_lib.compare ->
'a array Base__Ppx_compare_lib.compareval compare_list :
'a Base__Ppx_compare_lib.compare ->
'a list Base__Ppx_compare_lib.compareval compare_option :
'a Base__Ppx_compare_lib.compare ->
'a option Base__Ppx_compare_lib.compareval compare_ref :
'a Base__Ppx_compare_lib.compare ->
'a Stdlib.ref Base__Ppx_compare_lib.compareval equal_bool : bool Base__Ppx_compare_lib.equalval equal_char : char Base__Ppx_compare_lib.equalval equal_float : float Base__Ppx_compare_lib.equalval equal_int : int Base__Ppx_compare_lib.equalval equal_int32 : int32 Base__Ppx_compare_lib.equalval equal_int64 : int64 Base__Ppx_compare_lib.equalval equal_nativeint : nativeint Base__Ppx_compare_lib.equalval equal_string : string Base__Ppx_compare_lib.equalval equal_unit : unit Base__Ppx_compare_lib.equalval equal_array :
'a Base__Ppx_compare_lib.equal ->
'a array Base__Ppx_compare_lib.equalval equal_list :
'a Base__Ppx_compare_lib.equal ->
'a list Base__Ppx_compare_lib.equalval equal_option :
'a Base__Ppx_compare_lib.equal ->
'a option Base__Ppx_compare_lib.equalval equal_ref :
'a Base__Ppx_compare_lib.equal ->
'a Stdlib.ref Base__Ppx_compare_lib.equalmodule Sexp = Sexplib.Sexpinclude module type of Ppx_sexp_conv_lib.Conv
val default_string_of_float : (float -> string) Stdlib.refval list_map : ('a -> 'b) -> 'a list -> 'b listval sexp_of_unit : unit -> Sexplib0__.Sexp.tval sexp_of_bool : bool -> Sexplib0__.Sexp.tval sexp_of_string : string -> Sexplib0__.Sexp.tval sexp_of_bytes : bytes -> Sexplib0__.Sexp.tval sexp_of_char : char -> Sexplib0__.Sexp.tval sexp_of_int : int -> Sexplib0__.Sexp.tval sexp_of_float : float -> Sexplib0__.Sexp.tval sexp_of_int32 : int32 -> Sexplib0__.Sexp.tval sexp_of_int64 : int64 -> Sexplib0__.Sexp.tval sexp_of_nativeint : nativeint -> Sexplib0__.Sexp.tval sexp_of_ref :
('a -> Sexplib0__.Sexp.t) ->
'a Stdlib.ref ->
Sexplib0__.Sexp.tval sexp_of_lazy_t :
('a -> Sexplib0__.Sexp.t) ->
'a lazy_t ->
Sexplib0__.Sexp.tval sexp_of_option :
('a -> Sexplib0__.Sexp.t) ->
'a option ->
Sexplib0__.Sexp.tval sexp_of_pair :
('a -> Sexplib0__.Sexp.t) ->
('b -> Sexplib0__.Sexp.t) ->
('a * 'b) ->
Sexplib0__.Sexp.tval sexp_of_triple :
('a -> Sexplib0__.Sexp.t) ->
('b -> Sexplib0__.Sexp.t) ->
('c -> Sexplib0__.Sexp.t) ->
('a * 'b * 'c) ->
Sexplib0__.Sexp.tval sexp_of_list : ('a -> Sexplib0__.Sexp.t) -> 'a list -> Sexplib0__.Sexp.tval sexp_of_array : ('a -> Sexplib0__.Sexp.t) -> 'a array -> Sexplib0__.Sexp.tval sexp_of_hashtbl :
('a -> Sexplib0__.Sexp.t) ->
('b -> Sexplib0__.Sexp.t) ->
('a, 'b) Stdlib.Hashtbl.t ->
Sexplib0__.Sexp.tval sexp_of_opaque : 'a -> Sexplib0__.Sexp.tval sexp_of_fun : ('a -> 'b) -> Sexplib0__.Sexp.texception Of_sexp_error of exn * Sexplib0__.Sexp.tval of_sexp_error : string -> Sexplib0__.Sexp.t -> 'aval of_sexp_error_exn : exn -> Sexplib0__.Sexp.t -> 'aval unit_of_sexp : Sexplib0__.Sexp.t -> unitval bool_of_sexp : Sexplib0__.Sexp.t -> boolval string_of_sexp : Sexplib0__.Sexp.t -> stringval bytes_of_sexp : Sexplib0__.Sexp.t -> bytesval char_of_sexp : Sexplib0__.Sexp.t -> charval int_of_sexp : Sexplib0__.Sexp.t -> intval float_of_sexp : Sexplib0__.Sexp.t -> floatval int32_of_sexp : Sexplib0__.Sexp.t -> int32val int64_of_sexp : Sexplib0__.Sexp.t -> int64val nativeint_of_sexp : Sexplib0__.Sexp.t -> nativeintval ref_of_sexp :
(Sexplib0__.Sexp.t -> 'a) ->
Sexplib0__.Sexp.t ->
'a Stdlib.refval lazy_t_of_sexp :
(Sexplib0__.Sexp.t -> 'a) ->
Sexplib0__.Sexp.t ->
'a lazy_tval option_of_sexp :
(Sexplib0__.Sexp.t -> 'a) ->
Sexplib0__.Sexp.t ->
'a optionval pair_of_sexp :
(Sexplib0__.Sexp.t -> 'a) ->
(Sexplib0__.Sexp.t -> 'b) ->
Sexplib0__.Sexp.t ->
'a * 'bval triple_of_sexp :
(Sexplib0__.Sexp.t -> 'a) ->
(Sexplib0__.Sexp.t -> 'b) ->
(Sexplib0__.Sexp.t -> 'c) ->
Sexplib0__.Sexp.t ->
'a * 'b * 'cval list_of_sexp : (Sexplib0__.Sexp.t -> 'a) -> Sexplib0__.Sexp.t -> 'a listval array_of_sexp : (Sexplib0__.Sexp.t -> 'a) -> Sexplib0__.Sexp.t -> 'a arrayval hashtbl_of_sexp :
(Sexplib0__.Sexp.t -> 'a) ->
(Sexplib0__.Sexp.t -> 'b) ->
Sexplib0__.Sexp.t ->
('a, 'b) Stdlib.Hashtbl.tval opaque_of_sexp : Sexplib0__.Sexp.t -> 'aval fun_of_sexp : Sexplib0__.Sexp.t -> 'aval sexp_grammar_with_tag_list :
'a Sexplib0__.Sexp_grammar.with_tag_list ->
tags:(string * Sexplib0__.Sexp.t) list ->
'a Sexplib0__.Sexp_grammar.with_tag_listval unit_sexp_grammar : unit Sexplib0__.Sexp_grammar.tval bool_sexp_grammar : bool Sexplib0__.Sexp_grammar.tval string_sexp_grammar : string Sexplib0__.Sexp_grammar.tval bytes_sexp_grammar : bytes Sexplib0__.Sexp_grammar.tval char_sexp_grammar : char Sexplib0__.Sexp_grammar.tval int_sexp_grammar : int Sexplib0__.Sexp_grammar.tval float_sexp_grammar : float Sexplib0__.Sexp_grammar.tval int32_sexp_grammar : int32 Sexplib0__.Sexp_grammar.tval int64_sexp_grammar : int64 Sexplib0__.Sexp_grammar.tval nativeint_sexp_grammar : nativeint Sexplib0__.Sexp_grammar.tval sexp_t_sexp_grammar : Sexplib0__.Sexp.t Sexplib0__.Sexp_grammar.tval ref_sexp_grammar :
'a Sexplib0__.Sexp_grammar.t ->
'a Stdlib.ref Sexplib0__.Sexp_grammar.tval lazy_t_sexp_grammar :
'a Sexplib0__.Sexp_grammar.t ->
'a lazy_t Sexplib0__.Sexp_grammar.tval option_sexp_grammar :
'a Sexplib0__.Sexp_grammar.t ->
'a option Sexplib0__.Sexp_grammar.tval list_sexp_grammar :
'a Sexplib0__.Sexp_grammar.t ->
'a list Sexplib0__.Sexp_grammar.tval array_sexp_grammar :
'a Sexplib0__.Sexp_grammar.t ->
'a array Sexplib0__.Sexp_grammar.tval opaque_sexp_grammar : 'a Sexplib0__.Sexp_grammar.tval fun_sexp_grammar : 'a Sexplib0__.Sexp_grammar.tval sexp_of_exn : exn -> Sexplib0__.Sexp.tval printexc_prefer_sexp : exn -> stringval sexp_of_exn_opt : exn -> Sexplib0__.Sexp.t optionComparison
val min : int -> int -> intval max : int -> int -> intval (=) : int -> int -> boolval (<>) : int -> int -> boolval (<) : int -> int -> boolval (>) : int -> int -> boolval (<=) : int -> int -> boolval (>=) : int -> int -> boolval compare : int -> int -> intval equal : int -> int -> boolmodule Poly : sig ... endPolymorphic comparison and hashing
Function combinators
val let@ : ('a -> 'b) -> 'a -> 'blet@ x = e in b is equivalent to e @@ fun x -> b, that is, e (fun x -> b)
val (>>) : ('a -> 'b) -> ('b -> 'c) -> 'a -> 'cComposition of functions: (f >> g) x is exactly equivalent to g (f (x)). Left associative.
val (<<) : ('b -> 'c) -> ('a -> 'b) -> 'a -> 'cReverse composition of functions: (g << f) x is exactly equivalent to g (f (x)). Left associative.
val ($) : ('a -> unit) -> ('a -> 'b) -> 'a -> 'bSequential composition of functions: (f $ g) x is exactly equivalent to (f x) ; (g x). Left associative.
val ($>) : 'a -> ('a -> unit) -> 'aReverse apply and ignore function: x $> f is exactly equivalent to f x ; x. Left associative.
val (<$) : ('a -> unit) -> 'a -> 'aApply and ignore function: f <$ x is exactly equivalent to f x ; x. Left associative.
Tuple operations
val fst3 : ('a * _ * _) -> 'aFirst projection from a triple.
val snd3 : (_ * 'b * _) -> 'bSecond projection from a triple.
val trd3 : (_ * _ * 'c) -> 'cThird projection from a triple.
Map-and-construct operations that preserve physical equality
val map1 : ('a -> 'a) -> 'b -> ('a -> 'b) -> 'a -> 'bval map2 : ('a -> 'a) -> 'b -> ('a -> 'a -> 'b) -> 'a -> 'a -> 'bval map3 : ('a -> 'a) -> 'b -> ('a -> 'a -> 'a -> 'b) -> 'a -> 'a -> 'a -> 'bval map4 :
('a -> 'a) ->
'b ->
('a -> 'a -> 'a -> 'a -> 'b) ->
'a ->
'a ->
'a ->
'a ->
'bval mapN : ('a -> 'a) -> 'b -> ('a array -> 'b) -> 'a array -> 'bval fold_map_from_map :
('a -> f:('b -> 'c) -> 'd) ->
'a ->
's ->
f:('b -> 's -> 'c * 's) ->
'd * 'sPretty-printing
type 'a pp = Stdlib.Format.formatter -> 'a -> unitPretty-printer for argument type.
type ('a, 'b) fmt = ('a, Stdlib.Format.formatter, unit, 'b) Stdlib.format4Monadic syntax
Monads
module Monad : sig ... endData types
module Sign : sig ... endmodule Char = Containers.Charmodule Float : sig ... endIterators
module Iter : sig ... endinclude module type of Iter.Import
type +'a iter = ('a -> unit) -> unitContainers
Singleton types for compare functions
include module type of Option.Import
val (|>=) : 'a option -> ('a -> 'b) -> 'b optionval (>>=) : 'a option -> ('a -> 'b option) -> 'b optionval let* : 'a option -> ('a -> 'b option) -> 'b optionval and* : 'a option -> 'b option -> ('a * 'b) optionval let+ : 'a option -> ('a -> 'b) -> 'b optionval and+ : 'a option -> 'b option -> ('a * 'b) optiontype 'a zero_one_many = | Zero| One of 'a| Many
type ('a, 'b) zero_one_many2 = | Zero2| One2 of 'a * 'b| Many2
module Pair = Containers.Pairmodule List : sig ... endmodule Array : sig ... endIArray - Immutable view of an array
include module type of IArray.Import
val compare_iarray : ('a -> 'a -> int) -> 'a iarray -> 'a iarray -> intval equal_iarray : ('a -> 'a -> bool) -> 'a iarray -> 'a iarray -> boolval sexp_of_iarray : ('a -> Sexplib0.Sexp.t) -> 'a iarray -> Sexplib0.Sexp.tval iarray_of_sexp : (Sexplib0.Sexp.t -> 'a) -> Sexplib0.Sexp.t -> 'a iarrayMultiset - Set with multiplicity for each element
module Bijection = CCBijectionmodule HashQueue = Core.Hash_queueSystem interfaces
module Timer : sig ... endTimers for runtime statistics
Failures
exception Replay of exn * Sexp.texception Unimplemented of stringval fail : ('a, unit -> _) fmt -> 'aEmit a message at the current indentation level, and raise a Failure exception indicating a fatal error.
val todo : ('a, unit -> _) fmt -> 'aRaise an Unimplemented exception indicating that an input is valid but not handled by the current implementation.
val warn : ('a, unit -> unit) fmt -> 'aIssue a warning for a survivable problem.
Assertions
val assertf : bool -> ('a, unit -> unit) fmt -> 'aRaise an Failure exception if the bool argument is false, indicating that the expected condition was not satisfied.
val checkf : bool -> ('a, unit -> bool) fmt -> 'aAs assertf but returns the argument bool.
val check : ('a -> unit) -> 'a -> 'aAssert that function does not raise on argument, and return argument.
val violates : ('a -> unit) -> 'a -> _Assert that function raises on argument.
val register_sexp_of_exn : exn -> (exn -> Sexp.t) -> unitRegister a function to convert exceptions with the same constructor as the given one to sexps.