package ppx_sexp_conv
Install
dune-project
Dependency
Authors
Maintainers
Sources
sha256=d9cd1eefa179acedb8954ba95ed01e8fd685dae6e278061936ce5930d95a8380
doc/ppx_sexp_conv.runtime-lib/Ppx_sexp_conv_lib/Sexp/index.html
Module Ppx_sexp_conv_lib.Sexp
include module type of struct include Sexplib0.Sexp end
exception Not_found_s of tNot_found_s is used by functions that historically raised Not_found, to allow them to raise an exception that contains an informative error message (as a sexp), while still having an exception that can be distinguished from other exceptions.
exception Of_sexp_error of exn * tOf_sexp_error (exn, sexp) the exception raised when an S-expression could not be successfully converted to an OCaml-value.
Helpers
Helper to build nice s-expressions for error messages. It imitates the behavior of [%message ...] from the ppx_sexp_message rewriter.
message name key_values produces a s-expression list starting with atom name and followed by list of size 2 of the form (key value). When the key is the empty string, value is used directly instead as for [%message].
For instance the following code:
Sexp.message "error"
[ "x", sexp_of_int 42
; "" , sexp_of_exn Exit
]produces the s-expression:
(error (x 42) Exit)Defaults
val default_indent : int refdefault_indent reference to default indentation level for human-readable conversions.
Initialisation value: 2.
Pretty printing of S-expressions
val pp_hum : Format.formatter -> t -> unitpp_hum ppf sexp outputs S-expression sexp to formatter ppf in human readable form.
val pp_hum_indent : int -> Format.formatter -> t -> unitpp_hum_indent n ppf sexp outputs S-expression sexp to formatter ppf in human readable form and indentation level n.
val pp_mach : Format.formatter -> t -> unitpp_mach ppf sexp outputs S-expression sexp to formatter ppf in machine readable (i.e. most compact) form.
val pp : Format.formatter -> t -> unitSame as pp_mach.
Conversion to strings
val to_string_hum : ?indent:int -> t -> stringto_string_hum ?indent sexp converts S-expression sexp to a string in human readable form with indentation level indent.
val to_string_mach : t -> stringto_string_mach sexp converts S-expression sexp to a string in machine readable (i.e. most compact) form.
val to_string : t -> stringSame as to_string_mach.
Styles
val of_float_style : [ `Underscores | `No_underscores ] refval of_int_style : [ `Underscores | `No_underscores ] refmodule Private = Sexplib0.Sexp.Privateval t_sexp_grammar : Sexplib0.Sexp.t Sexplib0.Sexp_grammar.t