Ppx_sexp_conv_lib.Sexpinclude module type of struct include Sexplib0.Sexp endmodule type Pretty_print_to_formatter = Sexplib0.Sexp.Pretty_print_to_formattermodule type Pretty_printing_helpers_private =
Sexplib0.Sexp.Pretty_printing_helpers_privatemodule type Pretty_printing_helpers = Sexplib0.Sexp.Pretty_printing_helpersmodule type Pretty_printing = Sexplib0.Sexp.Pretty_printingexception 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.
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 Basement.Dynamic.t @@ portabledefault_indent reference to default indentation level for human-readable conversions.
Initialisation value: 1.
module Make_pretty_printing = Sexplib0.Sexp.Make_pretty_printinginclude Pretty_printing with type output := stringval pp_hum : Format.formatter -> t -> unit @@ portablepp_hum ppf sexp outputs S-expression sexp to formatter ppf in human readable form.
val pp_hum_indent : int -> Format.formatter -> t -> unit @@ portablepp_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 @@ portablepp_mach ppf sexp outputs S-expression sexp to formatter ppf in machine readable (i.e. most compact) form.
val pp : Format.formatter -> t -> unit @@ portableSame as pp_mach.
val to_string_hum : ?indent:int -> ?max_width:int -> t -> string @@ portableto_string_hum ?indent ?max_width sexp converts S-expression sexp to a string in human readable form with indentation level indent and target maximum width max_width. Note long atoms may overflow max_width.
val to_string_mach : t -> string @@ portableto_string_mach sexp converts S-expression sexp to a string in machine readable (i.e. most compact) form.
val to_string : t -> string @@ portableSame as to_string_mach.
to_buffer_hum ~buf ?indent ?max_width sexp outputs the S-expression sexp converted to a string in human readable form to buffer buf with indentation level indent and target maximum width max_width. Note long atoms may overflow max_width.
to_buffer_mach ~buf sexp outputs the S-expression sexp converted to a string in machine readable (i.e. most compact) form to buffer buf.
to_buffer ~buf sexp same as to_buffer_mach.
val to_buffer_gen :
buf:'buffer ->
add_char:('buffer -> char -> unit) ->
add_string:('buffer -> string -> unit) ->
t ->
unit @@ portableto_buffer_gen ~buf ~add_char ~add_string sexp outputs the S-expression sexp converted to a string to buffer buf using the output functions add_char and add_string.
module Pretty_printing_helpers_private =
Sexplib0.Sexp.Pretty_printing_helpers_privateSee Pretty_printing.to_string_hum, to_string_mach, and to_string, respectively.
val to_string_hum__stack :
?indent:int ->
?max_width:int ->
t @ local ->
string @ local @@ portableWARNING to_string_hum__stack globalizes t if it is allocated on the stack.
val to_string_mach__stack : t @ local -> string @ local @@ portableval to_string__stack : t @ local -> string @ local @@ portableval of_float_style :
[ `Underscores | `No_underscores ] Basement.Dynamic.t @@ portableval of_int_style :
[ `Underscores | `No_underscores ] Basement.Dynamic.t @@ portablemodule Private = Sexplib0.Sexp.Privateval t_sexp_grammar : Sexplib0.Sexp.t Sexplib0.Sexp_grammar.t