Type of S-expressions
exception
Not_found_s of t
Not_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 * t
Of_sexp_error (exn, sexp)
the exception raised when an S-expression could not be
successfully converted to an OCaml-value.
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)
val default_indent : int Pervasives.ref
default_indent
reference to default indentation level for human-readable
conversions.
Initialisation value: 2.
val pp_hum : Format.formatter ‑> t ‑> unit
pp_hum ppf sexp
outputs S-expression sexp
to formatter ppf
in human readable
form.
val pp_hum_indent : int ‑> Format.formatter ‑> t ‑> unit
pp_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 ‑> unit
pp_mach ppf sexp
outputs S-expression sexp
to formatter ppf
in machine readable
(i.e. most compact) form.
val to_string_hum : ?indent:int ‑> t ‑> string
to_string_hum ?indent sexp
converts S-expression sexp
to a
string in human readable form with indentation level indent
.
!default_indent
val to_string_mach : t ‑> string
to_string_mach sexp
converts S-expression sexp
to a string in
machine readable (i.e. most compact) form.
module Private : sig ... end