package core_kernel

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

Of_sexpable serializes a value using the bin-io of the sexp serialization of the value. This is not as efficient as using @@deriving bin_io. However, it is useful when performance isn't important and there are obstacles to using @@deriving bin_io, e.g., some type missing @@deriving bin_io. Of_sexpable is also useful when one wants to be forgiving about format changes, due to the sexp serialization being more robust to changes like adding or removing a constructor.

Parameters

module M : Sexpable.S

Signature

include Bin_prot.Binable.S_only_functions with type t := M.t
val bin_size_t : M.t Bin_prot.Size.sizer
val bin_write_t : M.t Bin_prot.Write.writer
val bin_read_t : M.t Bin_prot.Read.reader
val __bin_read_t__ : (int -> M.t) Bin_prot.Read.reader

This function only needs implementation if t exposed to be a polymorphic variant. Despite what the type reads, this does *not* produce a function after reading; instead it takes the constructor tag (int) before reading and reads the rest of the variant t afterwards.

val bin_shape_t : Bin_prot.Shape.t
val bin_writer_t : M.t Bin_prot.Type_class.writer
val bin_reader_t : M.t Bin_prot.Type_class.reader