Sexplib.Pre_sexpmodule Sexplib = Sexplib0module Conv = Sexplib.Sexp_convinclude module type of struct include Type endType of S-expressions
type bigstring =
(char, Bigarray.int8_unsigned_elt, Bigarray.c_layout) Bigarray.Array1.tinclude module type of struct include Sexplib.Sexp end with type t := texception 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 refdefault_indent reference to default indentation level for human-readable conversions.
Initialisation value: 2.
val pp_hum : Format.formatter -> t -> unitpp_hum ppf sexp outputs S-expression sexp to formatter ppf in human readable form.
val pp_hum_indent : int -> Format.formatter -> 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 -> t -> unitpp_mach ppf sexp outputs S-expression sexp to formatter ppf in machine readable (i.e. most compact) form.
val pp : Format.formatter -> t -> unitSame as pp_mach.
val to_string_hum : ?indent:int -> t -> stringto_string_hum ?indent sexp converts S-expression sexp to a string in human readable form with indentation level indent.
val to_string_mach : t -> stringto_string_mach sexp converts S-expression sexp to a string in machine readable (i.e. most compact) form.
val to_string : t -> stringSame as to_string_mach.
val of_float_style : [ `Underscores | `No_underscores ] refval of_int_style : [ `Underscores | `No_underscores ] refmodule Private = Sexplib.Sexp.Privateval t_sexp_grammar : Sexplib0.Sexp.t Sexplib0.Sexp_grammar.tval with_new_buffer : out_channel -> (Buffer.t -> 'a) -> unitval output_hum : out_channel -> Sexplib0__Sexp.t -> unitval output_hum_indent : int -> out_channel -> Sexplib0__Sexp.t -> unitval output_mach : out_channel -> Sexplib0__Sexp.t -> unitval output : out_channel -> Sexplib0__Sexp.t -> unitmodule Tmp_file : sig ... endval save_of_output :
?perm:int ->
(out_channel -> 'a -> 'b) ->
string ->
'c ->
unitval output_sexp_nl : (out_channel -> 'a -> 'b) -> out_channel -> 'c -> unitval output_sexps_nl :
(out_channel -> 'a -> 'b) ->
out_channel ->
'c list ->
unitval scan_sexp : ?buf:Buffer.t -> Lexing.lexbuf -> Type.tval scan_sexp_opt : ?buf:Buffer.t -> Lexing.lexbuf -> Type.t optionval scan_sexps : ?buf:Buffer.t -> Lexing.lexbuf -> Type.t listval scan_rev_sexps : ?buf:Buffer.t -> Lexing.lexbuf -> Type.t listval get_main_buf : Buffer.t option -> Lexing.lexbuf -> Parser.tokenval scan_fold_sexps :
?buf:Buffer.t ->
f:('a -> Type.t -> 'b) ->
init:'c ->
Lexing.lexbuf ->
'dval scan_iter_sexps :
?buf:Buffer.t ->
f:(Type.t -> unit) ->
Lexing.lexbuf ->
unitval scan_sexps_conv :
?buf:Buffer.t ->
f:(Type.t -> 'a) ->
Lexing.lexbuf ->
'b listmodule Annot : sig ... endmodule Parse_pos : sig ... endmodule Cont_state = Parsexp.Old_parser_cont_stateand ('a, 't) parse_fun = pos:int -> len:int -> 'a -> ('a, 't) parse_resulttype parse_error = {err_msg : string;parse_state : [ `Sexp of t list list parse_state
| `Annot of Annot.stack parse_state ];}exception Parse_error of parse_errormodule Parser_output : sig ... endmodule Make_parser (T : sig ... end) : sig ... endmodule String_single_sexp : sig ... endval parse_str :
?parse_pos:Parse_pos.t ->
?len:int ->
string ->
(string, Type.t) parse_resultval parse :
?parse_pos:Parse_pos.t ->
?len:int ->
string ->
(string, Type.t) parse_resultmodule String_single_annot : sig ... endval parse_str_annot :
?parse_pos:Parse_pos.t ->
?len:int ->
string ->
(string, Annot.t) parse_resultmodule Bigstring_single_sexp : sig ... endval parse_bigstring :
?parse_pos:Parse_pos.t ->
?len:int ->
bigstring ->
(bigstring, Type.t) parse_resultmodule Bigstring_single_annot : sig ... endval parse_bigstring_annot :
?parse_pos:Parse_pos.t ->
?len:int ->
bigstring ->
(bigstring, Annot.t) parse_resultval mk_this_parse :
?parse_pos:Parse_pos.t ->
(?parse_pos:Parse_pos.t -> ?len:'a -> 'b -> 'c) ->
pos:int ->
len:'d ->
'e ->
'fval feed_end_of_input :
this_parse:(pos:int -> len:int -> 'a -> ('b, 'c) parse_result) ->
ws_buf:'d ->
('e, Cont_state.t) resultval gen_input_sexp :
(?parse_pos:Parse_pos.t -> ?len:int -> string -> (string, 'a) parse_result) ->
?parse_pos:Parse_pos.t ->
in_channel ->
'bval input_sexp : ?parse_pos:Parse_pos.t -> in_channel -> Type.tval gen_input_rev_sexps :
(?parse_pos:Parse_pos.t -> ?len:int -> string -> (string, 'a) parse_result) ->
ws_buf:string ->
?parse_pos:Parse_pos.t ->
?buf:bytes ->
in_channel ->
'b listval input_rev_sexps :
?parse_pos:Parse_pos.t ->
?buf:bytes ->
in_channel ->
Type.t listval input_sexps :
?parse_pos:Parse_pos.t ->
?buf:bytes ->
in_channel ->
Type.t listval of_string_bigstring :
string ->
(?parse_pos:Parse_pos.t -> ?len:'a -> 'b -> ('c, 'd) parse_result) ->
'e ->
('f -> 'g) ->
('h -> int -> 'i -> string) ->
'j ->
'kval of_string : string -> Type.tval of_string_many : string -> Parsexp.Many.parsed_valueval get_bstr_sub_str : (char, 'a, 'b) Bigarray.Array1.t -> int -> int -> stringval bstr_ws_buf :
(char, Bigarray.int8_unsigned_elt, Bigarray.c_layout) Bigarray.Array1.tval gen_load_rev_sexps :
(?parse_pos:'a -> ?buf:'b -> in_channel -> 'c) ->
?buf:'d ->
string ->
'eval load_rev_sexps : ?buf:bytes -> string -> Type.t listval load_sexps : ?buf:bytes -> string -> Type.t listval gen_load_sexp :
(?parse_pos:Parse_pos.t -> ?len:int -> string -> (string, 'a) parse_result) ->
?strict:bool ->
?buf:bytes ->
string ->
'bval load_sexp : ?strict:bool -> ?buf:bytes -> string -> Type.tmodule Annotated : sig ... endval load_sexp_conv :
?strict:bool ->
?buf:bytes ->
string ->
(Type.t -> 'a) ->
[> `Error of exn * Annotated.t | `Result of 'b ]val raise_conv_exn :
file:string ->
[< `Error of exn * Annotated.t | `Result of 'a ] ->
'bval load_sexp_conv_exn :
?strict:bool ->
?buf:bytes ->
string ->
(Type.t -> 'a) ->
'bval load_sexps_conv :
?buf:bytes ->
string ->
(Type.t -> 'a) ->
[> `Error of exn * Annotated.t | `Result of 'b ] listval load_sexps_conv_exn : ?buf:bytes -> string -> (Type.t -> 'a) -> 'b listval gen_of_string_conv :
('a -> Type.t) ->
('b -> Annotated.t) ->
'c ->
(Type.t -> 'd) ->
[> `Error of exn * Annotated.t | `Result of 'e ]val of_string_conv :
string ->
(Type.t -> 'a) ->
[> `Error of exn * Annotated.t | `Result of 'a ]val of_bigstring_conv :
bigstring ->
(Type.t -> 'a) ->
[> `Error of exn * Annotated.t | `Result of 'a ]module Of_string_conv_exn : sig ... endval of_string_conv_exn : string -> (Type.t -> 'a) -> 'bval of_string_many_conv_exn : string -> (Type.t -> 'a) -> 'b listval unit : tval is_unit : t -> bool