type t = private Base.Info.tSerialization and comparison force the lazy message.
val compare : t -> t -> intval equal : t -> t -> boolval hash_fold_t : Base.Hash.state -> t -> Base.Hash.stateval hash : t -> Base.Hash.hash_value
include Base.Sexpable.S with type t := t
val t_of_sexp : Sexplib0.Sexp.t -> tval sexp_of_t : t -> Sexplib0.Sexp.t
val invariant : t -> unit
val to_string_hum : t -> stringto_string_humforces the lazy message, which might be an expensive operation.to_string_humusually produces a sexp; however, it is guaranteed thatto_string_hum (of_string s) = s.If this string is going to go into a log file, you may find it useful to ensure that the string is only one line long. To do this, use
to_string_mach t.
val to_string_mach : t -> stringto_string_mach toutputstas a sexp on a single line.
val to_string_hum_deprecated : t -> stringOld version (pre 109.61) of
to_string_humthat some applications rely on.Calls should be replaced with
to_string_mach t, which outputs more parentheses and backslashes.
val of_string : string -> t
val of_lazy : string Base.Lazy.t -> tval of_thunk : (unit -> string) -> tval of_lazy_t : t Base.Lazy.t -> tval create : ?here:Caml.Lexing.position -> ?strict:unit -> string -> 'a -> ('a -> Base.Sexp.t) -> tFor
create message a sexp_of_a,sexp_of_a ais lazily computed, when the info is converted to a sexp. So ifais mutated in the time between the call tocreateand the sexp conversion, those mutations will be reflected in the sexp. Use~strict:()to forcesexp_of_a ato be computed immediately.
val create_s : Base.Sexp.t -> tval createf : ('a, unit, string, t) Stdlib.format4 -> 'aConstructs a
tcontaining only a string from a format. This eagerly constructs the string.
val tag_s : t -> tag:Base.Sexp.t -> tAdds a sexp to the front.
val tag_arg : t -> string -> 'a -> ('a -> Base.Sexp.t) -> tAdds a string and some other data in the form of an s-expression at the front.
val of_exn : ?backtrace:[ `Get | `This of string ] -> exn -> tof_exnandto_exnare primarily used withError, but their definitions have to be here because they refer to the underlying representation.~backtrace:`Getattaches the backtrace for the most recent exception. The same caveats as forPrintexc.print_backtraceapply.~backtrace:(`This s)attaches the backtraces. The default is no backtrace.
val to_exn : t -> exnval pp : Base.Formatter.t -> t -> unit
module Internal_repr : sig ... end with type Internal_repr.info := tval raise : t -> _Note that the exception raised by this function maintains a reference to the
tpassed in.
val raise_s : Base.Sexp.t -> _val to_info : t -> Base.Info.tval of_info : Base.Info.t -> t
This include is the source of the bin_io functions.
include Bin_prot.Binable.S with type t := t
include Bin_prot.Binable.S_only_functions with type t := t
val bin_size_t : t Bin_prot.Size.sizerval bin_write_t : t Bin_prot.Write.writerval bin_read_t : t Bin_prot.Read.readerval __bin_read_t__ : (int -> t) Bin_prot.Read.readerThis function only needs implementation if
texposed 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 varianttafterwards.
val bin_shape_t : Bin_prot.Shape.tval bin_writer_t : t Bin_prot.Type_class.writerval bin_reader_t : t Bin_prot.Type_class.readerval bin_t : t Bin_prot.Type_class.t
module Stable : sig ... endval failwiths : ?strict:Base.Unit.t -> here:Stdlib.Lexing.position -> Base.String.t -> 'a -> ('a -> Base.Sexp.t) -> _failwiths ?strict ~here message a sexp_of_a = Error.raise (Error.create ?strict ~here s a sexp_of_a)As with
Error.create,sexp_of_a ais lazily computed when the error is converted to a sexp. So ifais mutated in the time between the call tofailwithsand the sexp conversion, those mutations will be reflected in the error message. Use~strict:()to forcesexp_of_a ato be computed immediately.In this signature we write
~here:Lexing.positionrather than~here:Source_code_position.tto avoid a circular dependency.
val failwithp : ?strict:Base.Unit.t -> Stdlib.Lexing.position -> Base.String.t -> 'a -> ('a -> Base.Sexp.t) -> _