include Base__.Import0
include module type of sig ... end with type a ref := a Pervasives.ref with type (a, b, c) format := (a, b, c) Pervasives.format with type (a, b, c, d) format4 := (a, b, c, d) Pervasives.format4 with type (a, b, c, d, e, f) format6 := (a, b, c, d, e, f) Pervasives.format6 with module Pervasives := Pervasives with module Array := Caml.Array with module Buffer := Caml.Buffer with module Bytes := Caml.Bytes with module Char := Caml.Char with module Hashtbl := Caml.Hashtbl with module Int32 := Caml.Int32 with module Int64 := Caml.Int64 with module Lazy := Caml.Lazy with module List := Caml.List with module Map := Caml.Map with module Nativeint := Caml.Nativeint with module Printf := Caml.Printf with module Queue := Caml.Queue with module Random := Caml.Random with module Set := Caml.Set with module String := Caml.String with module Sys := Caml.Sys with module Uchar := Caml.Uchar
external raise : exn ‑> 'a = "%raise"
external raise_notrace : exn ‑> 'a = "%raise_notrace"
val invalid_arg : string ‑> 'a
val failwith : string ‑> 'a
exception
Exit
external (=) : 'a ‑> 'a ‑> bool = "%equal"
external (<>) : 'a ‑> 'a ‑> bool = "%notequal"
external (<) : 'a ‑> 'a ‑> bool = "%lessthan"
external (>) : 'a ‑> 'a ‑> bool = "%greaterthan"
external (<=) : 'a ‑> 'a ‑> bool = "%lessequal"
external (>=) : 'a ‑> 'a ‑> bool = "%greaterequal"
external compare : 'a ‑> 'a ‑> int = "%compare"
val min : 'a ‑> 'a ‑> 'a
val max : 'a ‑> 'a ‑> 'a
external (==) : 'a ‑> 'a ‑> bool = "%eq"
external (!=) : 'a ‑> 'a ‑> bool = "%noteq"
external not : bool ‑> bool = "%boolnot"
external (&&) : bool ‑> bool ‑> bool = "%sequand"
external (&) : bool ‑> bool ‑> bool = "%sequand"
external (||) : bool ‑> bool ‑> bool = "%sequor"
external or : bool ‑> bool ‑> bool = "%sequor"
external __LOC__ : string = "%loc_LOC"
external __FILE__ : string = "%loc_FILE"
external __LINE__ : int = "%loc_LINE"
external __MODULE__ : string = "%loc_MODULE"
external __POS__ : string * int * int * int = "%loc_POS"
external __LOC_OF__ : 'a ‑> string * 'a = "%loc_LOC"
external __LINE_OF__ : 'a ‑> int * 'a = "%loc_LINE"
external __POS_OF__ : 'a ‑> (string * int * int * int) * 'a = "%loc_POS"
external (|>) : 'a ‑> ('a ‑> 'b) ‑> 'b = "%revapply"
external (@@) : ('a ‑> 'b) ‑> 'a ‑> 'b = "%apply"
external (~-) : int ‑> int = "%negint"
external (~+) : int ‑> int = "%identity"
external succ : int ‑> int = "%succint"
external pred : int ‑> int = "%predint"
external (+) : int ‑> int ‑> int = "%addint"
external (-) : int ‑> int ‑> int = "%subint"
external (*) : int ‑> int ‑> int = "%mulint"
external (/) : int ‑> int ‑> int = "%divint"
external (mod) : int ‑> int ‑> int = "%modint"
val abs : int ‑> int
val max_int : int
val min_int : int
external (land) : int ‑> int ‑> int = "%andint"
external (lor) : int ‑> int ‑> int = "%orint"
external (lxor) : int ‑> int ‑> int = "%xorint"
val (lnot) : int ‑> int
external (lsl) : int ‑> int ‑> int = "%lslint"
external (lsr) : int ‑> int ‑> int = "%lsrint"
external (asr) : int ‑> int ‑> int = "%asrint"
external (~-.) : float ‑> float = "%negfloat"
external (~+.) : float ‑> float = "%identity"
external (+.) : float ‑> float ‑> float = "%addfloat"
external (-.) : float ‑> float ‑> float = "%subfloat"
external (*.) : float ‑> float ‑> float = "%mulfloat"
external (/.) : float ‑> float ‑> float = "%divfloat"
external (**) : float ‑> float ‑> float = "caml_power_float" "pow"
external sqrt : float ‑> float = "caml_sqrt_float" "sqrt"
external exp : float ‑> float = "caml_exp_float" "exp"
external log : float ‑> float = "caml_log_float" "log"
external log10 : float ‑> float = "caml_log10_float" "log10"
external expm1 : float ‑> float = "caml_expm1_float" "caml_expm1"
external log1p : float ‑> float = "caml_log1p_float" "caml_log1p"
external cos : float ‑> float = "caml_cos_float" "cos"
external sin : float ‑> float = "caml_sin_float" "sin"
external tan : float ‑> float = "caml_tan_float" "tan"
external acos : float ‑> float = "caml_acos_float" "acos"
external asin : float ‑> float = "caml_asin_float" "asin"
external atan : float ‑> float = "caml_atan_float" "atan"
external atan2 : float ‑> float ‑> float = "caml_atan2_float" "atan2"
external hypot : float ‑> float ‑> float = "caml_hypot_float" "caml_hypot"
external cosh : float ‑> float = "caml_cosh_float" "cosh"
external sinh : float ‑> float = "caml_sinh_float" "sinh"
external tanh : float ‑> float = "caml_tanh_float" "tanh"
external ceil : float ‑> float = "caml_ceil_float" "ceil"
external floor : float ‑> float = "caml_floor_float" "floor"
external abs_float : float ‑> float = "%absfloat"
external copysign : float ‑> float ‑> float = "caml_copysign_float" "caml_copysign"
external mod_float : float ‑> float ‑> float = "caml_fmod_float" "fmod"
external frexp : float ‑> float * int = "caml_frexp_float"
external ldexp : float ‑> int ‑> float = "caml_ldexp_float" "caml_ldexp_float_unboxed"
external modf : float ‑> float * float = "caml_modf_float"
external float : int ‑> float = "%floatofint"
external float_of_int : int ‑> float = "%floatofint"
external truncate : float ‑> int = "%intoffloat"
external int_of_float : float ‑> int = "%intoffloat"
val infinity : float
val neg_infinity : float
val nan : float
val max_float : float
val min_float : float
val epsilon_float : float
external classify_float : float ‑> fpclass = "caml_classify_float" "caml_classify_float_unboxed"
val (^) : string ‑> string ‑> string
external int_of_char : char ‑> int = "%identity"
val char_of_int : int ‑> char
external ignore : 'a ‑> unit = "%ignore"
val string_of_bool : bool ‑> string
val bool_of_string : string ‑> bool
val bool_of_string_opt : string ‑> bool option
val string_of_int : int ‑> string
external int_of_string : string ‑> int = "caml_int_of_string"
val int_of_string_opt : string ‑> int option
val string_of_float : float ‑> string
external float_of_string : string ‑> float = "caml_float_of_string"
val float_of_string_opt : string ‑> float option
external fst : ('a * 'b) ‑> 'a = "%field0"
external snd : ('a * 'b) ‑> 'b = "%field1"
val (@) : 'a list ‑> 'a list ‑> 'a list
type in_channel
= Pervasives.in_channel
type out_channel
= Pervasives.out_channel
val stdin : in_channel
val stdout : out_channel
val stderr : out_channel
val print_char : char ‑> unit
val print_string : string ‑> unit
val print_bytes : bytes ‑> unit
val print_endline : string ‑> unit
val prerr_char : char ‑> unit
val prerr_string : string ‑> unit
val prerr_bytes : bytes ‑> unit
val prerr_endline : string ‑> unit
val read_line : unit ‑> string
val read_int : unit ‑> int
val read_int_opt : unit ‑> int option
val read_float : unit ‑> float
val read_float_opt : unit ‑> float option
type open_flag
= Pervasives.open_flag
=
| Open_rdonly |
| Open_wronly |
| Open_append |
| Open_creat |
| Open_trunc |
| Open_excl |
| Open_binary |
| Open_text |
| Open_nonblock |
val open_out : string ‑> out_channel
val open_out_bin : string ‑> out_channel
val open_out_gen : open_flag list ‑> int ‑> string ‑> out_channel
val flush : out_channel ‑> unit
val flush_all : unit ‑> unit
val output_char : out_channel ‑> char ‑> unit
val output_string : out_channel ‑> string ‑> unit
val output_bytes : out_channel ‑> bytes ‑> unit
val output : out_channel ‑> bytes ‑> int ‑> int ‑> unit
val output_substring : out_channel ‑> string ‑> int ‑> int ‑> unit
val output_byte : out_channel ‑> int ‑> unit
val output_binary_int : out_channel ‑> int ‑> unit
val output_value : out_channel ‑> 'a ‑> unit
val seek_out : out_channel ‑> int ‑> unit
val pos_out : out_channel ‑> int
val out_channel_length : out_channel ‑> int
val close_out : out_channel ‑> unit
val close_out_noerr : out_channel ‑> unit
val set_binary_mode_out : out_channel ‑> bool ‑> unit
val open_in : string ‑> in_channel
val open_in_bin : string ‑> in_channel
val open_in_gen : open_flag list ‑> int ‑> string ‑> in_channel
val input_char : in_channel ‑> char
val input_line : in_channel ‑> string
val input : in_channel ‑> bytes ‑> int ‑> int ‑> int
val really_input : in_channel ‑> bytes ‑> int ‑> int ‑> unit
val really_input_string : in_channel ‑> int ‑> string
val input_byte : in_channel ‑> int
val input_binary_int : in_channel ‑> int
val input_value : in_channel ‑> 'a
val seek_in : in_channel ‑> int ‑> unit
val pos_in : in_channel ‑> int
val in_channel_length : in_channel ‑> int
val close_in : in_channel ‑> unit
val close_in_noerr : in_channel ‑> unit
val set_binary_mode_in : in_channel ‑> bool ‑> unit
external ref : 'a ‑> 'a ref = "%makemutable"
external (!) : 'a ref ‑> 'a = "%field0"
external (:=) : 'a ref ‑> 'a ‑> unit = "%setfield0"
external incr : int ref ‑> unit = "%incr"
external decr : int ref ‑> unit = "%decr"
type ('a, 'b, 'c, 'd, 'e, 'f) format6
= ('a, 'b, 'c, 'd, 'e, 'f) CamlinternalFormatBasics.format6
val string_of_format : ('a, 'b, 'c, 'd, 'e, 'f) format6 ‑> string
external format_of_string : ('a, 'b, 'c, 'd, 'e, 'f) format6 ‑> ('a, 'b, 'c, 'd, 'e, 'f) format6 = "%identity"
val (^^) : ('a, 'b, 'c, 'd, 'e, 'f) format6 ‑> ('f, 'b, 'c, 'e, 'g, 'h) format6 ‑> ('a, 'b, 'c, 'd, 'g, 'h) format6
val exit : int ‑> 'a
val at_exit : (unit ‑> unit) ‑> unit
val valid_float_lexem : string ‑> string
val unsafe_really_input : in_channel ‑> bytes ‑> int ‑> int ‑> unit
val do_at_exit : unit ‑> unit
exception
Not_found
module Caml = Base__.Import0.Caml
module Polymorphic_compare = Base__.Import0.Polymorphic_compare
module Poly = Polymorphic_compare
module Int_replace_polymorphic_compare = Base__.Import0.Int_replace_polymorphic_compare
include Int_replace_polymorphic_compare
module Int64_replace_polymorphic_compare = Base__.Import0.Int64_replace_polymorphic_compare
module Nativeint_replace_polymorphic_compare = Base__.Import0.Nativeint_replace_polymorphic_compare
module Bool_replace_polymorphic_compare = Base__.Import0.Bool_replace_polymorphic_compare
module Char_replace_polymorphic_compare = Base__.Import0.Char_replace_polymorphic_compare
module Uchar_replace_polymorphic_compare = Base__.Import0.Uchar_replace_polymorphic_compare
module Float_replace_polymorphic_compare = Base__.Import0.Float_replace_polymorphic_compare
module String_replace_polymorphic_compare = Base__.Import0.String_replace_polymorphic_compare
module Bytes_replace_polymorphic_compare = Base__.Import0.Bytes_replace_polymorphic_compare
external (:=) : 'a ref ‑> 'a ‑> unit = "%setfield0"
external (!) : 'a ref ‑> 'a = "%field0"
external ref : 'a ‑> 'a ref = "%makemutable"
val decr : int Caml.ref ‑> unit
val incr : int Caml.ref ‑> unit
include Sexplib0.Sexp_conv
Utility Module for S-expression Conversions
val default_string_of_float : (float ‑> string) Pervasives.ref
default_string_of_float
reference to the default function used
to convert floats to strings.
Initially set to fun n -> sprintf "%.20G" n
.
val write_old_option_format : bool Pervasives.ref
write_old_option_format
reference for the default option format
used to write option values. If set to true
, the old-style option
format will be used, the new-style one otherwise.
Initially set to true
.
val read_old_option_format : bool Pervasives.ref
read_old_option_format
reference for the default option format
used to read option values. Of_sexp_error
will be raised
with old-style option values if this reference is set to false
.
Reading new-style option values is always supported. Using a global
reference instead of changing the converter calling conventions is
the only way to avoid breaking old code with the standard macros.
Initially set to true
.
val list_map : ('a ‑> 'b) ‑> 'a list ‑> 'b list
We re-export a tail recursive map function, because some modules
override the standard library functions (e.g. StdLabels
) which
wrecks havoc with the camlp4 extension.
val sexp_of_unit : unit ‑> Sexplib0.Sexp.t
sexp_of_unit ()
converts a value of type unit
to an S-expression.
val sexp_of_bool : bool ‑> Sexplib0.Sexp.t
sexp_of_bool b
converts the value x
of type bool
to an
S-expression.
val sexp_of_string : string ‑> Sexplib0.Sexp.t
sexp_of_bool str
converts the value str
of type string
to an
S-expression.
val sexp_of_bytes : bytes ‑> Sexplib0.Sexp.t
sexp_of_bool str
converts the value str
of type bytes
to an
S-expression.
val sexp_of_char : char ‑> Sexplib0.Sexp.t
sexp_of_char c
converts the value c
of type char
to an
S-expression.
val sexp_of_int : int ‑> Sexplib0.Sexp.t
sexp_of_int n
converts the value n
of type int
to an
S-expression.
val sexp_of_float : float ‑> Sexplib0.Sexp.t
sexp_of_float n
converts the value n
of type float
to an
S-expression.
val sexp_of_int32 : int32 ‑> Sexplib0.Sexp.t
sexp_of_int32 n
converts the value n
of type int32
to an
S-expression.
val sexp_of_int64 : int64 ‑> Sexplib0.Sexp.t
sexp_of_int64 n
converts the value n
of type int64
to an
S-expression.
val sexp_of_nativeint : nativeint ‑> Sexplib0.Sexp.t
sexp_of_nativeint n
converts the value n
of type nativeint
to an
S-expression.
val sexp_of_ref : ('a ‑> Sexplib0.Sexp.t) ‑> 'a Pervasives.ref ‑> Sexplib0.Sexp.t
sexp_of_ref conv r
converts the value r
of type 'a ref
to
an S-expression. Uses conv
to convert values of type 'a
to an
S-expression.
val sexp_of_lazy_t : ('a ‑> Sexplib0.Sexp.t) ‑> 'a lazy_t ‑> Sexplib0.Sexp.t
sexp_of_lazy_t conv l
converts the value l
of type 'a lazy_t
to
an S-expression. Uses conv
to convert values of type 'a
to an
S-expression.
val sexp_of_option : ('a ‑> Sexplib0.Sexp.t) ‑> 'a option ‑> Sexplib0.Sexp.t
sexp_of_option conv opt
converts the value opt
of type 'a
option
to an S-expression. Uses conv
to convert values of type
'a
to an S-expression.
val sexp_of_pair : ('a ‑> Sexplib0.Sexp.t) ‑> ('b ‑> Sexplib0.Sexp.t) ‑> ('a * 'b) ‑> Sexplib0.Sexp.t
sexp_of_pair conv1 conv2 pair
converts a pair to an S-expression.
It uses its first argument to convert the first element of the pair,
and its second argument to convert the second element of the pair.
val sexp_of_triple : ('a ‑> Sexplib0.Sexp.t) ‑> ('b ‑> Sexplib0.Sexp.t) ‑> ('c ‑> Sexplib0.Sexp.t) ‑> ('a * 'b * 'c) ‑> Sexplib0.Sexp.t
sexp_of_triple conv1 conv2 conv3 triple
converts a triple to
an S-expression using conv1
, conv2
, and conv3
to convert its
elements.
val sexp_of_list : ('a ‑> Sexplib0.Sexp.t) ‑> 'a list ‑> Sexplib0.Sexp.t
sexp_of_list conv lst
converts the value lst
of type 'a
list
to an S-expression. Uses conv
to convert values of type
'a
to an S-expression.
val sexp_of_array : ('a ‑> Sexplib0.Sexp.t) ‑> 'a array ‑> Sexplib0.Sexp.t
sexp_of_array conv ar
converts the value ar
of type 'a
array
to an S-expression. Uses conv
to convert values of type
'a
to an S-expression.
val sexp_of_hashtbl : ('a ‑> Sexplib0.Sexp.t) ‑> ('b ‑> Sexplib0.Sexp.t) ‑> ('a, 'b) Hashtbl.t ‑> Sexplib0.Sexp.t
sexp_of_hashtbl conv_key conv_value htbl
converts the value htbl
of type ('a, 'b) Hashtbl.t
to an S-expression. Uses conv_key
to convert the hashtable keys of type 'a
, and conv_value
to
convert hashtable values of type 'b
to S-expressions.
val sexp_of_opaque : 'a ‑> Sexplib0.Sexp.t
sexp_of_opaque x
converts the value x
of opaque type to an
S-expression. This means the user need not provide converters,
but the result cannot be interpreted.
val sexp_of_fun : ('a ‑> 'b) ‑> Sexplib0.Sexp.t
sexp_of_fun f
converts the value f
of function type to a
dummy S-expression. Functions cannot be serialized as S-expressions,
but at least a placeholder can be generated for pretty-printing.
exception
Of_sexp_error of exn * Sexplib0.Sexp.t
Of_sexp_error (exn, sexp)
the exception raised when an S-expression
could not be successfully converted to an OCaml-value.
val record_check_extra_fields : bool Pervasives.ref
record_check_extra_fields
checks for extra (= unknown) fields
in record S-expressions.
val of_sexp_error : string ‑> Sexplib0.Sexp.t ‑> 'a
of_sexp_error reason sexp
raises Of_sexp_error (Failure reason, sexp)
.
val of_sexp_error_exn : exn ‑> Sexplib0.Sexp.t ‑> 'a
of_sexp_error exc sexp
raises Of_sexp_error (exc, sexp).
val unit_of_sexp : Sexplib0.Sexp.t ‑> unit
unit_of_sexp sexp
converts S-expression sexp
to a value of type
unit
.
val bool_of_sexp : Sexplib0.Sexp.t ‑> bool
bool_of_sexp sexp
converts S-expression sexp
to a value of type
bool
.
val string_of_sexp : Sexplib0.Sexp.t ‑> string
string_of_sexp sexp
converts S-expression sexp
to a value of type
string
.
val bytes_of_sexp : Sexplib0.Sexp.t ‑> bytes
bytes_of_sexp sexp
converts S-expression sexp
to a value of type
bytes
.
val char_of_sexp : Sexplib0.Sexp.t ‑> char
char_of_sexp sexp
converts S-expression sexp
to a value of type
char
.
val int_of_sexp : Sexplib0.Sexp.t ‑> int
int_of_sexp sexp
converts S-expression sexp
to a value of type
int
.
val float_of_sexp : Sexplib0.Sexp.t ‑> float
float_of_sexp sexp
converts S-expression sexp
to a value of type
float
.
val int32_of_sexp : Sexplib0.Sexp.t ‑> int32
int32_of_sexp sexp
converts S-expression sexp
to a value of type
int32
.
val int64_of_sexp : Sexplib0.Sexp.t ‑> int64
int64_of_sexp sexp
converts S-expression sexp
to a value of type
int64
.
val nativeint_of_sexp : Sexplib0.Sexp.t ‑> nativeint
nativeint_of_sexp sexp
converts S-expression sexp
to a value
of type nativeint
.
val ref_of_sexp : (Sexplib0.Sexp.t ‑> 'a) ‑> Sexplib0.Sexp.t ‑> 'a Pervasives.ref
ref_of_sexp conv sexp
converts S-expression sexp
to a value
of type 'a ref
using conversion function conv
, which converts
an S-expression to a value of type 'a
.
val lazy_t_of_sexp : (Sexplib0.Sexp.t ‑> 'a) ‑> Sexplib0.Sexp.t ‑> 'a lazy_t
lazy_t_of_sexp conv sexp
converts S-expression sexp
to a value
of type 'a lazy_t
using conversion function conv
, which converts
an S-expression to a value of type 'a
.
val option_of_sexp : (Sexplib0.Sexp.t ‑> 'a) ‑> Sexplib0.Sexp.t ‑> 'a option
option_of_sexp conv sexp
converts S-expression sexp
to a value
of type 'a option
using conversion function conv
, which converts
an S-expression to a value of type 'a
.
val pair_of_sexp : (Sexplib0.Sexp.t ‑> 'a) ‑> (Sexplib0.Sexp.t ‑> 'b) ‑> Sexplib0.Sexp.t ‑> 'a * 'b
pair_of_sexp conv1 conv2 sexp
converts S-expression sexp
to a pair
of type 'a * 'b
using conversion functions conv1
and conv2
,
which convert S-expressions to values of type 'a
and 'b
respectively.
val triple_of_sexp : (Sexplib0.Sexp.t ‑> 'a) ‑> (Sexplib0.Sexp.t ‑> 'b) ‑> (Sexplib0.Sexp.t ‑> 'c) ‑> Sexplib0.Sexp.t ‑> 'a * 'b * 'c
triple_of_sexp conv1 conv2 conv3 sexp
converts S-expression sexp
to a triple of type 'a * 'b * 'c
using conversion functions conv1
,
conv2
, and conv3
, which convert S-expressions to values of type
'a
, 'b
, and 'c
respectively.
val list_of_sexp : (Sexplib0.Sexp.t ‑> 'a) ‑> Sexplib0.Sexp.t ‑> 'a list
list_of_sexp conv sexp
converts S-expression sexp
to a value
of type 'a list
using conversion function conv
, which converts
an S-expression to a value of type 'a
.
val array_of_sexp : (Sexplib0.Sexp.t ‑> 'a) ‑> Sexplib0.Sexp.t ‑> 'a array
array_of_sexp conv sexp
converts S-expression sexp
to a value
of type 'a array
using conversion function conv
, which converts
an S-expression to a value of type 'a
.
val hashtbl_of_sexp : (Sexplib0.Sexp.t ‑> 'a) ‑> (Sexplib0.Sexp.t ‑> 'b) ‑> Sexplib0.Sexp.t ‑> ('a, 'b) Hashtbl.t
hashtbl_of_sexp conv_key conv_value sexp
converts S-expression
sexp
to a value of type ('a, 'b) Hashtbl.t
using conversion
function conv_key
, which converts an S-expression to hashtable
key of type 'a
, and function conv_value
, which converts an
S-expression to hashtable value of type 'b
.
val opaque_of_sexp : Sexplib0.Sexp.t ‑> 'a
opaque_of_sexp sexp
raises Of_sexp_error when attempting to
convert an S-expression to an opaque value.
val fun_of_sexp : Sexplib0.Sexp.t ‑> 'a
fun_of_sexp sexp
raises Of_sexp_error when attempting to
convert an S-expression to a function.
Exception converters
val sexp_of_exn : exn ‑> Sexplib0.Sexp.t
sexp_of_exn exc
converts exception exc
to an S-expression.
If no suitable converter is found, the standard converter in
Printexc
will be used to generate an atomic S-expression.
val sexp_of_exn_opt : exn ‑> Sexplib0.Sexp.t option
sexp_of_exn_opt exc
converts exception exc
to Some sexp
.
If no suitable converter is found, None
is returned instead.
module Exn_converter = Sexplib0.Sexp_conv.Exn_converter
include Base.Hash.Builtin
val hash_fold_nativeint : nativeint Base.Hash.folder
val hash_fold_int64 : int64 Base.Hash.folder
val hash_fold_int32 : int32 Base.Hash.folder
val hash_fold_char : char Base.Hash.folder
val hash_fold_int : int Base.Hash.folder
val hash_fold_bool : bool Base.Hash.folder
val hash_fold_string : string Base.Hash.folder
val hash_fold_float : float Base.Hash.folder
val hash_fold_unit : unit Base.Hash.folder
val hash_fold_option : 'a Base.Hash.folder ‑> 'a option Base.Hash.folder
val hash_fold_list : 'a Base.Hash.folder ‑> 'a list Base.Hash.folder
val hash_fold_lazy_t : 'a Base.Hash.folder ‑> 'a lazy_t Base.Hash.folder
val hash_fold_ref_frozen : 'a Base.Hash.folder ‑> 'a Base__.Import0.ref Base.Hash.folder
Hash support for array
and ref
is provided, but is potentially DANGEROUS, since
it incorporates the current contents of the array/ref into the hash value. Because
of this we add a _frozen
suffix to the function name.
Hash support for string
is also potentially DANGEROUS, but strings are mutated
less often, so we don't append _frozen
to it.
Also note that we don't support bytes
.
val hash_fold_array_frozen : 'a Base.Hash.folder ‑> 'a array Base.Hash.folder
val hash_nativeint : nativeint ‑> Base.Hash.hash_value
val hash_int64 : int64 ‑> Base.Hash.hash_value
val hash_int32 : int32 ‑> Base.Hash.hash_value
val hash_char : char ‑> Base.Hash.hash_value
val hash_int : int ‑> Base.Hash.hash_value
val hash_bool : bool ‑> Base.Hash.hash_value
val hash_string : string ‑> Base.Hash.hash_value
val hash_float : float ‑> Base.Hash.hash_value
val hash_unit : unit ‑> Base.Hash.hash_value
include Int_replace_polymorphic_compare
exception
Not_found_s of Sexplib0.Sexp.t