jon.recoil.org

Module Parsexp.Conv_many_at_onceSource

val parse_string : string -> (Parsexp.sexp_list -> 'a) -> ('a Parsexp.id, Parsexp.Conv_error.t) Stdlib.result @@ portable
val parse_string_exn : string -> (Parsexp.sexp_list -> 'a) -> 'a Parsexp.id @@ portable
val conv_exn : (Parsexp.sexp_list * Parsexp.Positions.t) -> (Parsexp.sexp_list -> 'a) -> 'a Parsexp.id @@ portable

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

then you can create a load_conv function as follow:

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