Module B00_serialk_sexp.Sexp

type !'a fmt = Format.formatter -> 'a -> unit
val pp_loc : loc fmt
type a_meta
type l_meta
val a_meta_nil : a_meta
val l_meta_nil : l_meta
type t = [
  1. | `A of string * a_meta
  2. | `L of t list * l_meta
]
val atom : string -> t
val list : t list -> t
val loc : t -> loc
val to_atom : t -> (string, string) result
val get_atom : t -> string
val to_list : t -> (t list, string) result
val get_list : t -> t list
val to_splice : t -> t list
val pp : t fmt
val pp_layout : t fmt
val pp_seq : t fmt
val pp_seq_layout : t fmt
type error_kind
val pp_error_kind : unit -> error_kind fmt
type error = error_kind * loc
val pp_error : ?pp_loc:loc fmt -> ?pp_error_kind:error_kind fmt -> ?pp_prefix:unit fmt -> unit -> error fmt
val error_to_string : ?pp_error:error fmt -> ('a, error) result -> ('a, string) result
val seq_of_string : ?file:B00_serialk_text.Tloc.fpath -> string -> (t, error) result
val seq_of_string' : ?pp_error:error fmt -> ?file:B00_serialk_text.Tloc.fpath -> string -> (t, string) result
val seq_to_string : t -> string
type index =
  1. | Nth of int
  2. | Key of string
val pp_key : string fmt
val pp_index : ?pp_key:string fmt -> unit -> index fmt
type path = index list
val path_of_string : string -> (path, string) result
val pp_path : ?pp_key:string fmt -> unit -> path fmt
type caret_loc =
  1. | Before
  2. | Over
  3. | After
type caret = caret_loc * path
val caret_of_string : string -> (caret, string) result
val pp_caret : ?pp_key:string fmt -> unit -> caret fmt