Module Core_kernel__.Stable_internal

include Bin_prot.Std

This module defines default converters for the types defined in the OCaml standard library.

include Bin_prot.Size

Compute size of values in the binary protocol.

type 'a sizer = 'a ‑> int
type ('a, 'b) sizer1 = 'a sizer ‑> 'b sizer
type ('a, 'b, 'c) sizer2 = 'a sizer ‑> ('b'csizer1
type ('a, 'b, 'c, 'd) sizer3 = 'a sizer ‑> ('b'c'dsizer2
val bin_size_unit : unit sizer
val bin_size_bool : bool sizer
val bin_size_string : string sizer
val bin_size_char : char sizer
val bin_size_int : int sizer
val bin_size_float : float sizer
val bin_size_int32 : int32 sizer
val bin_size_int64 : int64 sizer
val bin_size_nativeint : nativeint sizer
val bin_size_nat0 : Bin_prot.Nat0.t sizer
val bin_size_ref : ('a'a Pervasives.ref) sizer1
val bin_size_lazy_t : ('a'a lazy_t) sizer1
val bin_size_lazy : ('a'a lazy_t) sizer1
val bin_size_option : ('a'a option) sizer1
val bin_size_pair : ('a'b'a * 'bsizer2
val bin_size_triple : ('a'b'c'a * 'b * 'csizer3
val bin_size_list : ('a'a list) sizer1
val bin_size_array : ('a'a array) sizer1
val bin_size_hashtbl : ('a'b, ('a'b) Hashtbl.t) sizer2
val bin_size_float32_vec : Bin_prot.Common.vec32 sizer
val bin_size_float64_vec : Bin_prot.Common.vec64 sizer
val bin_size_vec : Bin_prot.Common.vec sizer
val bin_size_float32_mat : Bin_prot.Common.mat32 sizer
val bin_size_float64_mat : Bin_prot.Common.mat64 sizer
val bin_size_mat : Bin_prot.Common.mat sizer
val bin_size_bigstring : Bin_prot.Common.buf sizer
val bin_size_float_array : float array sizer
val bin_size_variant_int : int sizer
val bin_size_int_8bit : int sizer
val bin_size_int_16bit : int sizer
val bin_size_int_32bit : int sizer
val bin_size_int_64bit : int sizer
val bin_size_int64_bits : int64 sizer
val bin_size_network16_int : int sizer
val bin_size_network32_int : int sizer
val bin_size_network32_int32 : int32 sizer
val bin_size_network64_int : int sizer
val bin_size_network64_int64 : int64 sizer
val bin_size_array_no_length : ('a'a array) sizer1
val bin_size_digest : Bin_prot.Shape.Digest.t sizer
module Maximum = Bin_prot.Size.Maximum
module Minimum = Bin_prot.Size.Minimum
val bin_unit : unit Bin_prot.Type_class.t
val bin_shape_unit : Bin_prot.Shape.t
val bin_writer_unit : unit Bin_prot.Type_class.writer
val bin_write_unit : unit Bin_prot.Write.writer
val bin_reader_unit : unit Bin_prot.Type_class.reader
val bin_read_unit : unit Bin_prot.Read.reader
val __bin_read_unit__ : 'a ‑> pos_ref:Bin_prot.Common.pos Pervasives.ref ‑> 'b ‑> 'c
val bin_bool : bool Bin_prot.Type_class.t
val bin_shape_bool : Bin_prot.Shape.t
val bin_writer_bool : bool Bin_prot.Type_class.writer
val bin_write_bool : bool Bin_prot.Write.writer
val bin_reader_bool : bool Bin_prot.Type_class.reader
val bin_read_bool : bool Bin_prot.Read.reader
val __bin_read_bool__ : 'a ‑> pos_ref:Bin_prot.Common.pos Pervasives.ref ‑> 'b ‑> 'c
val bin_string : string Bin_prot.Type_class.t
val bin_shape_string : Bin_prot.Shape.t
val bin_writer_string : string Bin_prot.Type_class.writer
val bin_write_string : string Bin_prot.Write.writer
val bin_reader_string : string Bin_prot.Type_class.reader
val bin_read_string : string Bin_prot.Read.reader
val __bin_read_string__ : 'a ‑> pos_ref:Bin_prot.Common.pos Pervasives.ref ‑> 'b ‑> 'c
val bin_char : char Bin_prot.Type_class.t
val bin_shape_char : Bin_prot.Shape.t
val bin_writer_char : char Bin_prot.Type_class.writer
val bin_write_char : char Bin_prot.Write.writer
val bin_reader_char : char Bin_prot.Type_class.reader
val bin_read_char : char Bin_prot.Read.reader
val __bin_read_char__ : 'a ‑> pos_ref:Bin_prot.Common.pos Pervasives.ref ‑> 'b ‑> 'c
val bin_int : int Bin_prot.Type_class.t
val bin_shape_int : Bin_prot.Shape.t
val bin_writer_int : int Bin_prot.Type_class.writer
val bin_write_int : int Bin_prot.Write.writer
val bin_reader_int : int Bin_prot.Type_class.reader
val bin_read_int : int Bin_prot.Read.reader
val __bin_read_int__ : 'a ‑> pos_ref:Bin_prot.Common.pos Pervasives.ref ‑> 'b ‑> 'c
val bin_float : float Bin_prot.Type_class.t
val bin_shape_float : Bin_prot.Shape.t
val bin_writer_float : float Bin_prot.Type_class.writer
val bin_write_float : float Bin_prot.Write.writer
val bin_reader_float : float Bin_prot.Type_class.reader
val bin_read_float : float Bin_prot.Read.reader
val __bin_read_float__ : 'a ‑> pos_ref:Bin_prot.Common.pos Pervasives.ref ‑> 'b ‑> 'c
type float_array = float array
val bin_shape_float_array : Bin_prot.Shape.t
val bin_write_float_array : float array Bin_prot.Write.writer
val bin_read_float_array : float array Bin_prot.Read.reader
val __bin_read_float_array__ : 'a ‑> pos_ref:Bin_prot.Common.pos Pervasives.ref ‑> 'b ‑> 'c
val bin_int32 : int32 Bin_prot.Type_class.t
val bin_shape_int32 : Bin_prot.Shape.t
val bin_writer_int32 : int32 Bin_prot.Type_class.writer
val bin_write_int32 : int32 Bin_prot.Write.writer
val bin_reader_int32 : int32 Bin_prot.Type_class.reader
val bin_read_int32 : int32 Bin_prot.Read.reader
val __bin_read_int32__ : 'a ‑> pos_ref:Bin_prot.Common.pos Pervasives.ref ‑> 'b ‑> 'c
val bin_int64 : int64 Bin_prot.Type_class.t
val bin_shape_int64 : Bin_prot.Shape.t
val bin_writer_int64 : int64 Bin_prot.Type_class.writer
val bin_write_int64 : int64 Bin_prot.Write.writer
val bin_reader_int64 : int64 Bin_prot.Type_class.reader
val bin_read_int64 : int64 Bin_prot.Read.reader
val __bin_read_int64__ : 'a ‑> pos_ref:Bin_prot.Common.pos Pervasives.ref ‑> 'b ‑> 'c
val bin_nativeint : nativeint Bin_prot.Type_class.t
val bin_shape_nativeint : Bin_prot.Shape.t
val bin_writer_nativeint : nativeint Bin_prot.Type_class.writer
val bin_write_nativeint : nativeint Bin_prot.Write.writer
val bin_reader_nativeint : nativeint Bin_prot.Type_class.reader
val bin_read_nativeint : nativeint Bin_prot.Read.reader
val __bin_read_nativeint__ : 'a ‑> pos_ref:Bin_prot.Common.pos Pervasives.ref ‑> 'b ‑> 'c
val bin_ref : ('a'a Pervasives.ref) Bin_prot.Type_class.S1.t
val bin_shape_ref : Bin_prot.Shape.t ‑> Bin_prot.Shape.t
val bin_writer_ref : ('a'a Pervasives.ref) Bin_prot.Type_class.S1.writer
val bin_write_ref : ('a'a Pervasives.ref) Bin_prot.Write.writer1
val bin_reader_ref : ('a'a Pervasives.ref) Bin_prot.Type_class.S1.reader
val bin_read_ref : ('a'a Pervasives.ref) Bin_prot.Read.reader1
val __bin_read_ref__ : 'a ‑> 'b ‑> pos_ref:Bin_prot.Common.pos Pervasives.ref ‑> 'c ‑> 'd
val bin_lazy_t : ('a'a lazy_t) Bin_prot.Type_class.S1.t
val bin_shape_lazy_t : Bin_prot.Shape.t ‑> Bin_prot.Shape.t
val bin_writer_lazy_t : ('a'a lazy_t) Bin_prot.Type_class.S1.writer
val bin_write_lazy_t : ('a'a lazy_t) Bin_prot.Write.writer1
val bin_reader_lazy_t : ('a'a lazy_t) Bin_prot.Type_class.S1.reader
val bin_read_lazy_t : ('a'a lazy_t) Bin_prot.Read.reader1
val __bin_read_lazy_t__ : 'a ‑> 'b ‑> pos_ref:Bin_prot.Common.pos Pervasives.ref ‑> 'c ‑> 'd
val bin_lazy : ('a'a lazy_t) Bin_prot.Type_class.S1.t
val bin_shape_lazy : Bin_prot.Shape.t ‑> Bin_prot.Shape.t
val bin_writer_lazy : ('a'a lazy_t) Bin_prot.Type_class.S1.writer
val bin_write_lazy : ('a'a lazy_t) Bin_prot.Write.writer1
val bin_reader_lazy : ('a'a lazy_t) Bin_prot.Type_class.S1.reader
val bin_read_lazy : ('a'a lazy_t) Bin_prot.Read.reader1
val __bin_read_lazy__ : 'a ‑> 'b ‑> pos_ref:Bin_prot.Common.pos Pervasives.ref ‑> 'c ‑> 'd
val bin_option : ('a'a option) Bin_prot.Type_class.S1.t
val bin_shape_option : Bin_prot.Shape.t ‑> Bin_prot.Shape.t
val bin_writer_option : ('a'a option) Bin_prot.Type_class.S1.writer
val bin_write_option : ('a'a option) Bin_prot.Write.writer1
val bin_reader_option : ('a'a option) Bin_prot.Type_class.S1.reader
val bin_read_option : ('a'a option) Bin_prot.Read.reader1
val __bin_read_option__ : 'a ‑> 'b ‑> pos_ref:Bin_prot.Common.pos Pervasives.ref ‑> 'c ‑> 'd
val bin_list : ('a'a list) Bin_prot.Type_class.S1.t
val bin_shape_list : Bin_prot.Shape.t ‑> Bin_prot.Shape.t
val bin_writer_list : ('a'a list) Bin_prot.Type_class.S1.writer
val bin_write_list : ('a'a list) Bin_prot.Write.writer1
val bin_reader_list : ('a'a list) Bin_prot.Type_class.S1.reader
val bin_read_list : ('a'a list) Bin_prot.Read.reader1
val __bin_read_list__ : 'a ‑> 'b ‑> pos_ref:Bin_prot.Common.pos Pervasives.ref ‑> 'c ‑> 'd
val bin_array : ('a'a array) Bin_prot.Type_class.S1.t
val bin_shape_array : Bin_prot.Shape.t ‑> Bin_prot.Shape.t
val bin_writer_array : ('a'a array) Bin_prot.Type_class.S1.writer
val bin_write_array : ('a'a array) Bin_prot.Write.writer1
val bin_reader_array : ('a'a array) Bin_prot.Type_class.S1.reader
val bin_read_array : ('a'a array) Bin_prot.Read.reader1
val __bin_read_array__ : 'a ‑> 'b ‑> pos_ref:Bin_prot.Common.pos Pervasives.ref ‑> 'c ‑> 'd
val bin_hashtbl : ('a'b, ('a'b) Hashtbl.t) Bin_prot.Type_class.S2.t
val bin_shape_hashtbl : Bin_prot.Shape.t ‑> Bin_prot.Shape.t ‑> Bin_prot.Shape.t
val bin_writer_hashtbl : ('a'b, ('a'b) Hashtbl.t) Bin_prot.Type_class.S2.writer
val bin_write_hashtbl : ('a'b, ('a'b) Hashtbl.t) Bin_prot.Write.writer2
val bin_reader_hashtbl : ('a'b, ('a'b) Hashtbl.t) Bin_prot.Type_class.S2.reader
val bin_read_hashtbl : ('a'b, ('a'b) Hashtbl.t) Bin_prot.Read.reader2
val __bin_read_hashtbl__ : 'a ‑> 'b ‑> 'c ‑> pos_ref:Bin_prot.Common.pos Pervasives.ref ‑> 'd ‑> 'e
val bin_shape_bigstring : Bin_prot.Shape.t
val bin_write_bigstring : Bin_prot.Common.buf Bin_prot.Write.writer
val bin_read_bigstring : Bin_prot.Common.buf Bin_prot.Read.reader
val __bin_read_bigstring__ : 'a ‑> pos_ref:Bin_prot.Common.pos Pervasives.ref ‑> 'b ‑> 'c
val bin_shape_mat : Bin_prot.Shape.t
val __bin_read_mat__ : 'a ‑> pos_ref:Bin_prot.Common.pos Pervasives.ref ‑> 'b ‑> 'c
val bin_shape_float32_mat : Bin_prot.Shape.t
val bin_write_float32_mat : Bin_prot.Common.mat32 Bin_prot.Write.writer
val bin_read_float32_mat : Bin_prot.Common.mat32 Bin_prot.Read.reader
val __bin_read_float32_mat__ : 'a ‑> pos_ref:Bin_prot.Common.pos Pervasives.ref ‑> 'b ‑> 'c
val bin_shape_float64_mat : Bin_prot.Shape.t
val bin_write_float64_mat : Bin_prot.Common.mat64 Bin_prot.Write.writer
val bin_read_float64_mat : Bin_prot.Common.mat64 Bin_prot.Read.reader
val __bin_read_float64_mat__ : 'a ‑> pos_ref:Bin_prot.Common.pos Pervasives.ref ‑> 'b ‑> 'c
val bin_shape_vec : Bin_prot.Shape.t
val __bin_read_vec__ : 'a ‑> pos_ref:Bin_prot.Common.pos Pervasives.ref ‑> 'b ‑> 'c
val bin_shape_float32_vec : Bin_prot.Shape.t
val bin_write_float32_vec : Bin_prot.Common.vec32 Bin_prot.Write.writer
val bin_read_float32_vec : Bin_prot.Common.vec32 Bin_prot.Read.reader
val __bin_read_float32_vec__ : 'a ‑> pos_ref:Bin_prot.Common.pos Pervasives.ref ‑> 'b ‑> 'c
val bin_shape_float64_vec : Bin_prot.Shape.t
val bin_write_float64_vec : Bin_prot.Common.vec64 Bin_prot.Write.writer
val bin_read_float64_vec : Bin_prot.Common.vec64 Bin_prot.Read.reader
val __bin_read_float64_vec__ : 'a ‑> pos_ref:Bin_prot.Common.pos Pervasives.ref ‑> 'b ‑> 'c
include Core_kernel__.Import.Hash.Builtin
type state
type 'a folder = state ‑> 'a ‑> state
val hash_fold_nativeint : nativeint folder
val hash_fold_int64 : int64 folder
val hash_fold_int32 : int32 folder
val hash_fold_char : char folder
val hash_fold_int : int folder
val hash_fold_bool : bool folder
val hash_fold_string : string folder
val hash_fold_float : float folder
val hash_fold_unit : unit folder
val hash_fold_option : 'a folder ‑> 'a option folder
val hash_fold_list : 'a folder ‑> 'a list folder
val hash_fold_lazy_t : 'a folder ‑> 'a lazy_t folder
val hash_fold_ref_frozen : 'a folder ‑> 'a Base__.Import0.ref 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 folder ‑> 'a array folder
include sig ... end with type array := a Core_kernel__.Import.array with type bool := Core_kernel__.Import.bool with type char := Core_kernel__.Import.char with type exn := Core_kernel__.Import.exn with type float := Core_kernel__.Import.float with type int := Core_kernel__.Import.int with type int32 := Core_kernel__.Import.int32 with type int64 := Core_kernel__.Import.int64 with type list := a Core_kernel__.Import.list with type nativeint := Core_kernel__.Import.nativeint with type option := a Core_kernel__.Import.option with type ref := a Core_kernel__.Import.ref with type string := Core_kernel__.Import.string with type unit := Core_kernel__.Import.unit
type 'a array = 'a Core_kernel__.Import.array
include sig ... end
val array_of_sexp : (Sexplib.Sexp.t ‑> 'a) ‑> Sexplib.Sexp.t ‑> 'a array
val sexp_of_array : ('a ‑> Sexplib.Sexp.t) ‑> 'a array ‑> Sexplib.Sexp.t
include sig ... end
val bool_of_sexp : Sexplib.Sexp.t ‑> bool
val sexp_of_bool : bool ‑> Sexplib.Sexp.t
include sig ... end
val char_of_sexp : Sexplib.Sexp.t ‑> char
val sexp_of_char : char ‑> Sexplib.Sexp.t
include sig ... end
val sexp_of_exn : exn ‑> Sexplib.Sexp.t
include sig ... end
val float_of_sexp : Sexplib.Sexp.t ‑> float
val sexp_of_float : float ‑> Sexplib.Sexp.t
include sig ... end
val int_of_sexp : Sexplib.Sexp.t ‑> int
val sexp_of_int : int ‑> Sexplib.Sexp.t
include sig ... end
val int32_of_sexp : Sexplib.Sexp.t ‑> int32
val sexp_of_int32 : int32 ‑> Sexplib.Sexp.t
include sig ... end
val int64_of_sexp : Sexplib.Sexp.t ‑> int64
val sexp_of_int64 : int64 ‑> Sexplib.Sexp.t
type 'a list = 'a Core_kernel__.Import.list
include sig ... end
val list_of_sexp : (Sexplib.Sexp.t ‑> 'a) ‑> Sexplib.Sexp.t ‑> 'a list
val sexp_of_list : ('a ‑> Sexplib.Sexp.t) ‑> 'a list ‑> Sexplib.Sexp.t
include sig ... end
val nativeint_of_sexp : Sexplib.Sexp.t ‑> nativeint
val sexp_of_nativeint : nativeint ‑> Sexplib.Sexp.t
type 'a option = 'a Core_kernel__.Import.option
include sig ... end
val option_of_sexp : (Sexplib.Sexp.t ‑> 'a) ‑> Sexplib.Sexp.t ‑> 'a option
val sexp_of_option : ('a ‑> Sexplib.Sexp.t) ‑> 'a option ‑> Sexplib.Sexp.t
type 'a ref = 'a Core_kernel__.Import.ref
include sig ... end
val ref_of_sexp : (Sexplib.Sexp.t ‑> 'a) ‑> Sexplib.Sexp.t ‑> 'a ref
val sexp_of_ref : ('a ‑> Sexplib.Sexp.t) ‑> 'a ref ‑> Sexplib.Sexp.t
include sig ... end
val string_of_sexp : Sexplib.Sexp.t ‑> string
val sexp_of_string : string ‑> Sexplib.Sexp.t
include sig ... end
val unit_of_sexp : Sexplib.Sexp.t ‑> unit
val sexp_of_unit : unit ‑> Sexplib.Sexp.t
type 'a sexp_option = 'a Core_kernel__.Std_internal.sexp_option
val hash_fold_sexp_option : a. (Ppx_hash_lib.Std.Hash.state ‑> 'a ‑> Ppx_hash_lib.Std.Hash.state) ‑> Ppx_hash_lib.Std.Hash.state ‑> 'a sexp_option ‑> Ppx_hash_lib.Std.Hash.state
val compare_sexp_option : a. ('a ‑> 'a ‑> Core_kernel__.Import.int) ‑> 'a sexp_option ‑> 'a sexp_option ‑> Core_kernel__.Import.int
val bin_shape_sexp_option : Bin_prot.Shape.t ‑> Bin_prot.Shape.t
val bin_size_sexp_option : 'a Bin_prot.Size.sizer ‑> 'a Core_kernel__.Import.option ‑> int
val bin_write_sexp_option : 'a Bin_prot.Write.writer ‑> Bin_prot.Common.buf ‑> pos:Bin_prot.Common.pos ‑> 'a Core_kernel__.Import.option ‑> Bin_prot.Common.pos
val bin_writer_sexp_option : 'a Bin_prot.Type_class.writer ‑> 'a Core_kernel__.Import.option Bin_prot.Type_class.writer
val __bin_read_sexp_option__ : 'a Bin_prot.Read.reader ‑> Bin_prot.Common.buf ‑> pos_ref:Bin_prot.Common.pos_ref ‑> Core_kernel__.Import.int ‑> 'a Core_kernel__.Import.option
val bin_read_sexp_option : 'a Bin_prot.Read.reader ‑> Bin_prot.Common.buf ‑> pos_ref:Bin_prot.Common.pos_ref ‑> 'a Core_kernel__.Import.option
val bin_reader_sexp_option : 'a Bin_prot.Type_class.reader ‑> 'a Core_kernel__.Import.option Bin_prot.Type_class.reader
val bin_sexp_option : 'a Bin_prot.Type_class.t ‑> 'a Core_kernel__.Import.option Bin_prot.Type_class.t
type 'a sexp_list = 'a Core_kernel__.Std_internal.sexp_list
val hash_fold_sexp_list : a. (Ppx_hash_lib.Std.Hash.state ‑> 'a ‑> Ppx_hash_lib.Std.Hash.state) ‑> Ppx_hash_lib.Std.Hash.state ‑> 'a sexp_list ‑> Ppx_hash_lib.Std.Hash.state
val compare_sexp_list : a. ('a ‑> 'a ‑> Core_kernel__.Import.int) ‑> 'a sexp_list ‑> 'a sexp_list ‑> Core_kernel__.Import.int
val bin_shape_sexp_list : Bin_prot.Shape.t ‑> Bin_prot.Shape.t
val bin_size_sexp_list : 'a Bin_prot.Size.sizer ‑> 'a Core_kernel__.Import.list ‑> int
val bin_write_sexp_list : 'a Bin_prot.Write.writer ‑> Bin_prot.Common.buf ‑> pos:Bin_prot.Common.pos ‑> 'a Core_kernel__.Import.list ‑> Bin_prot.Common.pos
val bin_writer_sexp_list : 'a Bin_prot.Type_class.writer ‑> 'a Core_kernel__.Import.list Bin_prot.Type_class.writer
val __bin_read_sexp_list__ : 'a Bin_prot.Read.reader ‑> Bin_prot.Common.buf ‑> pos_ref:Bin_prot.Common.pos_ref ‑> Core_kernel__.Import.int ‑> 'a Core_kernel__.Import.list
val bin_read_sexp_list : 'a Bin_prot.Read.reader ‑> Bin_prot.Common.buf ‑> pos_ref:Bin_prot.Common.pos_ref ‑> 'a Core_kernel__.Import.list
val bin_reader_sexp_list : 'a Bin_prot.Type_class.reader ‑> 'a Core_kernel__.Import.list Bin_prot.Type_class.reader
val bin_sexp_list : 'a Bin_prot.Type_class.t ‑> 'a Core_kernel__.Import.list Bin_prot.Type_class.t
module Sexp : sig ... end