Module Ppx_type_conv.Type_conv.Args

Specification of generator arguments

type ('a, 'b) t
type 'a param
val empty : ('m'mt
val arg : Ppx_core.string ‑> (Ppx_core.expression'a ‑> 'a Ppx_core.option'a Ppx_core.optionPpx_core.Ast_pattern.t ‑> 'a Ppx_core.option param
val flag : Ppx_core.string ‑> Ppx_core.bool param

Flag matches punned labelled argument, i.e. of the form ~foo. It returns true iff the argument is present.

val (+>) : ('m1'a ‑> 'm2t ‑> 'a param ‑> ('m1'm2t

For convenience, so that one can write the following without having to open both Ast_pattern and Type_conv.Args:


        Type_conv.Args.(empty
                        +> arg_option "foo" (estring __)
                        +> arg_option "bar" (pack2 (eint __ ** eint __))
                        +> flag "dotdotdot"
                       )
      
include module type of sig ... end with type (a, b, c) t := (a, b, c) Ppx_core.Ast_pattern.t
type ('a, 'b, 'c) t = ('a'b'cPpx_core__.Ast_pattern0.t
val parse : ('a'b'ct ‑> Ppx_core.Location.t ‑> 'a ‑> 'b ‑> 'c
val __ : ('a'a ‑> 'b'bt
val __' : ('a'a Ppx_core.Loc.t ‑> 'b'bt
val alt : ('a'b'ct ‑> ('a'b'ct ‑> ('a'b'ct
val alt_option : ('a'v ‑> 'b'ct ‑> ('a'b'ct ‑> ('a'v Ppx_core__.Import.option ‑> 'b'ct
val (|||) : ('a'b'ct ‑> ('a'b'ct ‑> ('a'b'ct
val map : ('a'b'ct ‑> f:('d ‑> 'b) ‑> ('a'd'ct
val map' : ('a'b'ct ‑> f:(Ppx_core.Location.t ‑> 'd ‑> 'b) ‑> ('a'd'ct
val map_result : ('a'b'ct ‑> f:('c ‑> 'd) ‑> ('a'b'dt
val (>>|) : ('a'b'ct ‑> ('d ‑> 'b) ‑> ('a'd'ct
val map0 : ('a'b'ct ‑> f:'v ‑> ('a'v ‑> 'b'ct
val map1 : ('a'v1 ‑> 'b'ct ‑> f:('v1 ‑> 'v) ‑> ('a'v ‑> 'b'ct
val map2 : ('a'v1 ‑> 'v2 ‑> 'b'ct ‑> f:('v1 ‑> 'v2 ‑> 'v) ‑> ('a'v ‑> 'b'ct
val map0' : ('a'b'ct ‑> f:(Ppx_core.Location.t ‑> 'v) ‑> ('a'v ‑> 'b'ct
val map1' : ('a'v1 ‑> 'b'ct ‑> f:(Ppx_core.Location.t ‑> 'v1 ‑> 'v) ‑> ('a'v ‑> 'b'ct
val map2' : ('a'v1 ‑> 'v2 ‑> 'b'ct ‑> f:(Ppx_core.Location.t ‑> 'v1 ‑> 'v2 ‑> 'v) ‑> ('a'v ‑> 'b'ct
val nil : ('b Ppx_core__.Import.list'a'at
val (^::) : ('a'b'ct ‑> ('a Ppx_core__.Import.list'c'dt ‑> ('a Ppx_core__.Import.list'b'dt
val many : ('a'b ‑> 'b'ct ‑> ('a Ppx_core__.Import.list'c Ppx_core__.Import.list ‑> 'd'dt
val int : Ppx_core__.Import.int ‑> (Ppx_core__.Import.int'a'at
val char : Ppx_core__.Import.char ‑> (Ppx_core__.Import.char'a'at
val string : Ppx_core__.Import.string ‑> (Ppx_core__.Import.string'a'at
val float : Ppx_core__.Import.float ‑> (Ppx_core__.Import.float'a'at
val int32 : Ppx_core__.Import.int32 ‑> (Ppx_core__.Import.int32'a'at
val int64 : Ppx_core__.Import.int64 ‑> (Ppx_core__.Import.int64'a'at
val bool : Ppx_core__.Import.bool ‑> (Ppx_core__.Import.bool'a'at
val cst : to_string:('a ‑> Ppx_core__.Import.string) ‑> ?equal:('a ‑> 'a ‑> Ppx_core__.Import.bool) ‑> 'a ‑> ('a'b'bt
val none : ('b Ppx_core__.Import.option'a'at
val some : ('a'b'ct ‑> ('a Ppx_core__.Import.option'b'ct
val pair : ('a1'b'ct ‑> ('a2'c'dt ‑> ('a1 * 'a2'b'dt
val (**) : ('a1'b'ct ‑> ('a2'c'dt ‑> ('a1 * 'a2'b'dt
val triple : ('a1'b'ct ‑> ('a2'c'dt ‑> ('a3'd'et ‑> ('a1 * 'a2 * 'a3'b'et
val loc : ('a'b'ct ‑> ('a Ppx_core.Loc.t'b'ct
val pack0 : ('a'b'ct ‑> ('aPpx_core__.Import.unit ‑> 'b'ct
val pack2 : ('a'b ‑> 'c ‑> 'd'et ‑> ('a, ('b * 'c) ‑> 'd'et
val pack3 : ('a'b ‑> 'c ‑> 'd ‑> 'e'ft ‑> ('a, ('b * 'c * 'd) ‑> 'e'ft
val labelled : (string, 'a'bPpx_core__.Ast_pattern0.t ‑> (Ppx_core__.Import.arg_label'a'bPpx_core__.Ast_pattern0.t
val optional : (string, 'a'bPpx_core__.Ast_pattern0.t ‑> (Ppx_core__.Import.arg_label'a'bPpx_core__.Ast_pattern0.t
val pconst_integer : (string, 'a'bPpx_core__.Ast_pattern0.t ‑> (char option, 'b'cPpx_core__.Ast_pattern0.t ‑> (Ppx_core__.Import.constant'a'cPpx_core__.Ast_pattern0.t
val pconst_char : (char, 'a'bPpx_core__.Ast_pattern0.t ‑> (Ppx_core__.Import.constant'a'bPpx_core__.Ast_pattern0.t
val pconst_string : (string, 'a'bPpx_core__.Ast_pattern0.t ‑> (string option, 'b'cPpx_core__.Ast_pattern0.t ‑> (Ppx_core__.Import.constant'a'cPpx_core__.Ast_pattern0.t
val pconst_float : (string, 'a'bPpx_core__.Ast_pattern0.t ‑> (char option, 'b'cPpx_core__.Ast_pattern0.t ‑> (Ppx_core__.Import.constant'a'cPpx_core__.Ast_pattern0.t
val ptyp_var : (string, 'a'bPpx_core__.Ast_pattern0.t ‑> (Ppx_core__.Import.core_type'a'bPpx_core__.Ast_pattern0.t
val pdir_string : (string, 'a'bPpx_core__.Ast_pattern0.t ‑> (Ppx_core__.Import.directive_argument'a'bPpx_core__.Ast_pattern0.t
val pdir_int : (string, 'a'bPpx_core__.Ast_pattern0.t ‑> (char option, 'b'cPpx_core__.Ast_pattern0.t ‑> (Ppx_core__.Import.directive_argument'a'cPpx_core__.Ast_pattern0.t
val pexp_unreachable : (Ppx_core__.Import.expression'a'aPpx_core__.Ast_pattern0.t
val include_infos : mod_:('a'b'cPpx_core__.Ast_pattern0.t ‑> ('a Ppx_core__.Import.include_infos'b'cPpx_core__.Ast_pattern0.t
val lident : (string, 'a'bPpx_core__.Ast_pattern0.t ‑> (Ppx_core__.Import.longident'a'bPpx_core__.Ast_pattern0.t
val module_binding : name:(string, 'a'bPpx_core__.Ast_pattern0.t ‑> expr:(Ppx_core__.Import.module_expr'b'cPpx_core__.Ast_pattern0.t ‑> (Ppx_core__.Import.module_binding'a'cPpx_core__.Ast_pattern0.t
val module_declaration : name:(string, 'a'bPpx_core__.Ast_pattern0.t ‑> type_:(Ppx_core__.Import.module_type'b'cPpx_core__.Ast_pattern0.t ‑> (Ppx_core__.Import.module_declaration'a'cPpx_core__.Ast_pattern0.t
val module_type_declaration : name:(string, 'a'bPpx_core__.Ast_pattern0.t ‑> type_:(Ppx_core__.Import.module_type option, 'b'cPpx_core__.Ast_pattern0.t ‑> (Ppx_core__.Import.module_type_declaration'a'cPpx_core__.Ast_pattern0.t
val ppat_var : (string, 'a'bPpx_core__.Ast_pattern0.t ‑> (Ppx_core__.Import.pattern'a'bPpx_core__.Ast_pattern0.t
val ppat_unpack : (string, 'a'bPpx_core__.Ast_pattern0.t ‑> (Ppx_core__.Import.pattern'a'bPpx_core__.Ast_pattern0.t
val position : fname:(string, 'a'bPpx_core__.Ast_pattern0.t ‑> lnum:(int, 'b'cPpx_core__.Ast_pattern0.t ‑> bol:(int, 'c'dPpx_core__.Ast_pattern0.t ‑> cnum:(int, 'd'ePpx_core__.Ast_pattern0.t ‑> (Ppx_core__.Import.position'a'ePpx_core__.Ast_pattern0.t
val ptype_abstract : (Ppx_core__.Import.type_kind'a'aPpx_core__.Ast_pattern0.t
val value_description : name:(string, 'a'bPpx_core__.Ast_pattern0.t ‑> type_:(Ppx_core__.Import.core_type'b'cPpx_core__.Ast_pattern0.t ‑> prim:(string list, 'c'dPpx_core__.Ast_pattern0.t ‑> (Ppx_core__.Import.value_description'a'dPpx_core__.Ast_pattern0.t
val contravariant : (Ppx_core__.Import.variance'a'aPpx_core__.Ast_pattern0.t
val true_ : (Ppx_core__.Import.bool'a'at
val false_ : (Ppx_core__.Import.bool'a'at
val eint : (Ppx_core__.Import.int'a'bt ‑> (Ppx_core__.Import.expression'a'bt
val echar : (Ppx_core__.Import.char'a'bt ‑> (Ppx_core__.Import.expression'a'bt
val estring : (Ppx_core__.Import.string'a'bt ‑> (Ppx_core__.Import.expression'a'bt
val efloat : (Ppx_core__.Import.string'a'bt ‑> (Ppx_core__.Import.expression'a'bt
val eint32 : (Ppx_core__.Import.int32'a'bt ‑> (Ppx_core__.Import.expression'a'bt
val eint64 : (Ppx_core__.Import.int64'a'bt ‑> (Ppx_core__.Import.expression'a'bt
val enativeint : (Ppx_core__.Import.nativeint'a'bt ‑> (Ppx_core__.Import.expression'a'bt
val pint : (Ppx_core__.Import.int'a'bt ‑> (Ppx_core__.Import.pattern'a'bt
val pchar : (Ppx_core__.Import.char'a'bt ‑> (Ppx_core__.Import.pattern'a'bt
val pstring : (Ppx_core__.Import.string'a'bt ‑> (Ppx_core__.Import.pattern'a'bt
val pfloat : (Ppx_core__.Import.string'a'bt ‑> (Ppx_core__.Import.pattern'a'bt
val pint32 : (Ppx_core__.Import.int32'a'bt ‑> (Ppx_core__.Import.pattern'a'bt
val pint64 : (Ppx_core__.Import.int64'a'bt ‑> (Ppx_core__.Import.pattern'a'bt
val pnativeint : (Ppx_core__.Import.nativeint'a'bt ‑> (Ppx_core__.Import.pattern'a'bt
val single_expr_payload : (Ppx_core__.Import.expression'a'bt ‑> (Ppx_core__.Import.payload'a'bt
val no_label : (Ppx_core__.Import.expression'a'bt ‑> (Ppx_core__.Import.Asttypes.arg_label * Ppx_core__.Import.expression'a'bt
val attribute : (Ppx_core__.Import.string'a'bt ‑> (Ppx_core__.Import.payload'b'ct ‑> (Ppx_core__.Import.attribute'a'ct
val extension : (Ppx_core__.Import.string'a'bt ‑> (Ppx_core__.Import.payload'b'ct ‑> (Ppx_core__.Import.attribute'a'ct
val of_func : (context ‑> Ppx_core.Location.t ‑> 'a ‑> 'b ‑> 'c) ‑> ('a'b'ct
val to_func : ('a'b'ct ‑> context ‑> Ppx_core.Location.t ‑> 'a ‑> 'b ‑> 'c