package ocamlformat-lib
Install
dune-project
Dependency
Authors
Maintainers
Sources
sha256=70bda037d0bed961ed91bdb5198b2eeef542444750a8b015d80ccb94b3ff41fb
sha512=8de0517165c6f0cadcedcce66e57cb723956768a8068abd062243abb08fabf292283d0d284be230aa5647d0883a4dc7f28fcf1b70338a2b0c9b17a5bed1bbb71
doc/ocamlformat-lib.ocamlformat_stdlib/Ocamlformat_stdlib/Sexp/index.html
Module Ocamlformat_stdlib.SexpSource
include module type of Sexplib0.Sexp with type t := Sexplib0.Sexp.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.
Of_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 -> Sexplib0.Sexp.t -> unitpp_hum ppf sexp outputs S-expression sexp to formatter ppf in human readable form.
val pp_hum_indent : int -> Format.formatter -> Sexplib0.Sexp.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 -> Sexplib0.Sexp.t -> unitpp_mach ppf sexp outputs S-expression sexp to formatter ppf in machine readable (i.e. most compact) form.
val pp : Format.formatter -> Sexplib0.Sexp.t -> unitSame as pp_mach.
Conversion to strings
to_string_hum ?indent sexp converts S-expression sexp to a string in human readable form with indentation level indent.
to_string_mach sexp converts S-expression sexp to a string in machine readable (i.e. most compact) form.
Styles
val of_float_style : [ `Underscores | `No_underscores ] refval of_int_style : [ `Underscores | `No_underscores ] refBase has never had an of_string function. We expose a deprecated of_string here so that people can find it (e.g. with merlin), and learn what we recommend. This of_string has type unit because we don't want it to be accidentally used.
include Base.Comparable.S with type t := t
include Base.Comparisons.S with type t := t
compare t1 t2 returns 0 if t1 is equal to t2, a negative integer if t1 is less than t2, and a positive integer if t1 is greater than t2.
ascending is identical to compare. descending x y = ascending y x. These are intended to be mnemonic when used like List.sort ~compare:ascending and List.sort ~cmp:descending, since they cause the list to be sorted in ascending or descending order, respectively.
clamp_exn t ~min ~max returns t', the closest value to t such that between t' ~low:min ~high:max is true.
Raises if not (min <= max).