Melange_ppx_lib.Ast_io
module Intf_or_impl: { ... };
type input_version = (module OCaml_version);
let fall_back_input_version: (module OCaml_version);
type read_error =
| Not_a_binary_ast
| Unknown_version(string, input_version)
| Source_parse_error(Ppxlib_ast.Location_error.t, input_version)
| System_error(Ppxlib_ast.Location_error.t, input_version)
;
type input_kind =
| Possibly_source of {
filename: string,
parse_fun: Lexing.lexbuf => Intf_or_impl.t,
}
| Necessarily_binary
;
let read: input_source => input_kind:input_kind => result(t, read_error);
let read_exn: input_source => input_kind:input_kind => t;