Module Parsexp.Conv_single

type 'a single_or_many = 'a
module Parse_error : sig ... end
module Of_sexp_error : sig ... end
module Conv_error : sig ... end
val parse_string : Base.string ‑> (Base.Sexp.t ‑> 'a) ‑> ('a single_or_manyConv_error.tBase.Result.t
val parse_string_exn : Base.string ‑> (Base.Sexp.t ‑> 'a) ‑> 'a single_or_many
val conv : (Base.Sexp.t single_or_many * Positions.t) ‑> (Base.Sexp.t ‑> 'a) ‑> ('a single_or_manyOf_sexp_error.tBase.Result.t
val conv_exn : (Base.Sexp.t single_or_many * Positions.t) ‑> (Base.Sexp.t ‑> 'a) ‑> 'a single_or_many
val conv_combine : (Base.Sexp.t single_or_many * Positions.tParse_error.tBase.Result.t ‑> (Base.Sexp.t ‑> 'a) ‑> ('a single_or_manyConv_error.tBase.Result.t

Convenience function for merging parsing and conversion errors.

For instance if you have a load function as follow:


        val load : string -> (Sexp.t list * Positions.t, Parse_error.t) Result.t
      

then you can create a load_conv function as follow:


        let load_conv : string -> (Sexp.t -> 'a) -> ('a list, Conv_error.t) Result.t
          = fun filename f -> conv_combine (load filename) f