Module Core__.Stable

include module type of Core_kernel.Core_kernel_stable with module Core_kernel_stable.Time_ns := Core_kernel.Core_kernel_stable.Time_ns with module Time := Core_kernel.Core_kernel_stable.Time
module Make_stable = Core_kernel__.Make_stable
include 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_bytes : bytes 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_md5 : Md5_lib.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_bytes : bytes Bin_prot.Type_class.t
val bin_shape_bytes : Bin_prot.Shape.t
val bin_writer_bytes : bytes Bin_prot.Type_class.writer
val bin_write_bytes : bytes Bin_prot.Write.writer
val bin_reader_bytes : bytes Bin_prot.Type_class.reader
val bin_read_bytes : bytes Bin_prot.Read.reader
val __bin_read_bytes__ : '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
include Base.Hash_intf.Builtin_hash_fold_intf
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 Base.Hash_intf.Builtin_hash_intf
type hash_value
val hash_nativeint : nativeint ‑> hash_value
val hash_int64 : int64 ‑> hash_value
val hash_int32 : int32 ‑> hash_value
val hash_char : char ‑> hash_value
val hash_int : int ‑> hash_value
val hash_bool : bool ‑> hash_value
val hash_string : string ‑> hash_value
val hash_float : float ‑> hash_value
val hash_unit : unit ‑> hash_value
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 bytes := Core_kernel__.Import.bytes 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 bytes_of_sexp : Sexplib.Sexp.t ‑> bytes
val sexp_of_bytes : bytes ‑> Sexplib.Sexp.t
include sig ... end
val unit_of_sexp : Sexplib.Sexp.t ‑> unit
val sexp_of_unit : unit ‑> Sexplib.Sexp.t
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 compare_sexp_option : a. ('a ‑> 'a ‑> Core_kernel__.Import.int) ‑> 'a sexp_option ‑> 'a sexp_option ‑> Core_kernel__.Import.int
val hash_fold_sexp_option : a. (Base.Hash.state ‑> 'a ‑> Base.Hash.state) ‑> Base.Hash.state ‑> 'a sexp_option ‑> Base.Hash.state
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 compare_sexp_list : a. ('a ‑> 'a ‑> Core_kernel__.Import.int) ‑> 'a sexp_list ‑> 'a sexp_list ‑> Core_kernel__.Import.int
val hash_fold_sexp_list : a. (Base.Hash.state ‑> 'a ‑> Base.Hash.state) ‑> Base.Hash.state ‑> 'a sexp_list ‑> Base.Hash.state
include Core_kernel__.Stable_containers

The Stable versions of Hashtbl, Hash_set, Map, and Set are defined here rather than in their respective modules because:

1. We guarantee their serializations independent of the implementation of those modules 2. Given 1. it is cleaner (and still okay) to separate the code into a separate file

module Byte_units = Core_kernel.Byte_units.Stable
module Comparable = Core_kernel.Comparable.Stable
module Comparator = Core_kernel.Comparator.Stable
module Day_of_week = Core_kernel.Day_of_week.Stable
module Float_with_finite_only_serialization = Core_kernel.Float_with_finite_only_serialization.Stable
module Host_and_port = Core_kernel.Host_and_port.Stable
module Or_error = Core_kernel.Or_error.Stable
module Sexpable = Core_kernel.Sexpable.Stable
module Source_code_position = Core_kernel.Source_code_position.Stable
module String_id = Core_kernel.String_id.Stable
include Perms.Export

We don't expose bin_io for write due to a naming conflict with the functions exported by bin_io for read_write. If you want bin_io for write, use Write.t.

include sig ... end
val bin_read_read : read Bin_prot.Read.reader
val __bin_read_read__ : (Core_kernel__.Import.int ‑> read) Bin_prot.Read.reader
val bin_reader_read : read Bin_prot.Type_class.reader
val bin_size_read : read Bin_prot.Size.sizer
val bin_write_read : read Bin_prot.Write.writer
val bin_writer_read : read Bin_prot.Type_class.writer
val bin_shape_read : Bin_prot.Shape.t
val compare_read : read ‑> read ‑> Core_kernel__.Import.int
val hash_fold_read : Base.Hash.state ‑> read ‑> Base.Hash.state
val hash_read : read ‑> Base.Hash.hash_value
val read_of_sexp : Sexplib.Sexp.t ‑> read
val sexp_of_read : read ‑> Sexplib.Sexp.t
include sig ... end
val compare_write : write ‑> write ‑> Core_kernel__.Import.int
val hash_fold_write : Base.Hash.state ‑> write ‑> Base.Hash.state
val hash_write : write ‑> Base.Hash.hash_value
val write_of_sexp : Sexplib.Sexp.t ‑> write
val sexp_of_write : write ‑> Sexplib.Sexp.t
include sig ... end
val bin_immutable : immutable Bin_prot.Type_class.t
val bin_read_immutable : immutable Bin_prot.Read.reader
val __bin_read_immutable__ : (Core_kernel__.Import.int ‑> immutable) Bin_prot.Read.reader
val bin_reader_immutable : immutable Bin_prot.Type_class.reader
val bin_size_immutable : immutable Bin_prot.Size.sizer
val bin_write_immutable : immutable Bin_prot.Write.writer
val bin_writer_immutable : immutable Bin_prot.Type_class.writer
val bin_shape_immutable : Bin_prot.Shape.t
val compare_immutable : immutable ‑> immutable ‑> Core_kernel__.Import.int
val hash_fold_immutable : Base.Hash.state ‑> immutable ‑> Base.Hash.state
val hash_immutable : immutable ‑> Base.Hash.hash_value
val immutable_of_sexp : Sexplib.Sexp.t ‑> immutable
val sexp_of_immutable : immutable ‑> Sexplib.Sexp.t
include sig ... end
val bin_read_write : read_write Bin_prot.Type_class.t
val bin_read_read_write : read_write Bin_prot.Read.reader
val __bin_read_read_write__ : (Core_kernel__.Import.int ‑> read_write) Bin_prot.Read.reader
val bin_reader_read_write : read_write Bin_prot.Type_class.reader
val bin_size_read_write : read_write Bin_prot.Size.sizer
val bin_write_read_write : read_write Bin_prot.Write.writer
val bin_writer_read_write : read_write Bin_prot.Type_class.writer
val bin_shape_read_write : Bin_prot.Shape.t
val compare_read_write : read_write ‑> read_write ‑> Core_kernel__.Import.int
val hash_fold_read_write : Base.Hash.state ‑> read_write ‑> Base.Hash.state
val hash_read_write : read_write ‑> Base.Hash.hash_value
val read_write_of_sexp : Sexplib.Sexp.t ‑> read_write
val sexp_of_read_write : read_write ‑> Sexplib.Sexp.t
include sig ... end
val bin_read_perms : 'a Bin_prot.Read.reader ‑> 'a perms Bin_prot.Read.reader
val __bin_read_perms__ : 'a Bin_prot.Read.reader ‑> (Core_kernel__.Import.int ‑> 'a perms) Bin_prot.Read.reader
val bin_size_perms : 'a Bin_prot.Size.sizer ‑> 'a perms Bin_prot.Size.sizer
val bin_write_perms : 'a Bin_prot.Write.writer ‑> 'a perms Bin_prot.Write.writer
val bin_shape_perms : Bin_prot.Shape.t ‑> Bin_prot.Shape.t
val compare_perms : ('a ‑> 'a ‑> Core_kernel__.Import.int) ‑> 'a perms ‑> 'a perms ‑> Core_kernel__.Import.int
val hash_fold_perms : (Base.Hash.state ‑> 'a ‑> Base.Hash.state) ‑> Base.Hash.state ‑> 'a perms ‑> Base.Hash.state
val perms_of_sexp : (Sexplib.Sexp.t ‑> 'a) ‑> Sexplib.Sexp.t ‑> 'a perms
val sexp_of_perms : ('a ‑> Sexplib.Sexp.t) ‑> 'a perms ‑> Sexplib.Sexp.t
include Ppx_compare_lib.Builtin
type 'a t = 'a ‑> 'a ‑> int
val compare_bool : bool t
val compare_char : char t
val compare_float : float t
val compare_int : int t
val compare_int32 : int32 t
val compare_int64 : int64 t
val compare_nativeint : nativeint t
val compare_string : string t
val compare_unit : unit t
val compare_array : 'a t ‑> 'a array t
val compare_list : 'a t ‑> 'a list t
val compare_option : 'a t ‑> 'a option t
val compare_ref : 'a t ‑> 'a Pervasives.ref t
module Interval = Core.Interval.Stable
module Mac_address = Core.Mac_address.Stable
module Schedule_v4_deprecated = Core.Schedule_v4_deprecated.Stable
module Schedule_v5 = Core.Schedule_v5.Stable
module Time = Core__.Core_time_float.Stable
module Time_ns = Core__.Core_time_ns.Stable
module Unix = Core__.Core_unix.Stable
module User_and_group = Core.User_and_group.Stable
module Uuid = Core.Uuid.Stable