package ppxlib
- Overview
- No Docs
You can search for identifiers within the package.
in-package search v0.2.0
Install
dune-project
Dependency
Authors
Maintainers
Sources
sha256=a51b3868029e62ff14a0f2bd8d278dacfc0c3fc5b22d484a296be90c53e4ffd7
sha512=6a6d9af49344e901cc9e6da7bcf38c2973705c8cee4cff1c64c0393e9ccc55a6abec1f58d5b56d0807939a3741bec722ee7bfc244f94619167a30438f182488a
doc/ppxlib/Ppxlib/Ast_pattern/index.html
Module Ppxlib.Ast_patternSource
First class AST patterns
PPX rewriters often need to recognize fragments the OCaml AST, for instance to parse the payload of an attribute/expression. You can do that with a pattern matching and manual error reporting when the input is not what you expect but this has proven to quickly become extremely verbose and unreadable.
This module aims to help with that by providing first class AST patterns.
To understand how to use it, let's consider the example of ppx_inline_test. We want to recognize patterns of the form:
let%test "name" = expr Which is a syntactic sugar for:
[%%test let "name" = expr] If we wanted to write a function that recognizes the payload of %%test using normal pattern matching we would write:
let match_payload = function
| Pstr [ { pstr_desc = Pstr_value (Nonrecursive,
[ { pvb_pat = Ppat_constant (Constant_string
(name, None))
; pvb_expr = e
; _ } ])
; _ } ] ->
(name, e)
| _ -> Location.raisef ...This is quite cumbersome, and this is still not right: this function drops all attributes without notice.
Now let's imagine we wanted to construct the payload instead, using Ast_builder one would write:
let build_payload ~loc name expr =
let (module B) = Ast_builder.with_loc loc in
let open B in
pstr
[ pstr_value Nonrecursive (value_binding ~pat:(pstring name) ~expr) ]Constructing a first class pattern is almost as simple as replacing Ast_builder by Ast_pattern:
let payload_pattern name expr =
let open Ast_pattern in
pstr
(pstr_value nonrecursive (value_binding ~pat:(pstring __) ~expr:__)
^:: nil)Notice that the place-holders for name and expr have been replaced by __. The following pattern with have type:
(payload, string -> expression -> 'a, 'a) Ast_pattern.t which means that it matches values of type payload and captures a string and expression from it. The two captured elements comes from the use of __.
Type of a pattern:
'ais the type of value matched by the pattern'bis the continuation, for instance for a pattern that captures anintand astring,'bwill beint -> string -> _'cis the result of the continuation.
Matches a value against a pattern.
Same as __ but also captures the location.
Note: this should only be used for types that do not embed a location. For instance you can use it to capture a string constant:
estring __' but using it to capture an expression would not yield the expected result:
pair (eint (int 42)) __' In the latter case you should use the pexp_loc field of the captured expression instead.
Useful when some part of the AST is irrelevant. With __, the captured value is passed to the continuation, with drop it is ignored. In higher-level pattern matching, it is called wildcard pattern.
As-pattern. Passes the current node to the continuation.
Pitfall. In general, the continuation is called step by step by being applied partially to every next captured node in the pattern. That means that the node captured by as__ is passed to the continuation before checking if the pattern is matched.
alt stands for `alternatives'. It matches either the first pattern or the second one.
Same as alt, for the common case where the left-hand-side captures a value but not the right-hand-side.
val map2' :
('a, 'v1 -> 'v2 -> 'b, 'c) t ->
f:(Location.t -> 'v1 -> 'v2 -> 'v) ->
('a, 'v -> 'b, 'c) tAST patterns for each constructor/record of the parsetree are generated in the same way AST builders are generated. In addition, for every wrapper we generate a pattern to match the loc and attributes fields. For instance for the expression type:
val pexp_loc :
(Location.t, 'a, 'b) t ->
(expression, 'b, 'c) t ->
(expression, 'a, 'c) t
val pexp_attributes :
(attributes, 'a, 'b) t ->
(expression, 'b, 'c) t ->
(expression, 'a, 'c) tval labelled :
(string, 'a, 'b) Ppxlib__.Ast_pattern0.t ->
(Astlib.Ast_412.Asttypes.arg_label, 'a, 'b) Ppxlib__.Ast_pattern0.tval optional :
(string, 'a, 'b) Ppxlib__.Ast_pattern0.t ->
(Astlib.Ast_412.Asttypes.arg_label, 'a, 'b) Ppxlib__.Ast_pattern0.tval binding_op :
op:(string, 'a, 'b) Ppxlib__.Ast_pattern0.t ->
pat:(Astlib.Ast_412.Parsetree.pattern, 'b, 'c) Ppxlib__.Ast_pattern0.t ->
exp:(Astlib.Ast_412.Parsetree.expression, 'c, 'd) Ppxlib__.Ast_pattern0.t ->
(Astlib.Ast_412.Parsetree.binding_op, 'a, 'd) Ppxlib__.Ast_pattern0.tval case :
lhs:(Astlib.Ast_412.Parsetree.pattern, 'a, 'b) Ppxlib__.Ast_pattern0.t ->
guard:
(Astlib.Ast_412.Parsetree.expression option, 'b, 'c)
Ppxlib__.Ast_pattern0.t ->
rhs:(Astlib.Ast_412.Parsetree.expression, 'c, 'd) Ppxlib__.Ast_pattern0.t ->
(Astlib.Ast_412.Parsetree.case, 'a, 'd) Ppxlib__.Ast_pattern0.tval pcl_loc :
(Astlib.Location.t, 'a, 'b) Ppxlib__.Ast_pattern0.t ->
(Astlib.Ast_412.Parsetree.class_expr, 'b, 'c) Ppxlib__.Ast_pattern0.t ->
(Astlib.Ast_412.Parsetree.class_expr, 'a, 'c) Ppxlib__.Ast_pattern0.tval pcl_attributes :
(Astlib.Ast_412.Parsetree.attribute list, 'a, 'b) Ppxlib__.Ast_pattern0.t ->
(Astlib.Ast_412.Parsetree.class_expr, 'b, 'c) Ppxlib__.Ast_pattern0.t ->
(Astlib.Ast_412.Parsetree.class_expr, 'a, 'c) Ppxlib__.Ast_pattern0.tval pcl_constr :
(Astlib.Longident.t, 'a, 'b) Ppxlib__.Ast_pattern0.t ->
(Astlib.Ast_412.Parsetree.core_type list, 'b, 'c) Ppxlib__.Ast_pattern0.t ->
(Astlib.Ast_412.Parsetree.class_expr, 'a, 'c) Ppxlib__.Ast_pattern0.tval pcl_structure :
(Astlib.Ast_412.Parsetree.class_structure, 'a, 'b) Ppxlib__.Ast_pattern0.t ->
(Astlib.Ast_412.Parsetree.class_expr, 'a, 'b) Ppxlib__.Ast_pattern0.tval pcl_fun :
(Astlib.Ast_412.Asttypes.arg_label, 'a, 'b) Ppxlib__.Ast_pattern0.t ->
(Astlib.Ast_412.Parsetree.expression option, 'b, 'c) Ppxlib__.Ast_pattern0.t ->
(Astlib.Ast_412.Parsetree.pattern, 'c, 'd) Ppxlib__.Ast_pattern0.t ->
(Astlib.Ast_412.Parsetree.class_expr, 'd, 'e) Ppxlib__.Ast_pattern0.t ->
(Astlib.Ast_412.Parsetree.class_expr, 'a, 'e) Ppxlib__.Ast_pattern0.tval pcl_apply :
(Astlib.Ast_412.Parsetree.class_expr, 'a, 'b) Ppxlib__.Ast_pattern0.t ->
((Astlib.Ast_412.Asttypes.arg_label * Astlib.Ast_412.Parsetree.expression)
list,
'b,
'c)
Ppxlib__.Ast_pattern0.t ->
(Astlib.Ast_412.Parsetree.class_expr, 'a, 'c) Ppxlib__.Ast_pattern0.tval pcl_let :
(Astlib.Ast_412.Asttypes.rec_flag, 'a, 'b) Ppxlib__.Ast_pattern0.t ->
(Astlib.Ast_412.Parsetree.value_binding list, 'b, 'c) Ppxlib__.Ast_pattern0.t ->
(Astlib.Ast_412.Parsetree.class_expr, 'c, 'd) Ppxlib__.Ast_pattern0.t ->
(Astlib.Ast_412.Parsetree.class_expr, 'a, 'd) Ppxlib__.Ast_pattern0.tval pcl_constraint :
(Astlib.Ast_412.Parsetree.class_expr, 'a, 'b) Ppxlib__.Ast_pattern0.t ->
(Astlib.Ast_412.Parsetree.class_type, 'b, 'c) Ppxlib__.Ast_pattern0.t ->
(Astlib.Ast_412.Parsetree.class_expr, 'a, 'c) Ppxlib__.Ast_pattern0.tval pcl_extension :
(string Astlib.Location.loc * Astlib.Ast_412.Parsetree.payload, 'a, 'b)
Ppxlib__.Ast_pattern0.t ->
(Astlib.Ast_412.Parsetree.class_expr, 'a, 'b) Ppxlib__.Ast_pattern0.tval pcl_open :
(Astlib.Longident.t Astlib.Location.loc Astlib.Ast_412.Parsetree.open_infos,
'a,
'b)
Ppxlib__.Ast_pattern0.t ->
(Astlib.Ast_412.Parsetree.class_expr, 'b, 'c) Ppxlib__.Ast_pattern0.t ->
(Astlib.Ast_412.Parsetree.class_expr, 'a, 'c) Ppxlib__.Ast_pattern0.tval pcf_loc :
(Astlib.Location.t, 'a, 'b) Ppxlib__.Ast_pattern0.t ->
(Astlib.Ast_412.Parsetree.class_field, 'b, 'c) Ppxlib__.Ast_pattern0.t ->
(Astlib.Ast_412.Parsetree.class_field, 'a, 'c) Ppxlib__.Ast_pattern0.tval pcf_attributes :
(Astlib.Ast_412.Parsetree.attribute list, 'a, 'b) Ppxlib__.Ast_pattern0.t ->
(Astlib.Ast_412.Parsetree.class_field, 'b, 'c) Ppxlib__.Ast_pattern0.t ->
(Astlib.Ast_412.Parsetree.class_field, 'a, 'c) Ppxlib__.Ast_pattern0.tval pcf_inherit :
(Astlib.Ast_412.Asttypes.override_flag, 'a, 'b) Ppxlib__.Ast_pattern0.t ->
(Astlib.Ast_412.Parsetree.class_expr, 'b, 'c) Ppxlib__.Ast_pattern0.t ->
(string Astlib.Location.loc option, 'c, 'd) Ppxlib__.Ast_pattern0.t ->
(Astlib.Ast_412.Parsetree.class_field, 'a, 'd) Ppxlib__.Ast_pattern0.tval pcf_val :
(string Astlib.Location.loc
* Astlib.Ast_412.Asttypes.mutable_flag
* Astlib.Ast_412.Parsetree.class_field_kind,
'a,
'b)
Ppxlib__.Ast_pattern0.t ->
(Astlib.Ast_412.Parsetree.class_field, 'a, 'b) Ppxlib__.Ast_pattern0.tval pcf_method :
(string Astlib.Location.loc
* Astlib.Ast_412.Asttypes.private_flag
* Astlib.Ast_412.Parsetree.class_field_kind,
'a,
'b)
Ppxlib__.Ast_pattern0.t ->
(Astlib.Ast_412.Parsetree.class_field, 'a, 'b) Ppxlib__.Ast_pattern0.tval pcf_constraint :
(Astlib.Ast_412.Parsetree.core_type * Astlib.Ast_412.Parsetree.core_type,
'a,
'b)
Ppxlib__.Ast_pattern0.t ->
(Astlib.Ast_412.Parsetree.class_field, 'a, 'b) Ppxlib__.Ast_pattern0.tval pcf_initializer :
(Astlib.Ast_412.Parsetree.expression, 'a, 'b) Ppxlib__.Ast_pattern0.t ->
(Astlib.Ast_412.Parsetree.class_field, 'a, 'b) Ppxlib__.Ast_pattern0.tval pcf_attribute :
(Astlib.Ast_412.Parsetree.attribute, 'a, 'b) Ppxlib__.Ast_pattern0.t ->
(Astlib.Ast_412.Parsetree.class_field, 'a, 'b) Ppxlib__.Ast_pattern0.tval pcf_extension :
(string Astlib.Location.loc * Astlib.Ast_412.Parsetree.payload, 'a, 'b)
Ppxlib__.Ast_pattern0.t ->
(Astlib.Ast_412.Parsetree.class_field, 'a, 'b) Ppxlib__.Ast_pattern0.tval cfk_virtual :
(Astlib.Ast_412.Parsetree.core_type, 'a, 'b) Ppxlib__.Ast_pattern0.t ->
(Astlib.Ast_412.Parsetree.class_field_kind, 'a, 'b) Ppxlib__.Ast_pattern0.tval cfk_concrete :
(Astlib.Ast_412.Asttypes.override_flag, 'a, 'b) Ppxlib__.Ast_pattern0.t ->
(Astlib.Ast_412.Parsetree.expression, 'b, 'c) Ppxlib__.Ast_pattern0.t ->
(Astlib.Ast_412.Parsetree.class_field_kind, 'a, 'c) Ppxlib__.Ast_pattern0.tval class_infos_attributes :
(Astlib.Ast_412.Parsetree.attribute list, 'a, 'b) Ppxlib__.Ast_pattern0.t ->
('c Astlib.Ast_412.Parsetree.class_infos, 'b, 'd) Ppxlib__.Ast_pattern0.t ->
('c Astlib.Ast_412.Parsetree.class_infos, 'a, 'd) Ppxlib__.Ast_pattern0.tval class_infos :
virt:(Astlib.Ast_412.Asttypes.virtual_flag, 'a, 'b) Ppxlib__.Ast_pattern0.t ->
params:
((Astlib.Ast_412.Parsetree.core_type
* (Astlib.Ast_412.Asttypes.variance * Astlib.Ast_412.Asttypes.injectivity))
list,
'b,
'c)
Ppxlib__.Ast_pattern0.t ->
name:(string, 'c, 'd) Ppxlib__.Ast_pattern0.t ->
expr:('e, 'd, 'f) Ppxlib__.Ast_pattern0.t ->
('e Astlib.Ast_412.Parsetree.class_infos, 'a, 'f) Ppxlib__.Ast_pattern0.tval class_signature :
self:(Astlib.Ast_412.Parsetree.core_type, 'a, 'b) Ppxlib__.Ast_pattern0.t ->
fields:
(Astlib.Ast_412.Parsetree.class_type_field list, 'b, 'c)
Ppxlib__.Ast_pattern0.t ->
(Astlib.Ast_412.Parsetree.class_signature, 'a, 'c) Ppxlib__.Ast_pattern0.tval class_structure :
self:(Astlib.Ast_412.Parsetree.pattern, 'a, 'b) Ppxlib__.Ast_pattern0.t ->
fields:
(Astlib.Ast_412.Parsetree.class_field list, 'b, 'c) Ppxlib__.Ast_pattern0.t ->
(Astlib.Ast_412.Parsetree.class_structure, 'a, 'c) Ppxlib__.Ast_pattern0.tval pcty_loc :
(Astlib.Location.t, 'a, 'b) Ppxlib__.Ast_pattern0.t ->
(Astlib.Ast_412.Parsetree.class_type, 'b, 'c) Ppxlib__.Ast_pattern0.t ->
(Astlib.Ast_412.Parsetree.class_type, 'a, 'c) Ppxlib__.Ast_pattern0.tval pcty_attributes :
(Astlib.Ast_412.Parsetree.attribute list, 'a, 'b) Ppxlib__.Ast_pattern0.t ->
(Astlib.Ast_412.Parsetree.class_type, 'b, 'c) Ppxlib__.Ast_pattern0.t ->
(Astlib.Ast_412.Parsetree.class_type, 'a, 'c) Ppxlib__.Ast_pattern0.tval pcty_constr :
(Astlib.Longident.t, 'a, 'b) Ppxlib__.Ast_pattern0.t ->
(Astlib.Ast_412.Parsetree.core_type list, 'b, 'c) Ppxlib__.Ast_pattern0.t ->
(Astlib.Ast_412.Parsetree.class_type, 'a, 'c) Ppxlib__.Ast_pattern0.tval pcty_signature :
(Astlib.Ast_412.Parsetree.class_signature, 'a, 'b) Ppxlib__.Ast_pattern0.t ->
(Astlib.Ast_412.Parsetree.class_type, 'a, 'b) Ppxlib__.Ast_pattern0.tval pcty_arrow :
(Astlib.Ast_412.Asttypes.arg_label, 'a, 'b) Ppxlib__.Ast_pattern0.t ->
(Astlib.Ast_412.Parsetree.core_type, 'b, 'c) Ppxlib__.Ast_pattern0.t ->
(Astlib.Ast_412.Parsetree.class_type, 'c, 'd) Ppxlib__.Ast_pattern0.t ->
(Astlib.Ast_412.Parsetree.class_type, 'a, 'd) Ppxlib__.Ast_pattern0.tval pcty_extension :
(string Astlib.Location.loc * Astlib.Ast_412.Parsetree.payload, 'a, 'b)
Ppxlib__.Ast_pattern0.t ->
(Astlib.Ast_412.Parsetree.class_type, 'a, 'b) Ppxlib__.Ast_pattern0.tval pcty_open :
(Astlib.Longident.t Astlib.Location.loc Astlib.Ast_412.Parsetree.open_infos,
'a,
'b)
Ppxlib__.Ast_pattern0.t ->
(Astlib.Ast_412.Parsetree.class_type, 'b, 'c) Ppxlib__.Ast_pattern0.t ->
(Astlib.Ast_412.Parsetree.class_type, 'a, 'c) Ppxlib__.Ast_pattern0.tval pctf_loc :
(Astlib.Location.t, 'a, 'b) Ppxlib__.Ast_pattern0.t ->
(Astlib.Ast_412.Parsetree.class_type_field, 'b, 'c) Ppxlib__.Ast_pattern0.t ->
(Astlib.Ast_412.Parsetree.class_type_field, 'a, 'c) Ppxlib__.Ast_pattern0.tval pctf_attributes :
(Astlib.Ast_412.Parsetree.attribute list, 'a, 'b) Ppxlib__.Ast_pattern0.t ->
(Astlib.Ast_412.Parsetree.class_type_field, 'b, 'c) Ppxlib__.Ast_pattern0.t ->
(Astlib.Ast_412.Parsetree.class_type_field, 'a, 'c) Ppxlib__.Ast_pattern0.tval pctf_inherit :
(Astlib.Ast_412.Parsetree.class_type, 'a, 'b) Ppxlib__.Ast_pattern0.t ->
(Astlib.Ast_412.Parsetree.class_type_field, 'a, 'b) Ppxlib__.Ast_pattern0.tval pctf_val :
(string Astlib.Location.loc
* Astlib.Ast_412.Asttypes.mutable_flag
* Astlib.Ast_412.Asttypes.virtual_flag
* Astlib.Ast_412.Parsetree.core_type,
'a,
'b)
Ppxlib__.Ast_pattern0.t ->
(Astlib.Ast_412.Parsetree.class_type_field, 'a, 'b) Ppxlib__.Ast_pattern0.tval pctf_method :
(string Astlib.Location.loc
* Astlib.Ast_412.Asttypes.private_flag
* Astlib.Ast_412.Asttypes.virtual_flag
* Astlib.Ast_412.Parsetree.core_type,
'a,
'b)
Ppxlib__.Ast_pattern0.t ->
(Astlib.Ast_412.Parsetree.class_type_field, 'a, 'b) Ppxlib__.Ast_pattern0.tval pctf_constraint :
(Astlib.Ast_412.Parsetree.core_type * Astlib.Ast_412.Parsetree.core_type,
'a,
'b)
Ppxlib__.Ast_pattern0.t ->
(Astlib.Ast_412.Parsetree.class_type_field, 'a, 'b) Ppxlib__.Ast_pattern0.tval pctf_attribute :
(Astlib.Ast_412.Parsetree.attribute, 'a, 'b) Ppxlib__.Ast_pattern0.t ->
(Astlib.Ast_412.Parsetree.class_type_field, 'a, 'b) Ppxlib__.Ast_pattern0.tval pctf_extension :
(string Astlib.Location.loc * Astlib.Ast_412.Parsetree.payload, 'a, 'b)
Ppxlib__.Ast_pattern0.t ->
(Astlib.Ast_412.Parsetree.class_type_field, 'a, 'b) Ppxlib__.Ast_pattern0.tval pconst_integer :
(string, 'a, 'b) Ppxlib__.Ast_pattern0.t ->
(char option, 'b, 'c) Ppxlib__.Ast_pattern0.t ->
(Astlib.Ast_412.Parsetree.constant, 'a, 'c) Ppxlib__.Ast_pattern0.tval pconst_char :
(char, 'a, 'b) Ppxlib__.Ast_pattern0.t ->
(Astlib.Ast_412.Parsetree.constant, 'a, 'b) Ppxlib__.Ast_pattern0.tval pconst_string :
(string, 'a, 'b) Ppxlib__.Ast_pattern0.t ->
(Astlib.Location.t, 'b, 'c) Ppxlib__.Ast_pattern0.t ->
(string option, 'c, 'd) Ppxlib__.Ast_pattern0.t ->
(Astlib.Ast_412.Parsetree.constant, 'a, 'd) Ppxlib__.Ast_pattern0.tval pconst_float :
(string, 'a, 'b) Ppxlib__.Ast_pattern0.t ->
(char option, 'b, 'c) Ppxlib__.Ast_pattern0.t ->
(Astlib.Ast_412.Parsetree.constant, 'a, 'c) Ppxlib__.Ast_pattern0.tval pcstr_tuple :
(Astlib.Ast_412.Parsetree.core_type list, 'a, 'b) Ppxlib__.Ast_pattern0.t ->
(Astlib.Ast_412.Parsetree.constructor_arguments, 'a, 'b)
Ppxlib__.Ast_pattern0.tval pcstr_record :
(Astlib.Ast_412.Parsetree.label_declaration list, 'a, 'b)
Ppxlib__.Ast_pattern0.t ->
(Astlib.Ast_412.Parsetree.constructor_arguments, 'a, 'b)
Ppxlib__.Ast_pattern0.tval constructor_declaration_attributes :
(Astlib.Ast_412.Parsetree.attribute list, 'a, 'b) Ppxlib__.Ast_pattern0.t ->
(Astlib.Ast_412.Parsetree.constructor_declaration, 'b, 'c)
Ppxlib__.Ast_pattern0.t ->
(Astlib.Ast_412.Parsetree.constructor_declaration, 'a, 'c)
Ppxlib__.Ast_pattern0.tval constructor_declaration :
name:(string, 'a, 'b) Ppxlib__.Ast_pattern0.t ->
args:
(Astlib.Ast_412.Parsetree.constructor_arguments, 'b, 'c)
Ppxlib__.Ast_pattern0.t ->
res:
(Astlib.Ast_412.Parsetree.core_type option, 'c, 'd) Ppxlib__.Ast_pattern0.t ->
(Astlib.Ast_412.Parsetree.constructor_declaration, 'a, 'd)
Ppxlib__.Ast_pattern0.tval ptyp_loc :
(Astlib.Location.t, 'a, 'b) Ppxlib__.Ast_pattern0.t ->
(Astlib.Ast_412.Parsetree.core_type, 'b, 'c) Ppxlib__.Ast_pattern0.t ->
(Astlib.Ast_412.Parsetree.core_type, 'a, 'c) Ppxlib__.Ast_pattern0.tval ptyp_attributes :
(Astlib.Ast_412.Parsetree.attribute list, 'a, 'b) Ppxlib__.Ast_pattern0.t ->
(Astlib.Ast_412.Parsetree.core_type, 'b, 'c) Ppxlib__.Ast_pattern0.t ->
(Astlib.Ast_412.Parsetree.core_type, 'a, 'c) Ppxlib__.Ast_pattern0.tval ptyp_var :
(string, 'a, 'b) Ppxlib__.Ast_pattern0.t ->
(Astlib.Ast_412.Parsetree.core_type, 'a, 'b) Ppxlib__.Ast_pattern0.tval ptyp_arrow :
(Astlib.Ast_412.Asttypes.arg_label, 'a, 'b) Ppxlib__.Ast_pattern0.t ->
(Astlib.Ast_412.Parsetree.core_type, 'b, 'c) Ppxlib__.Ast_pattern0.t ->
(Astlib.Ast_412.Parsetree.core_type, 'c, 'd) Ppxlib__.Ast_pattern0.t ->
(Astlib.Ast_412.Parsetree.core_type, 'a, 'd) Ppxlib__.Ast_pattern0.tval ptyp_tuple :
(Astlib.Ast_412.Parsetree.core_type list, 'a, 'b) Ppxlib__.Ast_pattern0.t ->
(Astlib.Ast_412.Parsetree.core_type, 'a, 'b) Ppxlib__.Ast_pattern0.tval ptyp_constr :
(Astlib.Longident.t, 'a, 'b) Ppxlib__.Ast_pattern0.t ->
(Astlib.Ast_412.Parsetree.core_type list, 'b, 'c) Ppxlib__.Ast_pattern0.t ->
(Astlib.Ast_412.Parsetree.core_type, 'a, 'c) Ppxlib__.Ast_pattern0.tval ptyp_object :
(Astlib.Ast_412.Parsetree.object_field list, 'a, 'b) Ppxlib__.Ast_pattern0.t ->
(Astlib.Ast_412.Asttypes.closed_flag, 'b, 'c) Ppxlib__.Ast_pattern0.t ->
(Astlib.Ast_412.Parsetree.core_type, 'a, 'c) Ppxlib__.Ast_pattern0.tval ptyp_class :
(Astlib.Longident.t, 'a, 'b) Ppxlib__.Ast_pattern0.t ->
(Astlib.Ast_412.Parsetree.core_type list, 'b, 'c) Ppxlib__.Ast_pattern0.t ->
(Astlib.Ast_412.Parsetree.core_type, 'a, 'c) Ppxlib__.Ast_pattern0.tval ptyp_alias :
(Astlib.Ast_412.Parsetree.core_type, 'a, 'b) Ppxlib__.Ast_pattern0.t ->
(string, 'b, 'c) Ppxlib__.Ast_pattern0.t ->
(Astlib.Ast_412.Parsetree.core_type, 'a, 'c) Ppxlib__.Ast_pattern0.tval ptyp_variant :
(Astlib.Ast_412.Parsetree.row_field list, 'a, 'b) Ppxlib__.Ast_pattern0.t ->
(Astlib.Ast_412.Asttypes.closed_flag, 'b, 'c) Ppxlib__.Ast_pattern0.t ->
(string list option, 'c, 'd) Ppxlib__.Ast_pattern0.t ->
(Astlib.Ast_412.Parsetree.core_type, 'a, 'd) Ppxlib__.Ast_pattern0.tval ptyp_poly :
(string Astlib.Location.loc list, 'a, 'b) Ppxlib__.Ast_pattern0.t ->
(Astlib.Ast_412.Parsetree.core_type, 'b, 'c) Ppxlib__.Ast_pattern0.t ->
(Astlib.Ast_412.Parsetree.core_type, 'a, 'c) Ppxlib__.Ast_pattern0.tval ptyp_package :
(Astlib.Longident.t Astlib.Location.loc
* (Astlib.Longident.t Astlib.Location.loc
* Astlib.Ast_412.Parsetree.core_type)
list,
'a,
'b)
Ppxlib__.Ast_pattern0.t ->
(Astlib.Ast_412.Parsetree.core_type, 'a, 'b) Ppxlib__.Ast_pattern0.tval ptyp_extension :
(string Astlib.Location.loc * Astlib.Ast_412.Parsetree.payload, 'a, 'b)
Ppxlib__.Ast_pattern0.t ->
(Astlib.Ast_412.Parsetree.core_type, 'a, 'b) Ppxlib__.Ast_pattern0.tval pdira_loc :
(Astlib.Location.t, 'a, 'b) Ppxlib__.Ast_pattern0.t ->
(Astlib.Ast_412.Parsetree.directive_argument, 'b, 'c) Ppxlib__.Ast_pattern0.t ->
(Astlib.Ast_412.Parsetree.directive_argument, 'a, 'c) Ppxlib__.Ast_pattern0.tval pdir_string :
(string, 'a, 'b) Ppxlib__.Ast_pattern0.t ->
(Astlib.Ast_412.Parsetree.directive_argument, 'a, 'b) Ppxlib__.Ast_pattern0.tval pdir_int :
(string, 'a, 'b) Ppxlib__.Ast_pattern0.t ->
(char option, 'b, 'c) Ppxlib__.Ast_pattern0.t ->
(Astlib.Ast_412.Parsetree.directive_argument, 'a, 'c) Ppxlib__.Ast_pattern0.tval pdir_ident :
(Astlib.Longident.t, 'a, 'b) Ppxlib__.Ast_pattern0.t ->
(Astlib.Ast_412.Parsetree.directive_argument, 'a, 'b) Ppxlib__.Ast_pattern0.tval pdir_bool :
(bool, 'a, 'b) Ppxlib__.Ast_pattern0.t ->
(Astlib.Ast_412.Parsetree.directive_argument, 'a, 'b) Ppxlib__.Ast_pattern0.tval pexp_loc :
(Astlib.Location.t, 'a, 'b) Ppxlib__.Ast_pattern0.t ->
(Astlib.Ast_412.Parsetree.expression, 'b, 'c) Ppxlib__.Ast_pattern0.t ->
(Astlib.Ast_412.Parsetree.expression, 'a, 'c) Ppxlib__.Ast_pattern0.tval pexp_attributes :
(Astlib.Ast_412.Parsetree.attribute list, 'a, 'b) Ppxlib__.Ast_pattern0.t ->
(Astlib.Ast_412.Parsetree.expression, 'b, 'c) Ppxlib__.Ast_pattern0.t ->
(Astlib.Ast_412.Parsetree.expression, 'a, 'c) Ppxlib__.Ast_pattern0.tval pexp_ident :
(Astlib.Longident.t, 'a, 'b) Ppxlib__.Ast_pattern0.t ->
(Astlib.Ast_412.Parsetree.expression, 'a, 'b) Ppxlib__.Ast_pattern0.tval pexp_constant :
(Astlib.Ast_412.Parsetree.constant, 'a, 'b) Ppxlib__.Ast_pattern0.t ->
(Astlib.Ast_412.Parsetree.expression, 'a, 'b) Ppxlib__.Ast_pattern0.tval pexp_let :
(Astlib.Ast_412.Asttypes.rec_flag, 'a, 'b) Ppxlib__.Ast_pattern0.t ->
(Astlib.Ast_412.Parsetree.value_binding list, 'b, 'c) Ppxlib__.Ast_pattern0.t ->
(Astlib.Ast_412.Parsetree.expression, 'c, 'd) Ppxlib__.Ast_pattern0.t ->
(Astlib.Ast_412.Parsetree.expression, 'a, 'd) Ppxlib__.Ast_pattern0.tval pexp_function :
(Astlib.Ast_412.Parsetree.case list, 'a, 'b) Ppxlib__.Ast_pattern0.t ->
(Astlib.Ast_412.Parsetree.expression, 'a, 'b) Ppxlib__.Ast_pattern0.tval pexp_fun :
(Astlib.Ast_412.Asttypes.arg_label, 'a, 'b) Ppxlib__.Ast_pattern0.t ->
(Astlib.Ast_412.Parsetree.expression option, 'b, 'c) Ppxlib__.Ast_pattern0.t ->
(Astlib.Ast_412.Parsetree.pattern, 'c, 'd) Ppxlib__.Ast_pattern0.t ->
(Astlib.Ast_412.Parsetree.expression, 'd, 'e) Ppxlib__.Ast_pattern0.t ->
(Astlib.Ast_412.Parsetree.expression, 'a, 'e) Ppxlib__.Ast_pattern0.tval pexp_apply :
(Astlib.Ast_412.Parsetree.expression, 'a, 'b) Ppxlib__.Ast_pattern0.t ->
((Astlib.Ast_412.Asttypes.arg_label * Astlib.Ast_412.Parsetree.expression)
list,
'b,
'c)
Ppxlib__.Ast_pattern0.t ->
(Astlib.Ast_412.Parsetree.expression, 'a, 'c) Ppxlib__.Ast_pattern0.tval pexp_match :
(Astlib.Ast_412.Parsetree.expression, 'a, 'b) Ppxlib__.Ast_pattern0.t ->
(Astlib.Ast_412.Parsetree.case list, 'b, 'c) Ppxlib__.Ast_pattern0.t ->
(Astlib.Ast_412.Parsetree.expression, 'a, 'c) Ppxlib__.Ast_pattern0.tval pexp_try :
(Astlib.Ast_412.Parsetree.expression, 'a, 'b) Ppxlib__.Ast_pattern0.t ->
(Astlib.Ast_412.Parsetree.case list, 'b, 'c) Ppxlib__.Ast_pattern0.t ->
(Astlib.Ast_412.Parsetree.expression, 'a, 'c) Ppxlib__.Ast_pattern0.tval pexp_tuple :
(Astlib.Ast_412.Parsetree.expression list, 'a, 'b) Ppxlib__.Ast_pattern0.t ->
(Astlib.Ast_412.Parsetree.expression, 'a, 'b) Ppxlib__.Ast_pattern0.tval pexp_construct :
(Astlib.Longident.t, 'a, 'b) Ppxlib__.Ast_pattern0.t ->
(Astlib.Ast_412.Parsetree.expression option, 'b, 'c) Ppxlib__.Ast_pattern0.t ->
(Astlib.Ast_412.Parsetree.expression, 'a, 'c) Ppxlib__.Ast_pattern0.tval pexp_variant :
(string, 'a, 'b) Ppxlib__.Ast_pattern0.t ->
(Astlib.Ast_412.Parsetree.expression option, 'b, 'c) Ppxlib__.Ast_pattern0.t ->
(Astlib.Ast_412.Parsetree.expression, 'a, 'c) Ppxlib__.Ast_pattern0.tval pexp_record :
((Astlib.Longident.t Astlib.Location.loc
* Astlib.Ast_412.Parsetree.expression)
list,
'a,
'b)
Ppxlib__.Ast_pattern0.t ->
(Astlib.Ast_412.Parsetree.expression option, 'b, 'c) Ppxlib__.Ast_pattern0.t ->
(Astlib.Ast_412.Parsetree.expression, 'a, 'c) Ppxlib__.Ast_pattern0.tval pexp_field :
(Astlib.Ast_412.Parsetree.expression, 'a, 'b) Ppxlib__.Ast_pattern0.t ->
(Astlib.Longident.t, 'b, 'c) Ppxlib__.Ast_pattern0.t ->
(Astlib.Ast_412.Parsetree.expression, 'a, 'c) Ppxlib__.Ast_pattern0.tval pexp_setfield :
(Astlib.Ast_412.Parsetree.expression, 'a, 'b) Ppxlib__.Ast_pattern0.t ->
(Astlib.Longident.t, 'b, 'c) Ppxlib__.Ast_pattern0.t ->
(Astlib.Ast_412.Parsetree.expression, 'c, 'd) Ppxlib__.Ast_pattern0.t ->
(Astlib.Ast_412.Parsetree.expression, 'a, 'd) Ppxlib__.Ast_pattern0.tval pexp_array :
(Astlib.Ast_412.Parsetree.expression list, 'a, 'b) Ppxlib__.Ast_pattern0.t ->
(Astlib.Ast_412.Parsetree.expression, 'a, 'b) Ppxlib__.Ast_pattern0.tval pexp_ifthenelse :
(Astlib.Ast_412.Parsetree.expression, 'a, 'b) Ppxlib__.Ast_pattern0.t ->
(Astlib.Ast_412.Parsetree.expression, 'b, 'c) Ppxlib__.Ast_pattern0.t ->
(Astlib.Ast_412.Parsetree.expression option, 'c, 'd) Ppxlib__.Ast_pattern0.t ->
(Astlib.Ast_412.Parsetree.expression, 'a, 'd) Ppxlib__.Ast_pattern0.tval pexp_sequence :
(Astlib.Ast_412.Parsetree.expression, 'a, 'b) Ppxlib__.Ast_pattern0.t ->
(Astlib.Ast_412.Parsetree.expression, 'b, 'c) Ppxlib__.Ast_pattern0.t ->
(Astlib.Ast_412.Parsetree.expression, 'a, 'c) Ppxlib__.Ast_pattern0.tval pexp_while :
(Astlib.Ast_412.Parsetree.expression, 'a, 'b) Ppxlib__.Ast_pattern0.t ->
(Astlib.Ast_412.Parsetree.expression, 'b, 'c) Ppxlib__.Ast_pattern0.t ->
(Astlib.Ast_412.Parsetree.expression, 'a, 'c) Ppxlib__.Ast_pattern0.tval pexp_for :
(Astlib.Ast_412.Parsetree.pattern, 'a, 'b) Ppxlib__.Ast_pattern0.t ->
(Astlib.Ast_412.Parsetree.expression, 'b, 'c) Ppxlib__.Ast_pattern0.t ->
(Astlib.Ast_412.Parsetree.expression, 'c, 'd) Ppxlib__.Ast_pattern0.t ->
(Astlib.Ast_412.Asttypes.direction_flag, 'd, 'e) Ppxlib__.Ast_pattern0.t ->
(Astlib.Ast_412.Parsetree.expression, 'e, 'f) Ppxlib__.Ast_pattern0.t ->
(Astlib.Ast_412.Parsetree.expression, 'a, 'f) Ppxlib__.Ast_pattern0.tval pexp_constraint :
(Astlib.Ast_412.Parsetree.expression, 'a, 'b) Ppxlib__.Ast_pattern0.t ->
(Astlib.Ast_412.Parsetree.core_type, 'b, 'c) Ppxlib__.Ast_pattern0.t ->
(Astlib.Ast_412.Parsetree.expression, 'a, 'c) Ppxlib__.Ast_pattern0.tval pexp_coerce :
(Astlib.Ast_412.Parsetree.expression, 'a, 'b) Ppxlib__.Ast_pattern0.t ->
(Astlib.Ast_412.Parsetree.core_type option, 'b, 'c) Ppxlib__.Ast_pattern0.t ->
(Astlib.Ast_412.Parsetree.core_type, 'c, 'd) Ppxlib__.Ast_pattern0.t ->
(Astlib.Ast_412.Parsetree.expression, 'a, 'd) Ppxlib__.Ast_pattern0.tval pexp_send :
(Astlib.Ast_412.Parsetree.expression, 'a, 'b) Ppxlib__.Ast_pattern0.t ->
(string, 'b, 'c) Ppxlib__.Ast_pattern0.t ->
(Astlib.Ast_412.Parsetree.expression, 'a, 'c) Ppxlib__.Ast_pattern0.tval pexp_new :
(Astlib.Longident.t, 'a, 'b) Ppxlib__.Ast_pattern0.t ->
(Astlib.Ast_412.Parsetree.expression, 'a, 'b) Ppxlib__.Ast_pattern0.tval pexp_setinstvar :
(string, 'a, 'b) Ppxlib__.Ast_pattern0.t ->
(Astlib.Ast_412.Parsetree.expression, 'b, 'c) Ppxlib__.Ast_pattern0.t ->
(Astlib.Ast_412.Parsetree.expression, 'a, 'c) Ppxlib__.Ast_pattern0.tval pexp_override :
((string Astlib.Location.loc * Astlib.Ast_412.Parsetree.expression) list,
'a,
'b)
Ppxlib__.Ast_pattern0.t ->
(Astlib.Ast_412.Parsetree.expression, 'a, 'b) Ppxlib__.Ast_pattern0.tval pexp_letmodule :
(string option, 'a, 'b) Ppxlib__.Ast_pattern0.t ->
(Astlib.Ast_412.Parsetree.module_expr, 'b, 'c) Ppxlib__.Ast_pattern0.t ->
(Astlib.Ast_412.Parsetree.expression, 'c, 'd) Ppxlib__.Ast_pattern0.t ->
(Astlib.Ast_412.Parsetree.expression, 'a, 'd) Ppxlib__.Ast_pattern0.tval pexp_letexception :
(Astlib.Ast_412.Parsetree.extension_constructor, 'a, 'b)
Ppxlib__.Ast_pattern0.t ->
(Astlib.Ast_412.Parsetree.expression, 'b, 'c) Ppxlib__.Ast_pattern0.t ->
(Astlib.Ast_412.Parsetree.expression, 'a, 'c) Ppxlib__.Ast_pattern0.tval pexp_assert :
(Astlib.Ast_412.Parsetree.expression, 'a, 'b) Ppxlib__.Ast_pattern0.t ->
(Astlib.Ast_412.Parsetree.expression, 'a, 'b) Ppxlib__.Ast_pattern0.tval pexp_lazy :
(Astlib.Ast_412.Parsetree.expression, 'a, 'b) Ppxlib__.Ast_pattern0.t ->
(Astlib.Ast_412.Parsetree.expression, 'a, 'b) Ppxlib__.Ast_pattern0.tval pexp_poly :
(Astlib.Ast_412.Parsetree.expression, 'a, 'b) Ppxlib__.Ast_pattern0.t ->
(Astlib.Ast_412.Parsetree.core_type option, 'b, 'c) Ppxlib__.Ast_pattern0.t ->
(Astlib.Ast_412.Parsetree.expression, 'a, 'c) Ppxlib__.Ast_pattern0.tval pexp_object :
(Astlib.Ast_412.Parsetree.class_structure, 'a, 'b) Ppxlib__.Ast_pattern0.t ->
(Astlib.Ast_412.Parsetree.expression, 'a, 'b) Ppxlib__.Ast_pattern0.tval pexp_newtype :
(string, 'a, 'b) Ppxlib__.Ast_pattern0.t ->
(Astlib.Ast_412.Parsetree.expression, 'b, 'c) Ppxlib__.Ast_pattern0.t ->
(Astlib.Ast_412.Parsetree.expression, 'a, 'c) Ppxlib__.Ast_pattern0.tval pexp_pack :
(Astlib.Ast_412.Parsetree.module_expr, 'a, 'b) Ppxlib__.Ast_pattern0.t ->
(Astlib.Ast_412.Parsetree.expression, 'a, 'b) Ppxlib__.Ast_pattern0.tval pexp_open :
(Astlib.Ast_412.Parsetree.module_expr Astlib.Ast_412.Parsetree.open_infos,
'a,
'b)
Ppxlib__.Ast_pattern0.t ->
(Astlib.Ast_412.Parsetree.expression, 'b, 'c) Ppxlib__.Ast_pattern0.t ->
(Astlib.Ast_412.Parsetree.expression, 'a, 'c) Ppxlib__.Ast_pattern0.tval pexp_letop :
(Astlib.Ast_412.Parsetree.letop, 'a, 'b) Ppxlib__.Ast_pattern0.t ->
(Astlib.Ast_412.Parsetree.expression, 'a, 'b) Ppxlib__.Ast_pattern0.tval pexp_extension :
(string Astlib.Location.loc * Astlib.Ast_412.Parsetree.payload, 'a, 'b)
Ppxlib__.Ast_pattern0.t ->
(Astlib.Ast_412.Parsetree.expression, 'a, 'b) Ppxlib__.Ast_pattern0.tval extension_constructor_attributes :
(Astlib.Ast_412.Parsetree.attribute list, 'a, 'b) Ppxlib__.Ast_pattern0.t ->
(Astlib.Ast_412.Parsetree.extension_constructor, 'b, 'c)
Ppxlib__.Ast_pattern0.t ->
(Astlib.Ast_412.Parsetree.extension_constructor, 'a, 'c)
Ppxlib__.Ast_pattern0.tval extension_constructor :
name:(string, 'a, 'b) Ppxlib__.Ast_pattern0.t ->
kind:
(Astlib.Ast_412.Parsetree.extension_constructor_kind, 'b, 'c)
Ppxlib__.Ast_pattern0.t ->
(Astlib.Ast_412.Parsetree.extension_constructor, 'a, 'c)
Ppxlib__.Ast_pattern0.tval pext_decl :
(Astlib.Ast_412.Parsetree.constructor_arguments, 'a, 'b)
Ppxlib__.Ast_pattern0.t ->
(Astlib.Ast_412.Parsetree.core_type option, 'b, 'c) Ppxlib__.Ast_pattern0.t ->
(Astlib.Ast_412.Parsetree.extension_constructor_kind, 'a, 'c)
Ppxlib__.Ast_pattern0.tval pext_rebind :
(Astlib.Longident.t, 'a, 'b) Ppxlib__.Ast_pattern0.t ->
(Astlib.Ast_412.Parsetree.extension_constructor_kind, 'a, 'b)
Ppxlib__.Ast_pattern0.tval named :
(string option, 'a, 'b) Ppxlib__.Ast_pattern0.t ->
(Astlib.Ast_412.Parsetree.module_type, 'b, 'c) Ppxlib__.Ast_pattern0.t ->
(Astlib.Ast_412.Parsetree.functor_parameter, 'a, 'c) Ppxlib__.Ast_pattern0.tval include_infos_attributes :
(Astlib.Ast_412.Parsetree.attribute list, 'a, 'b) Ppxlib__.Ast_pattern0.t ->
('c Astlib.Ast_412.Parsetree.include_infos, 'b, 'd) Ppxlib__.Ast_pattern0.t ->
('c Astlib.Ast_412.Parsetree.include_infos, 'a, 'd) Ppxlib__.Ast_pattern0.tval include_infos :
mod_:('a, 'b, 'c) Ppxlib__.Ast_pattern0.t ->
('a Astlib.Ast_412.Parsetree.include_infos, 'b, 'c) Ppxlib__.Ast_pattern0.tval label_declaration_attributes :
(Astlib.Ast_412.Parsetree.attribute list, 'a, 'b) Ppxlib__.Ast_pattern0.t ->
(Astlib.Ast_412.Parsetree.label_declaration, 'b, 'c) Ppxlib__.Ast_pattern0.t ->
(Astlib.Ast_412.Parsetree.label_declaration, 'a, 'c) Ppxlib__.Ast_pattern0.tval label_declaration :
name:(string, 'a, 'b) Ppxlib__.Ast_pattern0.t ->
mutable_:
(Astlib.Ast_412.Asttypes.mutable_flag, 'b, 'c) Ppxlib__.Ast_pattern0.t ->
type_:(Astlib.Ast_412.Parsetree.core_type, 'c, 'd) Ppxlib__.Ast_pattern0.t ->
(Astlib.Ast_412.Parsetree.label_declaration, 'a, 'd) Ppxlib__.Ast_pattern0.tval letop :
let_:(Astlib.Ast_412.Parsetree.binding_op, 'a, 'b) Ppxlib__.Ast_pattern0.t ->
ands:
(Astlib.Ast_412.Parsetree.binding_op list, 'b, 'c) Ppxlib__.Ast_pattern0.t ->
body:(Astlib.Ast_412.Parsetree.expression, 'c, 'd) Ppxlib__.Ast_pattern0.t ->
(Astlib.Ast_412.Parsetree.letop, 'a, 'd) Ppxlib__.Ast_pattern0.tval location :
start:(Lexing.position, 'a, 'b) Ppxlib__.Ast_pattern0.t ->
end_:(Lexing.position, 'b, 'c) Ppxlib__.Ast_pattern0.t ->
ghost:(bool, 'c, 'd) Ppxlib__.Ast_pattern0.t ->
(Astlib.Location.t, 'a, 'd) Ppxlib__.Ast_pattern0.tval lident :
(string, 'a, 'b) Ppxlib__.Ast_pattern0.t ->
(Astlib.Longident.t, 'a, 'b) Ppxlib__.Ast_pattern0.tval ldot :
(Astlib.Longident.t, 'a, 'b) Ppxlib__.Ast_pattern0.t ->
(string, 'b, 'c) Ppxlib__.Ast_pattern0.t ->
(Astlib.Longident.t, 'a, 'c) Ppxlib__.Ast_pattern0.tval lapply :
(Astlib.Longident.t, 'a, 'b) Ppxlib__.Ast_pattern0.t ->
(Astlib.Longident.t, 'b, 'c) Ppxlib__.Ast_pattern0.t ->
(Astlib.Longident.t, 'a, 'c) Ppxlib__.Ast_pattern0.tval module_binding_attributes :
(Astlib.Ast_412.Parsetree.attribute list, 'a, 'b) Ppxlib__.Ast_pattern0.t ->
(Astlib.Ast_412.Parsetree.module_binding, 'b, 'c) Ppxlib__.Ast_pattern0.t ->
(Astlib.Ast_412.Parsetree.module_binding, 'a, 'c) Ppxlib__.Ast_pattern0.tval module_binding :
name:(string option, 'a, 'b) Ppxlib__.Ast_pattern0.t ->
expr:(Astlib.Ast_412.Parsetree.module_expr, 'b, 'c) Ppxlib__.Ast_pattern0.t ->
(Astlib.Ast_412.Parsetree.module_binding, 'a, 'c) Ppxlib__.Ast_pattern0.tval module_declaration_attributes :
(Astlib.Ast_412.Parsetree.attribute list, 'a, 'b) Ppxlib__.Ast_pattern0.t ->
(Astlib.Ast_412.Parsetree.module_declaration, 'b, 'c) Ppxlib__.Ast_pattern0.t ->
(Astlib.Ast_412.Parsetree.module_declaration, 'a, 'c) Ppxlib__.Ast_pattern0.tval module_declaration :
name:(string option, 'a, 'b) Ppxlib__.Ast_pattern0.t ->
type_:(Astlib.Ast_412.Parsetree.module_type, 'b, 'c) Ppxlib__.Ast_pattern0.t ->
(Astlib.Ast_412.Parsetree.module_declaration, 'a, 'c) Ppxlib__.Ast_pattern0.tval pmod_loc :
(Astlib.Location.t, 'a, 'b) Ppxlib__.Ast_pattern0.t ->
(Astlib.Ast_412.Parsetree.module_expr, 'b, 'c) Ppxlib__.Ast_pattern0.t ->
(Astlib.Ast_412.Parsetree.module_expr, 'a, 'c) Ppxlib__.Ast_pattern0.tval pmod_attributes :
(Astlib.Ast_412.Parsetree.attribute list, 'a, 'b) Ppxlib__.Ast_pattern0.t ->
(Astlib.Ast_412.Parsetree.module_expr, 'b, 'c) Ppxlib__.Ast_pattern0.t ->
(Astlib.Ast_412.Parsetree.module_expr, 'a, 'c) Ppxlib__.Ast_pattern0.tval pmod_ident :
(Astlib.Longident.t, 'a, 'b) Ppxlib__.Ast_pattern0.t ->
(Astlib.Ast_412.Parsetree.module_expr, 'a, 'b) Ppxlib__.Ast_pattern0.tval pmod_structure :
(Astlib.Ast_412.Parsetree.structure_item list, 'a, 'b)
Ppxlib__.Ast_pattern0.t ->
(Astlib.Ast_412.Parsetree.module_expr, 'a, 'b) Ppxlib__.Ast_pattern0.tval pmod_functor :
(Astlib.Ast_412.Parsetree.functor_parameter, 'a, 'b) Ppxlib__.Ast_pattern0.t ->
(Astlib.Ast_412.Parsetree.module_expr, 'b, 'c) Ppxlib__.Ast_pattern0.t ->
(Astlib.Ast_412.Parsetree.module_expr, 'a, 'c) Ppxlib__.Ast_pattern0.tval pmod_apply :
(Astlib.Ast_412.Parsetree.module_expr, 'a, 'b) Ppxlib__.Ast_pattern0.t ->
(Astlib.Ast_412.Parsetree.module_expr, 'b, 'c) Ppxlib__.Ast_pattern0.t ->
(Astlib.Ast_412.Parsetree.module_expr, 'a, 'c) Ppxlib__.Ast_pattern0.tval pmod_constraint :
(Astlib.Ast_412.Parsetree.module_expr, 'a, 'b) Ppxlib__.Ast_pattern0.t ->
(Astlib.Ast_412.Parsetree.module_type, 'b, 'c) Ppxlib__.Ast_pattern0.t ->
(Astlib.Ast_412.Parsetree.module_expr, 'a, 'c) Ppxlib__.Ast_pattern0.tval pmod_unpack :
(Astlib.Ast_412.Parsetree.expression, 'a, 'b) Ppxlib__.Ast_pattern0.t ->
(Astlib.Ast_412.Parsetree.module_expr, 'a, 'b) Ppxlib__.Ast_pattern0.tval pmod_extension :
(string Astlib.Location.loc * Astlib.Ast_412.Parsetree.payload, 'a, 'b)
Ppxlib__.Ast_pattern0.t ->
(Astlib.Ast_412.Parsetree.module_expr, 'a, 'b) Ppxlib__.Ast_pattern0.tval module_substitution_attributes :
(Astlib.Ast_412.Parsetree.attribute list, 'a, 'b) Ppxlib__.Ast_pattern0.t ->
(Astlib.Ast_412.Parsetree.module_substitution, 'b, 'c)
Ppxlib__.Ast_pattern0.t ->
(Astlib.Ast_412.Parsetree.module_substitution, 'a, 'c)
Ppxlib__.Ast_pattern0.tval module_substitution :
name:(string, 'a, 'b) Ppxlib__.Ast_pattern0.t ->
manifest:(Astlib.Longident.t, 'b, 'c) Ppxlib__.Ast_pattern0.t ->
(Astlib.Ast_412.Parsetree.module_substitution, 'a, 'c)
Ppxlib__.Ast_pattern0.tval pmty_loc :
(Astlib.Location.t, 'a, 'b) Ppxlib__.Ast_pattern0.t ->
(Astlib.Ast_412.Parsetree.module_type, 'b, 'c) Ppxlib__.Ast_pattern0.t ->
(Astlib.Ast_412.Parsetree.module_type, 'a, 'c) Ppxlib__.Ast_pattern0.tval pmty_attributes :
(Astlib.Ast_412.Parsetree.attribute list, 'a, 'b) Ppxlib__.Ast_pattern0.t ->
(Astlib.Ast_412.Parsetree.module_type, 'b, 'c) Ppxlib__.Ast_pattern0.t ->
(Astlib.Ast_412.Parsetree.module_type, 'a, 'c) Ppxlib__.Ast_pattern0.tval pmty_ident :
(Astlib.Longident.t, 'a, 'b) Ppxlib__.Ast_pattern0.t ->
(Astlib.Ast_412.Parsetree.module_type, 'a, 'b) Ppxlib__.Ast_pattern0.tval pmty_signature :
(Astlib.Ast_412.Parsetree.signature_item list, 'a, 'b)
Ppxlib__.Ast_pattern0.t ->
(Astlib.Ast_412.Parsetree.module_type, 'a, 'b) Ppxlib__.Ast_pattern0.tval pmty_functor :
(Astlib.Ast_412.Parsetree.functor_parameter, 'a, 'b) Ppxlib__.Ast_pattern0.t ->
(Astlib.Ast_412.Parsetree.module_type, 'b, 'c) Ppxlib__.Ast_pattern0.t ->
(Astlib.Ast_412.Parsetree.module_type, 'a, 'c) Ppxlib__.Ast_pattern0.tval pmty_with :
(Astlib.Ast_412.Parsetree.module_type, 'a, 'b) Ppxlib__.Ast_pattern0.t ->
(Astlib.Ast_412.Parsetree.with_constraint list, 'b, 'c)
Ppxlib__.Ast_pattern0.t ->
(Astlib.Ast_412.Parsetree.module_type, 'a, 'c) Ppxlib__.Ast_pattern0.tval pmty_typeof :
(Astlib.Ast_412.Parsetree.module_expr, 'a, 'b) Ppxlib__.Ast_pattern0.t ->
(Astlib.Ast_412.Parsetree.module_type, 'a, 'b) Ppxlib__.Ast_pattern0.tval pmty_extension :
(string Astlib.Location.loc * Astlib.Ast_412.Parsetree.payload, 'a, 'b)
Ppxlib__.Ast_pattern0.t ->
(Astlib.Ast_412.Parsetree.module_type, 'a, 'b) Ppxlib__.Ast_pattern0.tval pmty_alias :
(Astlib.Longident.t, 'a, 'b) Ppxlib__.Ast_pattern0.t ->
(Astlib.Ast_412.Parsetree.module_type, 'a, 'b) Ppxlib__.Ast_pattern0.tval module_type_declaration_attributes :
(Astlib.Ast_412.Parsetree.attribute list, 'a, 'b) Ppxlib__.Ast_pattern0.t ->
(Astlib.Ast_412.Parsetree.module_type_declaration, 'b, 'c)
Ppxlib__.Ast_pattern0.t ->
(Astlib.Ast_412.Parsetree.module_type_declaration, 'a, 'c)
Ppxlib__.Ast_pattern0.tval module_type_declaration :
name:(string, 'a, 'b) Ppxlib__.Ast_pattern0.t ->
type_:
(Astlib.Ast_412.Parsetree.module_type option, 'b, 'c)
Ppxlib__.Ast_pattern0.t ->
(Astlib.Ast_412.Parsetree.module_type_declaration, 'a, 'c)
Ppxlib__.Ast_pattern0.tval pof_loc :
(Astlib.Location.t, 'a, 'b) Ppxlib__.Ast_pattern0.t ->
(Astlib.Ast_412.Parsetree.object_field, 'b, 'c) Ppxlib__.Ast_pattern0.t ->
(Astlib.Ast_412.Parsetree.object_field, 'a, 'c) Ppxlib__.Ast_pattern0.tval pof_attributes :
(Astlib.Ast_412.Parsetree.attribute list, 'a, 'b) Ppxlib__.Ast_pattern0.t ->
(Astlib.Ast_412.Parsetree.object_field, 'b, 'c) Ppxlib__.Ast_pattern0.t ->
(Astlib.Ast_412.Parsetree.object_field, 'a, 'c) Ppxlib__.Ast_pattern0.tval otag :
(string, 'a, 'b) Ppxlib__.Ast_pattern0.t ->
(Astlib.Ast_412.Parsetree.core_type, 'b, 'c) Ppxlib__.Ast_pattern0.t ->
(Astlib.Ast_412.Parsetree.object_field, 'a, 'c) Ppxlib__.Ast_pattern0.tval oinherit :
(Astlib.Ast_412.Parsetree.core_type, 'a, 'b) Ppxlib__.Ast_pattern0.t ->
(Astlib.Ast_412.Parsetree.object_field, 'a, 'b) Ppxlib__.Ast_pattern0.tval open_infos_attributes :
(Astlib.Ast_412.Parsetree.attribute list, 'a, 'b) Ppxlib__.Ast_pattern0.t ->
('c Astlib.Ast_412.Parsetree.open_infos, 'b, 'd) Ppxlib__.Ast_pattern0.t ->
('c Astlib.Ast_412.Parsetree.open_infos, 'a, 'd) Ppxlib__.Ast_pattern0.tval open_infos :
expr:('a, 'b, 'c) Ppxlib__.Ast_pattern0.t ->
override:
(Astlib.Ast_412.Asttypes.override_flag, 'c, 'd) Ppxlib__.Ast_pattern0.t ->
('a Astlib.Ast_412.Parsetree.open_infos, 'b, 'd) Ppxlib__.Ast_pattern0.tval ppat_loc :
(Astlib.Location.t, 'a, 'b) Ppxlib__.Ast_pattern0.t ->
(Astlib.Ast_412.Parsetree.pattern, 'b, 'c) Ppxlib__.Ast_pattern0.t ->
(Astlib.Ast_412.Parsetree.pattern, 'a, 'c) Ppxlib__.Ast_pattern0.tval ppat_attributes :
(Astlib.Ast_412.Parsetree.attribute list, 'a, 'b) Ppxlib__.Ast_pattern0.t ->
(Astlib.Ast_412.Parsetree.pattern, 'b, 'c) Ppxlib__.Ast_pattern0.t ->
(Astlib.Ast_412.Parsetree.pattern, 'a, 'c) Ppxlib__.Ast_pattern0.tval ppat_var :
(string, 'a, 'b) Ppxlib__.Ast_pattern0.t ->
(Astlib.Ast_412.Parsetree.pattern, 'a, 'b) Ppxlib__.Ast_pattern0.tval ppat_alias :
(Astlib.Ast_412.Parsetree.pattern, 'a, 'b) Ppxlib__.Ast_pattern0.t ->
(string, 'b, 'c) Ppxlib__.Ast_pattern0.t ->
(Astlib.Ast_412.Parsetree.pattern, 'a, 'c) Ppxlib__.Ast_pattern0.tval ppat_constant :
(Astlib.Ast_412.Parsetree.constant, 'a, 'b) Ppxlib__.Ast_pattern0.t ->
(Astlib.Ast_412.Parsetree.pattern, 'a, 'b) Ppxlib__.Ast_pattern0.tval ppat_interval :
(Astlib.Ast_412.Parsetree.constant, 'a, 'b) Ppxlib__.Ast_pattern0.t ->
(Astlib.Ast_412.Parsetree.constant, 'b, 'c) Ppxlib__.Ast_pattern0.t ->
(Astlib.Ast_412.Parsetree.pattern, 'a, 'c) Ppxlib__.Ast_pattern0.tval ppat_tuple :
(Astlib.Ast_412.Parsetree.pattern list, 'a, 'b) Ppxlib__.Ast_pattern0.t ->
(Astlib.Ast_412.Parsetree.pattern, 'a, 'b) Ppxlib__.Ast_pattern0.tval ppat_construct :
(Astlib.Longident.t, 'a, 'b) Ppxlib__.Ast_pattern0.t ->
(Astlib.Ast_412.Parsetree.pattern option, 'b, 'c) Ppxlib__.Ast_pattern0.t ->
(Astlib.Ast_412.Parsetree.pattern, 'a, 'c) Ppxlib__.Ast_pattern0.tval ppat_variant :
(string, 'a, 'b) Ppxlib__.Ast_pattern0.t ->
(Astlib.Ast_412.Parsetree.pattern option, 'b, 'c) Ppxlib__.Ast_pattern0.t ->
(Astlib.Ast_412.Parsetree.pattern, 'a, 'c) Ppxlib__.Ast_pattern0.tval ppat_record :
((Astlib.Longident.t Astlib.Location.loc * Astlib.Ast_412.Parsetree.pattern)
list,
'a,
'b)
Ppxlib__.Ast_pattern0.t ->
(Astlib.Ast_412.Asttypes.closed_flag, 'b, 'c) Ppxlib__.Ast_pattern0.t ->
(Astlib.Ast_412.Parsetree.pattern, 'a, 'c) Ppxlib__.Ast_pattern0.tval ppat_array :
(Astlib.Ast_412.Parsetree.pattern list, 'a, 'b) Ppxlib__.Ast_pattern0.t ->
(Astlib.Ast_412.Parsetree.pattern, 'a, 'b) Ppxlib__.Ast_pattern0.tval ppat_or :
(Astlib.Ast_412.Parsetree.pattern, 'a, 'b) Ppxlib__.Ast_pattern0.t ->
(Astlib.Ast_412.Parsetree.pattern, 'b, 'c) Ppxlib__.Ast_pattern0.t ->
(Astlib.Ast_412.Parsetree.pattern, 'a, 'c) Ppxlib__.Ast_pattern0.tval ppat_constraint :
(Astlib.Ast_412.Parsetree.pattern, 'a, 'b) Ppxlib__.Ast_pattern0.t ->
(Astlib.Ast_412.Parsetree.core_type, 'b, 'c) Ppxlib__.Ast_pattern0.t ->
(Astlib.Ast_412.Parsetree.pattern, 'a, 'c) Ppxlib__.Ast_pattern0.tval ppat_type :
(Astlib.Longident.t, 'a, 'b) Ppxlib__.Ast_pattern0.t ->
(Astlib.Ast_412.Parsetree.pattern, 'a, 'b) Ppxlib__.Ast_pattern0.tval ppat_lazy :
(Astlib.Ast_412.Parsetree.pattern, 'a, 'b) Ppxlib__.Ast_pattern0.t ->
(Astlib.Ast_412.Parsetree.pattern, 'a, 'b) Ppxlib__.Ast_pattern0.tval ppat_unpack :
(string option, 'a, 'b) Ppxlib__.Ast_pattern0.t ->
(Astlib.Ast_412.Parsetree.pattern, 'a, 'b) Ppxlib__.Ast_pattern0.tval ppat_exception :
(Astlib.Ast_412.Parsetree.pattern, 'a, 'b) Ppxlib__.Ast_pattern0.t ->
(Astlib.Ast_412.Parsetree.pattern, 'a, 'b) Ppxlib__.Ast_pattern0.tval ppat_extension :
(string Astlib.Location.loc * Astlib.Ast_412.Parsetree.payload, 'a, 'b)
Ppxlib__.Ast_pattern0.t ->
(Astlib.Ast_412.Parsetree.pattern, 'a, 'b) Ppxlib__.Ast_pattern0.tval ppat_open :
(Astlib.Longident.t, 'a, 'b) Ppxlib__.Ast_pattern0.t ->
(Astlib.Ast_412.Parsetree.pattern, 'b, 'c) Ppxlib__.Ast_pattern0.t ->
(Astlib.Ast_412.Parsetree.pattern, 'a, 'c) Ppxlib__.Ast_pattern0.tval pstr :
(Astlib.Ast_412.Parsetree.structure_item list, 'a, 'b)
Ppxlib__.Ast_pattern0.t ->
(Astlib.Ast_412.Parsetree.payload, 'a, 'b) Ppxlib__.Ast_pattern0.tval psig :
(Astlib.Ast_412.Parsetree.signature_item list, 'a, 'b)
Ppxlib__.Ast_pattern0.t ->
(Astlib.Ast_412.Parsetree.payload, 'a, 'b) Ppxlib__.Ast_pattern0.tval ptyp :
(Astlib.Ast_412.Parsetree.core_type, 'a, 'b) Ppxlib__.Ast_pattern0.t ->
(Astlib.Ast_412.Parsetree.payload, 'a, 'b) Ppxlib__.Ast_pattern0.tval ppat :
(Astlib.Ast_412.Parsetree.pattern, 'a, 'b) Ppxlib__.Ast_pattern0.t ->
(Astlib.Ast_412.Parsetree.expression option, 'b, 'c) Ppxlib__.Ast_pattern0.t ->
(Astlib.Ast_412.Parsetree.payload, 'a, 'c) Ppxlib__.Ast_pattern0.tval position :
fname:(string, 'a, 'b) Ppxlib__.Ast_pattern0.t ->
lnum:(int, 'b, 'c) Ppxlib__.Ast_pattern0.t ->
bol:(int, 'c, 'd) Ppxlib__.Ast_pattern0.t ->
cnum:(int, 'd, 'e) Ppxlib__.Ast_pattern0.t ->
(Lexing.position, 'a, 'e) Ppxlib__.Ast_pattern0.tval prf_loc :
(Astlib.Location.t, 'a, 'b) Ppxlib__.Ast_pattern0.t ->
(Astlib.Ast_412.Parsetree.row_field, 'b, 'c) Ppxlib__.Ast_pattern0.t ->
(Astlib.Ast_412.Parsetree.row_field, 'a, 'c) Ppxlib__.Ast_pattern0.tval prf_attributes :
(Astlib.Ast_412.Parsetree.attribute list, 'a, 'b) Ppxlib__.Ast_pattern0.t ->
(Astlib.Ast_412.Parsetree.row_field, 'b, 'c) Ppxlib__.Ast_pattern0.t ->
(Astlib.Ast_412.Parsetree.row_field, 'a, 'c) Ppxlib__.Ast_pattern0.tval rtag :
(string, 'a, 'b) Ppxlib__.Ast_pattern0.t ->
(bool, 'b, 'c) Ppxlib__.Ast_pattern0.t ->
(Astlib.Ast_412.Parsetree.core_type list, 'c, 'd) Ppxlib__.Ast_pattern0.t ->
(Astlib.Ast_412.Parsetree.row_field, 'a, 'd) Ppxlib__.Ast_pattern0.tval rinherit :
(Astlib.Ast_412.Parsetree.core_type, 'a, 'b) Ppxlib__.Ast_pattern0.t ->
(Astlib.Ast_412.Parsetree.row_field, 'a, 'b) Ppxlib__.Ast_pattern0.tval psig_loc :
(Astlib.Location.t, 'a, 'b) Ppxlib__.Ast_pattern0.t ->
(Astlib.Ast_412.Parsetree.signature_item, 'b, 'c) Ppxlib__.Ast_pattern0.t ->
(Astlib.Ast_412.Parsetree.signature_item, 'a, 'c) Ppxlib__.Ast_pattern0.tval psig_value :
(Astlib.Ast_412.Parsetree.value_description, 'a, 'b) Ppxlib__.Ast_pattern0.t ->
(Astlib.Ast_412.Parsetree.signature_item, 'a, 'b) Ppxlib__.Ast_pattern0.tval psig_type :
(Astlib.Ast_412.Asttypes.rec_flag, 'a, 'b) Ppxlib__.Ast_pattern0.t ->
(Astlib.Ast_412.Parsetree.type_declaration list, 'b, 'c)
Ppxlib__.Ast_pattern0.t ->
(Astlib.Ast_412.Parsetree.signature_item, 'a, 'c) Ppxlib__.Ast_pattern0.tval psig_typesubst :
(Astlib.Ast_412.Parsetree.type_declaration list, 'a, 'b)
Ppxlib__.Ast_pattern0.t ->
(Astlib.Ast_412.Parsetree.signature_item, 'a, 'b) Ppxlib__.Ast_pattern0.tval psig_typext :
(Astlib.Ast_412.Parsetree.type_extension, 'a, 'b) Ppxlib__.Ast_pattern0.t ->
(Astlib.Ast_412.Parsetree.signature_item, 'a, 'b) Ppxlib__.Ast_pattern0.tval psig_exception :
(Astlib.Ast_412.Parsetree.type_exception, 'a, 'b) Ppxlib__.Ast_pattern0.t ->
(Astlib.Ast_412.Parsetree.signature_item, 'a, 'b) Ppxlib__.Ast_pattern0.tval psig_module :
(Astlib.Ast_412.Parsetree.module_declaration, 'a, 'b) Ppxlib__.Ast_pattern0.t ->
(Astlib.Ast_412.Parsetree.signature_item, 'a, 'b) Ppxlib__.Ast_pattern0.tval psig_modsubst :
(Astlib.Ast_412.Parsetree.module_substitution, 'a, 'b)
Ppxlib__.Ast_pattern0.t ->
(Astlib.Ast_412.Parsetree.signature_item, 'a, 'b) Ppxlib__.Ast_pattern0.tval psig_recmodule :
(Astlib.Ast_412.Parsetree.module_declaration list, 'a, 'b)
Ppxlib__.Ast_pattern0.t ->
(Astlib.Ast_412.Parsetree.signature_item, 'a, 'b) Ppxlib__.Ast_pattern0.tval psig_modtype :
(Astlib.Ast_412.Parsetree.module_type_declaration, 'a, 'b)
Ppxlib__.Ast_pattern0.t ->
(Astlib.Ast_412.Parsetree.signature_item, 'a, 'b) Ppxlib__.Ast_pattern0.tval psig_open :
(Astlib.Longident.t Astlib.Location.loc Astlib.Ast_412.Parsetree.open_infos,
'a,
'b)
Ppxlib__.Ast_pattern0.t ->
(Astlib.Ast_412.Parsetree.signature_item, 'a, 'b) Ppxlib__.Ast_pattern0.tval psig_include :
(Astlib.Ast_412.Parsetree.module_type Astlib.Ast_412.Parsetree.include_infos,
'a,
'b)
Ppxlib__.Ast_pattern0.t ->
(Astlib.Ast_412.Parsetree.signature_item, 'a, 'b) Ppxlib__.Ast_pattern0.tval psig_class :
(Astlib.Ast_412.Parsetree.class_type Astlib.Ast_412.Parsetree.class_infos
list,
'a,
'b)
Ppxlib__.Ast_pattern0.t ->
(Astlib.Ast_412.Parsetree.signature_item, 'a, 'b) Ppxlib__.Ast_pattern0.tval psig_class_type :
(Astlib.Ast_412.Parsetree.class_type Astlib.Ast_412.Parsetree.class_infos
list,
'a,
'b)
Ppxlib__.Ast_pattern0.t ->
(Astlib.Ast_412.Parsetree.signature_item, 'a, 'b) Ppxlib__.Ast_pattern0.tval psig_attribute :
(Astlib.Ast_412.Parsetree.attribute, 'a, 'b) Ppxlib__.Ast_pattern0.t ->
(Astlib.Ast_412.Parsetree.signature_item, 'a, 'b) Ppxlib__.Ast_pattern0.tval psig_extension :
(string Astlib.Location.loc * Astlib.Ast_412.Parsetree.payload, 'a, 'b)
Ppxlib__.Ast_pattern0.t ->
(Astlib.Ast_412.Parsetree.attribute list, 'b, 'c) Ppxlib__.Ast_pattern0.t ->
(Astlib.Ast_412.Parsetree.signature_item, 'a, 'c) Ppxlib__.Ast_pattern0.tval pstr_loc :
(Astlib.Location.t, 'a, 'b) Ppxlib__.Ast_pattern0.t ->
(Astlib.Ast_412.Parsetree.structure_item, 'b, 'c) Ppxlib__.Ast_pattern0.t ->
(Astlib.Ast_412.Parsetree.structure_item, 'a, 'c) Ppxlib__.Ast_pattern0.tval pstr_eval :
(Astlib.Ast_412.Parsetree.expression, 'a, 'b) Ppxlib__.Ast_pattern0.t ->
(Astlib.Ast_412.Parsetree.attribute list, 'b, 'c) Ppxlib__.Ast_pattern0.t ->
(Astlib.Ast_412.Parsetree.structure_item, 'a, 'c) Ppxlib__.Ast_pattern0.tval pstr_value :
(Astlib.Ast_412.Asttypes.rec_flag, 'a, 'b) Ppxlib__.Ast_pattern0.t ->
(Astlib.Ast_412.Parsetree.value_binding list, 'b, 'c) Ppxlib__.Ast_pattern0.t ->
(Astlib.Ast_412.Parsetree.structure_item, 'a, 'c) Ppxlib__.Ast_pattern0.tval pstr_primitive :
(Astlib.Ast_412.Parsetree.value_description, 'a, 'b) Ppxlib__.Ast_pattern0.t ->
(Astlib.Ast_412.Parsetree.structure_item, 'a, 'b) Ppxlib__.Ast_pattern0.tval pstr_type :
(Astlib.Ast_412.Asttypes.rec_flag, 'a, 'b) Ppxlib__.Ast_pattern0.t ->
(Astlib.Ast_412.Parsetree.type_declaration list, 'b, 'c)
Ppxlib__.Ast_pattern0.t ->
(Astlib.Ast_412.Parsetree.structure_item, 'a, 'c) Ppxlib__.Ast_pattern0.tval pstr_typext :
(Astlib.Ast_412.Parsetree.type_extension, 'a, 'b) Ppxlib__.Ast_pattern0.t ->
(Astlib.Ast_412.Parsetree.structure_item, 'a, 'b) Ppxlib__.Ast_pattern0.tval pstr_exception :
(Astlib.Ast_412.Parsetree.type_exception, 'a, 'b) Ppxlib__.Ast_pattern0.t ->
(Astlib.Ast_412.Parsetree.structure_item, 'a, 'b) Ppxlib__.Ast_pattern0.tval pstr_module :
(Astlib.Ast_412.Parsetree.module_binding, 'a, 'b) Ppxlib__.Ast_pattern0.t ->
(Astlib.Ast_412.Parsetree.structure_item, 'a, 'b) Ppxlib__.Ast_pattern0.tval pstr_recmodule :
(Astlib.Ast_412.Parsetree.module_binding list, 'a, 'b)
Ppxlib__.Ast_pattern0.t ->
(Astlib.Ast_412.Parsetree.structure_item, 'a, 'b) Ppxlib__.Ast_pattern0.tval pstr_modtype :
(Astlib.Ast_412.Parsetree.module_type_declaration, 'a, 'b)
Ppxlib__.Ast_pattern0.t ->
(Astlib.Ast_412.Parsetree.structure_item, 'a, 'b) Ppxlib__.Ast_pattern0.tval pstr_open :
(Astlib.Ast_412.Parsetree.module_expr Astlib.Ast_412.Parsetree.open_infos,
'a,
'b)
Ppxlib__.Ast_pattern0.t ->
(Astlib.Ast_412.Parsetree.structure_item, 'a, 'b) Ppxlib__.Ast_pattern0.tval pstr_class :
(Astlib.Ast_412.Parsetree.class_expr Astlib.Ast_412.Parsetree.class_infos
list,
'a,
'b)
Ppxlib__.Ast_pattern0.t ->
(Astlib.Ast_412.Parsetree.structure_item, 'a, 'b) Ppxlib__.Ast_pattern0.tval pstr_class_type :
(Astlib.Ast_412.Parsetree.class_type Astlib.Ast_412.Parsetree.class_infos
list,
'a,
'b)
Ppxlib__.Ast_pattern0.t ->
(Astlib.Ast_412.Parsetree.structure_item, 'a, 'b) Ppxlib__.Ast_pattern0.tval pstr_include :
(Astlib.Ast_412.Parsetree.module_expr Astlib.Ast_412.Parsetree.include_infos,
'a,
'b)
Ppxlib__.Ast_pattern0.t ->
(Astlib.Ast_412.Parsetree.structure_item, 'a, 'b) Ppxlib__.Ast_pattern0.tval pstr_attribute :
(Astlib.Ast_412.Parsetree.attribute, 'a, 'b) Ppxlib__.Ast_pattern0.t ->
(Astlib.Ast_412.Parsetree.structure_item, 'a, 'b) Ppxlib__.Ast_pattern0.tval pstr_extension :
(string Astlib.Location.loc * Astlib.Ast_412.Parsetree.payload, 'a, 'b)
Ppxlib__.Ast_pattern0.t ->
(Astlib.Ast_412.Parsetree.attribute list, 'b, 'c) Ppxlib__.Ast_pattern0.t ->
(Astlib.Ast_412.Parsetree.structure_item, 'a, 'c) Ppxlib__.Ast_pattern0.tval toplevel_directive :
name:(string, 'a, 'b) Ppxlib__.Ast_pattern0.t ->
arg:
(Astlib.Ast_412.Parsetree.directive_argument option, 'b, 'c)
Ppxlib__.Ast_pattern0.t ->
(Astlib.Ast_412.Parsetree.toplevel_directive, 'a, 'c) Ppxlib__.Ast_pattern0.tval ptop_def :
(Astlib.Ast_412.Parsetree.structure_item list, 'a, 'b)
Ppxlib__.Ast_pattern0.t ->
(Astlib.Ast_412.Parsetree.toplevel_phrase, 'a, 'b) Ppxlib__.Ast_pattern0.tval ptop_dir :
(Astlib.Ast_412.Parsetree.toplevel_directive, 'a, 'b) Ppxlib__.Ast_pattern0.t ->
(Astlib.Ast_412.Parsetree.toplevel_phrase, 'a, 'b) Ppxlib__.Ast_pattern0.tval type_declaration_attributes :
(Astlib.Ast_412.Parsetree.attribute list, 'a, 'b) Ppxlib__.Ast_pattern0.t ->
(Astlib.Ast_412.Parsetree.type_declaration, 'b, 'c) Ppxlib__.Ast_pattern0.t ->
(Astlib.Ast_412.Parsetree.type_declaration, 'a, 'c) Ppxlib__.Ast_pattern0.tval type_declaration :
name:(string, 'a, 'b) Ppxlib__.Ast_pattern0.t ->
params:
((Astlib.Ast_412.Parsetree.core_type
* (Astlib.Ast_412.Asttypes.variance * Astlib.Ast_412.Asttypes.injectivity))
list,
'b,
'c)
Ppxlib__.Ast_pattern0.t ->
cstrs:
((Astlib.Ast_412.Parsetree.core_type
* Astlib.Ast_412.Parsetree.core_type
* Astlib.Location.t)
list,
'c,
'd)
Ppxlib__.Ast_pattern0.t ->
kind:(Astlib.Ast_412.Parsetree.type_kind, 'd, 'e) Ppxlib__.Ast_pattern0.t ->
private_:
(Astlib.Ast_412.Asttypes.private_flag, 'e, 'f) Ppxlib__.Ast_pattern0.t ->
manifest:
(Astlib.Ast_412.Parsetree.core_type option, 'f, 'g) Ppxlib__.Ast_pattern0.t ->
(Astlib.Ast_412.Parsetree.type_declaration, 'a, 'g) Ppxlib__.Ast_pattern0.tval type_exception_attributes :
(Astlib.Ast_412.Parsetree.attribute list, 'a, 'b) Ppxlib__.Ast_pattern0.t ->
(Astlib.Ast_412.Parsetree.type_exception, 'b, 'c) Ppxlib__.Ast_pattern0.t ->
(Astlib.Ast_412.Parsetree.type_exception, 'a, 'c) Ppxlib__.Ast_pattern0.tval type_exception :
constructor:
(Astlib.Ast_412.Parsetree.extension_constructor, 'a, 'b)
Ppxlib__.Ast_pattern0.t ->
(Astlib.Ast_412.Parsetree.type_exception, 'a, 'b) Ppxlib__.Ast_pattern0.tval type_extension_attributes :
(Astlib.Ast_412.Parsetree.attribute list, 'a, 'b) Ppxlib__.Ast_pattern0.t ->
(Astlib.Ast_412.Parsetree.type_extension, 'b, 'c) Ppxlib__.Ast_pattern0.t ->
(Astlib.Ast_412.Parsetree.type_extension, 'a, 'c) Ppxlib__.Ast_pattern0.tval type_extension :
path:(Astlib.Longident.t, 'a, 'b) Ppxlib__.Ast_pattern0.t ->
params:
((Astlib.Ast_412.Parsetree.core_type
* (Astlib.Ast_412.Asttypes.variance * Astlib.Ast_412.Asttypes.injectivity))
list,
'b,
'c)
Ppxlib__.Ast_pattern0.t ->
constructors:
(Astlib.Ast_412.Parsetree.extension_constructor list, 'c, 'd)
Ppxlib__.Ast_pattern0.t ->
private_:
(Astlib.Ast_412.Asttypes.private_flag, 'd, 'e) Ppxlib__.Ast_pattern0.t ->
(Astlib.Ast_412.Parsetree.type_extension, 'a, 'e) Ppxlib__.Ast_pattern0.tval ptype_variant :
(Astlib.Ast_412.Parsetree.constructor_declaration list, 'a, 'b)
Ppxlib__.Ast_pattern0.t ->
(Astlib.Ast_412.Parsetree.type_kind, 'a, 'b) Ppxlib__.Ast_pattern0.tval ptype_record :
(Astlib.Ast_412.Parsetree.label_declaration list, 'a, 'b)
Ppxlib__.Ast_pattern0.t ->
(Astlib.Ast_412.Parsetree.type_kind, 'a, 'b) Ppxlib__.Ast_pattern0.tval value_binding_attributes :
(Astlib.Ast_412.Parsetree.attribute list, 'a, 'b) Ppxlib__.Ast_pattern0.t ->
(Astlib.Ast_412.Parsetree.value_binding, 'b, 'c) Ppxlib__.Ast_pattern0.t ->
(Astlib.Ast_412.Parsetree.value_binding, 'a, 'c) Ppxlib__.Ast_pattern0.tval value_binding :
pat:(Astlib.Ast_412.Parsetree.pattern, 'a, 'b) Ppxlib__.Ast_pattern0.t ->
expr:(Astlib.Ast_412.Parsetree.expression, 'b, 'c) Ppxlib__.Ast_pattern0.t ->
(Astlib.Ast_412.Parsetree.value_binding, 'a, 'c) Ppxlib__.Ast_pattern0.tval value_description_attributes :
(Astlib.Ast_412.Parsetree.attribute list, 'a, 'b) Ppxlib__.Ast_pattern0.t ->
(Astlib.Ast_412.Parsetree.value_description, 'b, 'c) Ppxlib__.Ast_pattern0.t ->
(Astlib.Ast_412.Parsetree.value_description, 'a, 'c) Ppxlib__.Ast_pattern0.tval value_description :
name:(string, 'a, 'b) Ppxlib__.Ast_pattern0.t ->
type_:(Astlib.Ast_412.Parsetree.core_type, 'b, 'c) Ppxlib__.Ast_pattern0.t ->
prim:(string list, 'c, 'd) Ppxlib__.Ast_pattern0.t ->
(Astlib.Ast_412.Parsetree.value_description, 'a, 'd) Ppxlib__.Ast_pattern0.tval pwith_type :
(Astlib.Longident.t, 'a, 'b) Ppxlib__.Ast_pattern0.t ->
(Astlib.Ast_412.Parsetree.type_declaration, 'b, 'c) Ppxlib__.Ast_pattern0.t ->
(Astlib.Ast_412.Parsetree.with_constraint, 'a, 'c) Ppxlib__.Ast_pattern0.tval pwith_module :
(Astlib.Longident.t, 'a, 'b) Ppxlib__.Ast_pattern0.t ->
(Astlib.Longident.t, 'b, 'c) Ppxlib__.Ast_pattern0.t ->
(Astlib.Ast_412.Parsetree.with_constraint, 'a, 'c) Ppxlib__.Ast_pattern0.tval pwith_typesubst :
(Astlib.Longident.t, 'a, 'b) Ppxlib__.Ast_pattern0.t ->
(Astlib.Ast_412.Parsetree.type_declaration, 'b, 'c) Ppxlib__.Ast_pattern0.t ->
(Astlib.Ast_412.Parsetree.with_constraint, 'a, 'c) Ppxlib__.Ast_pattern0.tval pwith_modsubst :
(Astlib.Longident.t, 'a, 'b) Ppxlib__.Ast_pattern0.t ->
(Astlib.Longident.t, 'b, 'c) Ppxlib__.Ast_pattern0.t ->
(Astlib.Ast_412.Parsetree.with_constraint, 'a, 'c) Ppxlib__.Ast_pattern0.tval single_expr_payload :
(Astlib.Ast_412.Parsetree.expression, 'a, 'b) t ->
(Astlib.Ast_412.Parsetree.payload, 'a, 'b) tval no_label :
(Astlib.Ast_412.Parsetree.expression, 'a, 'b) t ->
(Ppxlib_ast.Asttypes.arg_label * Astlib.Ast_412.Parsetree.expression, 'a, 'b)
tval attribute :
name:(string, 'a, 'b) t ->
payload:(Astlib.Ast_412.Parsetree.payload, 'b, 'c) t ->
(Astlib.Ast_412.Parsetree.attribute, 'a, 'c) tval extension :
(string, 'a, 'b) t ->
(Astlib.Ast_412.Parsetree.payload, 'b, 'c) t ->
(string Astlib.Location.loc * Astlib.Ast_412.Parsetree.payload, 'a, 'c) tval elist :
(Astlib.Ast_412.Parsetree.expression, 'a -> 'a, 'b) t ->
(Astlib.Ast_412.Parsetree.expression, 'b list -> 'c, 'c) tval esequence :
(Astlib.Ast_412.Parsetree.expression, 'a -> 'a, 'b) t ->
(Astlib.Ast_412.Parsetree.expression, 'b list -> 'c, 'c) t