Code for managing s-expressions
: Parse_pos.t | ; | ||||
: 't | ; | ||||
: Buffer.t | ; |
no_raise
is the identity, but by using 'a no_raise
in a sexpable type, the
resulting use sexp_of_no_raise
protects the conversion of 'a
to a sexp so that if
it fails, one gets a sexp with an error message about the failure, rather than an
exception being raised.
WARNING: The resulting no_raise_of_sexp
can still raise.
With_text.t
is a value paired with the full textual representation of its sexp.
This is useful for dealing with the case where you want to keep track of a value along
with the format of the s-expression it was generated from, which allows you to
maintain formatting details, comments, etc.