Module type Ppx_core__.Ast_builder_intf.Additional_helpers

type 'a with_loc
val eint : (Ppx_core__.Import.int ‑> Ppx_core__.Import.expression) with_loc
val echar : (Ppx_core__.Import.char ‑> Ppx_core__.Import.expression) with_loc
val estring : (Ppx_core__.Import.string ‑> Ppx_core__.Import.expression) with_loc
val efloat : (Ppx_core__.Import.string ‑> Ppx_core__.Import.expression) with_loc
val eint32 : (Ppx_core__.Import.int32 ‑> Ppx_core__.Import.expression) with_loc
val eint64 : (Ppx_core__.Import.int64 ‑> Ppx_core__.Import.expression) with_loc
val enativeint : (Ppx_core__.Import.nativeint ‑> Ppx_core__.Import.expression) with_loc
val ebool : (Ppx_core__.Import.bool ‑> Ppx_core__.Import.expression) with_loc
val pint : (Ppx_core__.Import.int ‑> Ppx_core__.Import.pattern) with_loc
val pchar : (Ppx_core__.Import.char ‑> Ppx_core__.Import.pattern) with_loc
val pstring : (Ppx_core__.Import.string ‑> Ppx_core__.Import.pattern) with_loc
val pfloat : (Ppx_core__.Import.string ‑> Ppx_core__.Import.pattern) with_loc
val pint32 : (Ppx_core__.Import.int32 ‑> Ppx_core__.Import.pattern) with_loc
val pint64 : (Ppx_core__.Import.int64 ‑> Ppx_core__.Import.pattern) with_loc
val pnativeint : (Ppx_core__.Import.nativeint ‑> Ppx_core__.Import.pattern) with_loc
val pbool : (Ppx_core__.Import.bool ‑> Ppx_core__.Import.pattern) with_loc
val eunit : Ppx_core__.Import.expression with_loc
val punit : Ppx_core__.Import.pattern with_loc
val evar : (Ppx_core__.Import.string ‑> Ppx_core__.Import.expression) with_loc

evar id produces a Pexp_ident _ expression, it parses its input so you can pass any dot-separated identifier, for instance: evar ~loc "Foo.bar".

val pvar : (Ppx_core__.Import.string ‑> Ppx_core__.Import.pattern) with_loc
val eapply : (Ppx_core__.Import.expression ‑> Ppx_core__.Import.expression Ppx_core__.Import.list ‑> Ppx_core__.Import.expression) with_loc

Same as pexp_apply but without labels

val eabstract : (Ppx_core__.Import.pattern Ppx_core__.Import.list ‑> Ppx_core__.Import.expression ‑> Ppx_core__.Import.expression) with_loc
val esequence : (Ppx_core__.Import.expression Ppx_core__.Import.list ‑> Ppx_core__.Import.expression) with_loc
val ppat_tuple_opt : (Ppx_core__.Import.pattern Ppx_core__.Import.list ‑> Ppx_core__.Import.pattern Ppx_core__.Import.option) with_loc
val pexp_tuple_opt : (Ppx_core__.Import.expression Ppx_core__.Import.list ‑> Ppx_core__.Import.expression Ppx_core__.Import.option) with_loc
val pconstruct : Ppx_core__.Import.constructor_declaration ‑> Ppx_core__.Import.pattern Ppx_core__.Import.option ‑> Ppx_core__.Import.pattern
val econstruct : Ppx_core__.Import.constructor_declaration ‑> Ppx_core__.Import.expression Ppx_core__.Import.option ‑> Ppx_core__.Import.expression
val elist : (Ppx_core__.Import.expression Ppx_core__.Import.list ‑> Ppx_core__.Import.expression) with_loc
val plist : (Ppx_core__.Import.pattern Ppx_core__.Import.list ‑> Ppx_core__.Import.pattern) with_loc
val pstr_value_list : loc:Ppx_core.Location.t ‑> Ppx_core__.Import.Asttypes.rec_flag ‑> Ppx_core__.Import.value_binding Ppx_core__.Import.list ‑> Ppx_core__.Import.structure_item Ppx_core__.Import.list

pstr_value_list ~loc rf vbs = pstr_value ~loc rf vbs if vbs <> [], [] otherwise.

val nonrec_type_declaration : (name:Ppx_core__.Import.string Ppx_core.Loc.t ‑> params:(Ppx_core__.Import.core_type * Ppx_core__.Import.Asttypes.variance) Ppx_core__.Import.list ‑> cstrs:(Ppx_core__.Import.core_type * Ppx_core__.Import.core_type * Ppx_core.Location.t) Ppx_core__.Import.list ‑> kind:Ppx_core__.Import.type_kind ‑> private_:Ppx_core__.Import.Asttypes.private_flag ‑> manifest:Ppx_core__.Import.core_type Ppx_core__.Import.option ‑> Ppx_core__.Import.type_declaration) with_loc
val unapplied_type_constr_conv : (Ppx_core.Longident.t Ppx_core.Loc.t ‑> f:(Ppx_core__.Import.string ‑> Ppx_core__.Import.string) ‑> Ppx_core__.Import.expression) with_loc

unapplied_type_constr_conv is the standard way to map identifiers to conversion fonctions, for preprocessor that creates values that follow the structure of types. More precisely, path_conv path (sprintf "sexp_of_%s") is:

val type_constr_conv : (Ppx_core.Longident.t Ppx_core.Loc.t ‑> f:(Ppx_core__.Import.string ‑> Ppx_core__.Import.string) ‑> Ppx_core__.Import.expression Ppx_core__.Import.list ‑> Ppx_core__.Import.expression) with_loc