package sexplib

  1. Overview
  2. Docs
Library for serializing OCaml values to and from S-expressions

Install

Dune Dependency

Authors

Maintainers

Sources

v0.9.3.tar.gz
sha256=2301ae60d0d5d691c690536bb36b711192506ac64b60c57fda6cd11bb85d3608
md5=fdee4eef1918f599a07b05699e971bb6

doc/sexplib.0/Sexplib0/Sexp/index.html

Module Sexplib0.SexpSource

Type of S-expressions

Sourcetype t =
  1. | Atom of string
  2. | List of t list
Sourceval t_of_sexp : t -> t
Sourceval sexp_of_t : t -> t
Sourceval equal : t -> t -> bool
Sourceexception 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.

Helpers

Sourceval message : string -> (string * t) list -> t

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

Sourceval default_indent : int ref

default_indent reference to default indentation level for human-readable conversions.

Initialisation value: 2.

Pretty printing of S-expressions

Sourceval pp_hum : Format.formatter -> t -> unit

pp_hum ppf sexp outputs S-expression sexp to formatter ppf in human readable form.

Sourceval 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.

Sourceval 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.

Sourceval pp : Format.formatter -> t -> unit

Same as pp_mach.

Conversion to strings

Sourceval 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.

  • parameter indent

    default = !default_indent

Sourceval to_string_mach : t -> string

to_string_mach sexp converts S-expression sexp to a string in machine readable (i.e. most compact) form.

Sourceval to_string : t -> string

Same as to_string_mach.

Styles

Sourceval of_float_style : [ `Underscores | `No_underscores ] ref
Sourceval of_int_style : [ `Underscores | `No_underscores ] ref
Sourcemodule Private : sig ... end
OCaml

Innovation. Community. Security.