package ppxlib

  1. Overview
  2. Docs
Legend:
Page
Library
Module
Module type
Parameter
Class
Class type
Source

Module Deriving.ArgsSource

Specification of generator arguments

Sourcetype ('a, 'b) t
Sourcetype 'a param
Sourceval empty : ('m, 'm) t
Sourceval arg : string -> (Astlib.Ast_412.Parsetree.expression, 'a -> 'a option, 'a option) Ast_pattern.t -> 'a option param
Sourceval flag : string -> bool param

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

Sourceval (+>) : ('m1, 'a -> 'm2) t -> 'a param -> ('m1, 'm2) t

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

  Deriving.Args.(
    empty
    +> arg_option "foo" (estring __)
    +> arg_option "bar" (pack2 (eint __ ** eint __))
    +> flag "dotdotdot")
include module type of struct include Ast_pattern end with type ('a, 'b, 'c) t := ('a, 'b, 'c) Ast_pattern.t

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 __.

Sourceval parse : ('a, 'b, 'c) Ast_pattern.t -> Location.t -> ?on_error:(unit -> 'c) -> 'a -> 'b -> 'c

Matches a value against a pattern.

Sourcemodule Packed = Ast_pattern.Packed
Sourceval __ : ('a, 'a -> 'b, 'b) Ast_pattern.t

Pattern that captures its input.

Sourceval __' : ('a, 'a Loc.t -> 'b, 'b) Ast_pattern.t

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.

Sourceval drop : ('a, 'b, 'b) Ast_pattern.t

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.

Sourceval as__ : ('a, 'b, 'c) Ast_pattern.t -> ('a, 'a -> 'b, 'c) Ast_pattern.t

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.

Sourceval alt : ('a, 'b, 'c) Ast_pattern.t -> ('a, 'b, 'c) Ast_pattern.t -> ('a, 'b, 'c) Ast_pattern.t

alt stands for `alternatives'. It matches either the first pattern or the second one.

Sourceval alt_option : ('a, 'v -> 'b, 'c) Ast_pattern.t -> ('a, 'b, 'c) Ast_pattern.t -> ('a, 'v option -> 'b, 'c) Ast_pattern.t

Same as alt, for the common case where the left-hand-side captures a value but not the right-hand-side.

Sourceval (|||) : ('a, 'b, 'c) Ast_pattern.t -> ('a, 'b, 'c) Ast_pattern.t -> ('a, 'b, 'c) Ast_pattern.t

Same as alt

Sourceval map : ('a, 'b, 'c) Ast_pattern.t -> f:('d -> 'b) -> ('a, 'd, 'c) Ast_pattern.t
Sourceval map' : ('a, 'b, 'c) Ast_pattern.t -> f:(Location.t -> 'd -> 'b) -> ('a, 'd, 'c) Ast_pattern.t
Sourceval map_result : ('a, 'b, 'c) Ast_pattern.t -> f:('c -> 'd) -> ('a, 'b, 'd) Ast_pattern.t
Sourceval (>>|) : ('a, 'b, 'c) Ast_pattern.t -> ('d -> 'b) -> ('a, 'd, 'c) Ast_pattern.t

Same as map

Sourceval map0 : ('a, 'b, 'c) Ast_pattern.t -> f:'v -> ('a, 'v -> 'b, 'c) Ast_pattern.t
Sourceval map1 : ('a, 'v1 -> 'b, 'c) Ast_pattern.t -> f:('v1 -> 'v) -> ('a, 'v -> 'b, 'c) Ast_pattern.t
Sourceval map2 : ('a, 'v1 -> 'v2 -> 'b, 'c) Ast_pattern.t -> f:('v1 -> 'v2 -> 'v) -> ('a, 'v -> 'b, 'c) Ast_pattern.t
Sourceval map0' : ('a, 'b, 'c) Ast_pattern.t -> f:(Location.t -> 'v) -> ('a, 'v -> 'b, 'c) Ast_pattern.t
Sourceval map1' : ('a, 'v1 -> 'b, 'c) Ast_pattern.t -> f:(Location.t -> 'v1 -> 'v) -> ('a, 'v -> 'b, 'c) Ast_pattern.t
Sourceval map2' : ('a, 'v1 -> 'v2 -> 'b, 'c) Ast_pattern.t -> f:(Location.t -> 'v1 -> 'v2 -> 'v) -> ('a, 'v -> 'b, 'c) Ast_pattern.t
Sourceval nil : (_ list, 'a, 'a) Ast_pattern.t
Sourceval (^::) : ('a, 'b, 'c) Ast_pattern.t -> ('a list, 'c, 'd) Ast_pattern.t -> ('a list, 'b, 'd) Ast_pattern.t
Sourceval many : ('a, 'b -> 'b, 'c) Ast_pattern.t -> ('a list, 'c list -> 'd, 'd) Ast_pattern.t
Sourceval int : int -> (int, 'a, 'a) Ast_pattern.t
Sourceval char : char -> (char, 'a, 'a) Ast_pattern.t
Sourceval string : string -> (string, 'a, 'a) Ast_pattern.t
Sourceval float : float -> (float, 'a, 'a) Ast_pattern.t
Sourceval int32 : int32 -> (int32, 'a, 'a) Ast_pattern.t
Sourceval int64 : int64 -> (int64, 'a, 'a) Ast_pattern.t
Sourceval nativeint : nativeint -> (nativeint, 'a, 'a) Ast_pattern.t
Sourceval bool : bool -> (bool, 'a, 'a) Ast_pattern.t
Sourceval cst : to_string:('a -> string) -> ?equal:('a -> 'a -> bool) -> 'a -> ('a, 'b, 'b) Ast_pattern.t
Sourceval none : (_ option, 'a, 'a) Ast_pattern.t
Sourceval some : ('a, 'b, 'c) Ast_pattern.t -> ('a option, 'b, 'c) Ast_pattern.t
Sourceval pair : ('a1, 'b, 'c) Ast_pattern.t -> ('a2, 'c, 'd) Ast_pattern.t -> ('a1 * 'a2, 'b, 'd) Ast_pattern.t
Sourceval (**) : ('a1, 'b, 'c) Ast_pattern.t -> ('a2, 'c, 'd) Ast_pattern.t -> ('a1 * 'a2, 'b, 'd) Ast_pattern.t
Sourceval triple : ('a1, 'b, 'c) Ast_pattern.t -> ('a2, 'c, 'd) Ast_pattern.t -> ('a3, 'd, 'e) Ast_pattern.t -> ('a1 * 'a2 * 'a3, 'b, 'e) Ast_pattern.t
Sourceval loc : ('a, 'b, 'c) Ast_pattern.t -> ('a Loc.t, 'b, 'c) Ast_pattern.t
Sourceval pack0 : ('a, 'b, 'c) Ast_pattern.t -> ('a, unit -> 'b, 'c) Ast_pattern.t
Sourceval pack2 : ('a, 'b -> 'c -> 'd, 'e) Ast_pattern.t -> ('a, ('b * 'c) -> 'd, 'e) Ast_pattern.t
Sourceval pack3 : ('a, 'b -> 'c -> 'd -> 'e, 'f) Ast_pattern.t -> ('a, ('b * 'c * 'd) -> 'e, 'f) Ast_pattern.t

AST 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) t
Sourceval nolabel : (Astlib.Ast_412.Asttypes.arg_label, 'a, 'a) Ppxlib__.Ast_pattern0.t
Sourceval labelled : (string, 'a, 'b) Ppxlib__.Ast_pattern0.t -> (Astlib.Ast_412.Asttypes.arg_label, 'a, 'b) Ppxlib__.Ast_pattern0.t
Sourceval optional : (string, 'a, 'b) Ppxlib__.Ast_pattern0.t -> (Astlib.Ast_412.Asttypes.arg_label, 'a, 'b) Ppxlib__.Ast_pattern0.t
Sourceval 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.t
Sourceval 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.t
Sourceval 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.t
Sourceval 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.t
Sourceval 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.t
Sourceval 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.t
Sourceval 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.t
Sourceval 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.t
Sourceval 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.t
Sourceval 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.t
Sourceval 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.t
Sourceval 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.t
Sourceval 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.t
Sourceval 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.t
Sourceval 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.t
Sourceval 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.t
Sourceval 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.t
Sourceval 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.t
Sourceval pcf_initializer : (Astlib.Ast_412.Parsetree.expression, 'a, 'b) Ppxlib__.Ast_pattern0.t -> (Astlib.Ast_412.Parsetree.class_field, 'a, 'b) Ppxlib__.Ast_pattern0.t
Sourceval pcf_attribute : (Astlib.Ast_412.Parsetree.attribute, 'a, 'b) Ppxlib__.Ast_pattern0.t -> (Astlib.Ast_412.Parsetree.class_field, 'a, 'b) Ppxlib__.Ast_pattern0.t
Sourceval 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.t
Sourceval 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.t
Sourceval 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.t
Sourceval 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.t
Sourceval 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.t
Sourceval 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.t
Sourceval 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.t
Sourceval 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.t
Sourceval 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.t
Sourceval 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.t
Sourceval 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.t
Sourceval 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.t
Sourceval 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.t
Sourceval 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.t
Sourceval 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.t
Sourceval 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.t
Sourceval 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.t
Sourceval 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.t
Sourceval 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.t
Sourceval 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.t
Sourceval closed : (Astlib.Ast_412.Asttypes.closed_flag, 'a, 'a) Ppxlib__.Ast_pattern0.t
Sourceval open_ : (Astlib.Ast_412.Asttypes.closed_flag, 'a, 'a) Ppxlib__.Ast_pattern0.t
Sourceval 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.t
Sourceval pconst_char : (char, 'a, 'b) Ppxlib__.Ast_pattern0.t -> (Astlib.Ast_412.Parsetree.constant, 'a, 'b) Ppxlib__.Ast_pattern0.t
Sourceval 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.t
Sourceval 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.t
Sourceval 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.t
Sourceval 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.t
Sourceval 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.t
Sourceval 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.t
Sourceval 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.t
Sourceval 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.t
Sourceval ptyp_any : (Astlib.Ast_412.Parsetree.core_type, 'a, 'a) Ppxlib__.Ast_pattern0.t
Sourceval ptyp_var : (string, 'a, 'b) Ppxlib__.Ast_pattern0.t -> (Astlib.Ast_412.Parsetree.core_type, 'a, 'b) Ppxlib__.Ast_pattern0.t
Sourceval 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.t
Sourceval 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.t
Sourceval 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.t
Sourceval 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.t
Sourceval 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.t
Sourceval 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.t
Sourceval 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.t
Sourceval 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.t
Sourceval 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.t
Sourceval 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.t
Sourceval upto : (Astlib.Ast_412.Asttypes.direction_flag, 'a, 'a) Ppxlib__.Ast_pattern0.t
Sourceval downto_ : (Astlib.Ast_412.Asttypes.direction_flag, 'a, 'a) Ppxlib__.Ast_pattern0.t
Sourceval 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.t
Sourceval pdir_string : (string, 'a, 'b) Ppxlib__.Ast_pattern0.t -> (Astlib.Ast_412.Parsetree.directive_argument, 'a, 'b) Ppxlib__.Ast_pattern0.t
Sourceval 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.t
Sourceval pdir_ident : (Astlib.Longident.t, 'a, 'b) Ppxlib__.Ast_pattern0.t -> (Astlib.Ast_412.Parsetree.directive_argument, 'a, 'b) Ppxlib__.Ast_pattern0.t
Sourceval pdir_bool : (bool, 'a, 'b) Ppxlib__.Ast_pattern0.t -> (Astlib.Ast_412.Parsetree.directive_argument, 'a, 'b) Ppxlib__.Ast_pattern0.t
Sourceval 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.t
Sourceval 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.t
Sourceval pexp_ident : (Astlib.Longident.t, 'a, 'b) Ppxlib__.Ast_pattern0.t -> (Astlib.Ast_412.Parsetree.expression, 'a, 'b) Ppxlib__.Ast_pattern0.t
Sourceval pexp_constant : (Astlib.Ast_412.Parsetree.constant, 'a, 'b) Ppxlib__.Ast_pattern0.t -> (Astlib.Ast_412.Parsetree.expression, 'a, 'b) Ppxlib__.Ast_pattern0.t
Sourceval 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.t
Sourceval pexp_function : (Astlib.Ast_412.Parsetree.case list, 'a, 'b) Ppxlib__.Ast_pattern0.t -> (Astlib.Ast_412.Parsetree.expression, 'a, 'b) Ppxlib__.Ast_pattern0.t
Sourceval 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.t
Sourceval 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.t
Sourceval 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.t
Sourceval 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.t
Sourceval pexp_tuple : (Astlib.Ast_412.Parsetree.expression list, 'a, 'b) Ppxlib__.Ast_pattern0.t -> (Astlib.Ast_412.Parsetree.expression, 'a, 'b) Ppxlib__.Ast_pattern0.t
Sourceval 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.t
Sourceval 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.t
Sourceval 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.t
Sourceval 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.t
Sourceval 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.t
Sourceval pexp_array : (Astlib.Ast_412.Parsetree.expression list, 'a, 'b) Ppxlib__.Ast_pattern0.t -> (Astlib.Ast_412.Parsetree.expression, 'a, 'b) Ppxlib__.Ast_pattern0.t
Sourceval 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.t
Sourceval 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.t
Sourceval 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.t
Sourceval 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.t
Sourceval 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.t
Sourceval 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.t
Sourceval 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.t
Sourceval pexp_new : (Astlib.Longident.t, 'a, 'b) Ppxlib__.Ast_pattern0.t -> (Astlib.Ast_412.Parsetree.expression, 'a, 'b) Ppxlib__.Ast_pattern0.t
Sourceval 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.t
Sourceval 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.t
Sourceval 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.t
Sourceval 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.t
Sourceval pexp_assert : (Astlib.Ast_412.Parsetree.expression, 'a, 'b) Ppxlib__.Ast_pattern0.t -> (Astlib.Ast_412.Parsetree.expression, 'a, 'b) Ppxlib__.Ast_pattern0.t
Sourceval pexp_lazy : (Astlib.Ast_412.Parsetree.expression, 'a, 'b) Ppxlib__.Ast_pattern0.t -> (Astlib.Ast_412.Parsetree.expression, 'a, 'b) Ppxlib__.Ast_pattern0.t
Sourceval 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.t
Sourceval pexp_object : (Astlib.Ast_412.Parsetree.class_structure, 'a, 'b) Ppxlib__.Ast_pattern0.t -> (Astlib.Ast_412.Parsetree.expression, 'a, 'b) Ppxlib__.Ast_pattern0.t
Sourceval 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.t
Sourceval pexp_pack : (Astlib.Ast_412.Parsetree.module_expr, 'a, 'b) Ppxlib__.Ast_pattern0.t -> (Astlib.Ast_412.Parsetree.expression, 'a, 'b) Ppxlib__.Ast_pattern0.t
Sourceval 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.t
Sourceval pexp_letop : (Astlib.Ast_412.Parsetree.letop, 'a, 'b) Ppxlib__.Ast_pattern0.t -> (Astlib.Ast_412.Parsetree.expression, 'a, 'b) Ppxlib__.Ast_pattern0.t
Sourceval 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.t
Sourceval pexp_unreachable : (Astlib.Ast_412.Parsetree.expression, 'a, 'a) Ppxlib__.Ast_pattern0.t
Sourceval 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.t
Sourceval 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.t
Sourceval 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.t
Sourceval pext_rebind : (Astlib.Longident.t, 'a, 'b) Ppxlib__.Ast_pattern0.t -> (Astlib.Ast_412.Parsetree.extension_constructor_kind, 'a, 'b) Ppxlib__.Ast_pattern0.t
Sourceval unit : (Astlib.Ast_412.Parsetree.functor_parameter, 'a, 'a) Ppxlib__.Ast_pattern0.t
Sourceval 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.t
Sourceval 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.t
Sourceval include_infos : mod_:('a, 'b, 'c) Ppxlib__.Ast_pattern0.t -> ('a Astlib.Ast_412.Parsetree.include_infos, 'b, 'c) Ppxlib__.Ast_pattern0.t
Sourceval injective : (Astlib.Ast_412.Asttypes.injectivity, 'a, 'a) Ppxlib__.Ast_pattern0.t
Sourceval noinjectivity : (Astlib.Ast_412.Asttypes.injectivity, 'a, 'a) Ppxlib__.Ast_pattern0.t
Sourceval 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.t
Sourceval 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.t
Sourceval 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.t
Sourceval 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.t
Sourceval lident : (string, 'a, 'b) Ppxlib__.Ast_pattern0.t -> (Astlib.Longident.t, 'a, 'b) Ppxlib__.Ast_pattern0.t
Sourceval 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.t
Sourceval 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.t
Sourceval 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.t
Sourceval 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.t
Sourceval 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.t
Sourceval 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.t
Sourceval 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.t
Sourceval 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.t
Sourceval pmod_ident : (Astlib.Longident.t, 'a, 'b) Ppxlib__.Ast_pattern0.t -> (Astlib.Ast_412.Parsetree.module_expr, 'a, 'b) Ppxlib__.Ast_pattern0.t
Sourceval 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.t
Sourceval 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.t
Sourceval 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.t
Sourceval 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.t
Sourceval pmod_unpack : (Astlib.Ast_412.Parsetree.expression, 'a, 'b) Ppxlib__.Ast_pattern0.t -> (Astlib.Ast_412.Parsetree.module_expr, 'a, 'b) Ppxlib__.Ast_pattern0.t
Sourceval 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.t
Sourceval 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.t
Sourceval 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.t
Sourceval 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.t
Sourceval 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.t
Sourceval pmty_ident : (Astlib.Longident.t, 'a, 'b) Ppxlib__.Ast_pattern0.t -> (Astlib.Ast_412.Parsetree.module_type, 'a, 'b) Ppxlib__.Ast_pattern0.t
Sourceval 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.t
Sourceval 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.t
Sourceval 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.t
Sourceval 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.t
Sourceval 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.t
Sourceval pmty_alias : (Astlib.Longident.t, 'a, 'b) Ppxlib__.Ast_pattern0.t -> (Astlib.Ast_412.Parsetree.module_type, 'a, 'b) Ppxlib__.Ast_pattern0.t
Sourceval 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.t
Sourceval 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.t
Sourceval immutable : (Astlib.Ast_412.Asttypes.mutable_flag, 'a, 'a) Ppxlib__.Ast_pattern0.t
Sourceval mutable_ : (Astlib.Ast_412.Asttypes.mutable_flag, 'a, 'a) Ppxlib__.Ast_pattern0.t
Sourceval 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.t
Sourceval 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.t
Sourceval 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.t
Sourceval oinherit : (Astlib.Ast_412.Parsetree.core_type, 'a, 'b) Ppxlib__.Ast_pattern0.t -> (Astlib.Ast_412.Parsetree.object_field, 'a, 'b) Ppxlib__.Ast_pattern0.t
Sourceval 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.t
Sourceval 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.t
Sourceval override : (Astlib.Ast_412.Asttypes.override_flag, 'a, 'a) Ppxlib__.Ast_pattern0.t
Sourceval fresh : (Astlib.Ast_412.Asttypes.override_flag, 'a, 'a) Ppxlib__.Ast_pattern0.t
Sourceval 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.t
Sourceval 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.t
Sourceval ppat_any : (Astlib.Ast_412.Parsetree.pattern, 'a, 'a) Ppxlib__.Ast_pattern0.t
Sourceval ppat_var : (string, 'a, 'b) Ppxlib__.Ast_pattern0.t -> (Astlib.Ast_412.Parsetree.pattern, 'a, 'b) Ppxlib__.Ast_pattern0.t
Sourceval 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.t
Sourceval ppat_constant : (Astlib.Ast_412.Parsetree.constant, 'a, 'b) Ppxlib__.Ast_pattern0.t -> (Astlib.Ast_412.Parsetree.pattern, 'a, 'b) Ppxlib__.Ast_pattern0.t
Sourceval 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.t
Sourceval ppat_tuple : (Astlib.Ast_412.Parsetree.pattern list, 'a, 'b) Ppxlib__.Ast_pattern0.t -> (Astlib.Ast_412.Parsetree.pattern, 'a, 'b) Ppxlib__.Ast_pattern0.t
Sourceval 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.t
Sourceval 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.t
Sourceval 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.t
Sourceval ppat_array : (Astlib.Ast_412.Parsetree.pattern list, 'a, 'b) Ppxlib__.Ast_pattern0.t -> (Astlib.Ast_412.Parsetree.pattern, 'a, 'b) Ppxlib__.Ast_pattern0.t
Sourceval 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.t
Sourceval 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.t
Sourceval ppat_type : (Astlib.Longident.t, 'a, 'b) Ppxlib__.Ast_pattern0.t -> (Astlib.Ast_412.Parsetree.pattern, 'a, 'b) Ppxlib__.Ast_pattern0.t
Sourceval ppat_lazy : (Astlib.Ast_412.Parsetree.pattern, 'a, 'b) Ppxlib__.Ast_pattern0.t -> (Astlib.Ast_412.Parsetree.pattern, 'a, 'b) Ppxlib__.Ast_pattern0.t
Sourceval ppat_unpack : (string option, 'a, 'b) Ppxlib__.Ast_pattern0.t -> (Astlib.Ast_412.Parsetree.pattern, 'a, 'b) Ppxlib__.Ast_pattern0.t
Sourceval ppat_exception : (Astlib.Ast_412.Parsetree.pattern, 'a, 'b) Ppxlib__.Ast_pattern0.t -> (Astlib.Ast_412.Parsetree.pattern, 'a, 'b) Ppxlib__.Ast_pattern0.t
Sourceval 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.t
Sourceval 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.t
Sourceval pstr : (Astlib.Ast_412.Parsetree.structure_item list, 'a, 'b) Ppxlib__.Ast_pattern0.t -> (Astlib.Ast_412.Parsetree.payload, 'a, 'b) Ppxlib__.Ast_pattern0.t
Sourceval psig : (Astlib.Ast_412.Parsetree.signature_item list, 'a, 'b) Ppxlib__.Ast_pattern0.t -> (Astlib.Ast_412.Parsetree.payload, 'a, 'b) Ppxlib__.Ast_pattern0.t
Sourceval ptyp : (Astlib.Ast_412.Parsetree.core_type, 'a, 'b) Ppxlib__.Ast_pattern0.t -> (Astlib.Ast_412.Parsetree.payload, 'a, 'b) Ppxlib__.Ast_pattern0.t
Sourceval 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.t
Sourceval 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.t
Sourceval private_ : (Astlib.Ast_412.Asttypes.private_flag, 'a, 'a) Ppxlib__.Ast_pattern0.t
Sourceval public : (Astlib.Ast_412.Asttypes.private_flag, 'a, 'a) Ppxlib__.Ast_pattern0.t
Sourceval nonrecursive : (Astlib.Ast_412.Asttypes.rec_flag, 'a, 'a) Ppxlib__.Ast_pattern0.t
Sourceval recursive : (Astlib.Ast_412.Asttypes.rec_flag, 'a, 'a) Ppxlib__.Ast_pattern0.t
Sourceval 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.t
Sourceval 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.t
Sourceval 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.t
Sourceval rinherit : (Astlib.Ast_412.Parsetree.core_type, 'a, 'b) Ppxlib__.Ast_pattern0.t -> (Astlib.Ast_412.Parsetree.row_field, 'a, 'b) Ppxlib__.Ast_pattern0.t
Sourceval 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.t
Sourceval 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.t
Sourceval 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.t
Sourceval 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.t
Sourceval 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.t
Sourceval 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.t
Sourceval 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.t
Sourceval 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.t
Sourceval 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.t
Sourceval 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.t
Sourceval 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.t
Sourceval 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.t
Sourceval 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.t
Sourceval 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.t
Sourceval psig_attribute : (Astlib.Ast_412.Parsetree.attribute, 'a, 'b) Ppxlib__.Ast_pattern0.t -> (Astlib.Ast_412.Parsetree.signature_item, 'a, 'b) Ppxlib__.Ast_pattern0.t
Sourceval 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.t
Sourceval 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.t
Sourceval 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.t
Sourceval 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.t
Sourceval 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.t
Sourceval 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.t
Sourceval 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.t
Sourceval 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.t
Sourceval 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.t
Sourceval 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.t
Sourceval 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.t
Sourceval 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.t
Sourceval 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.t
Sourceval 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.t
Sourceval 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.t
Sourceval pstr_attribute : (Astlib.Ast_412.Parsetree.attribute, 'a, 'b) Ppxlib__.Ast_pattern0.t -> (Astlib.Ast_412.Parsetree.structure_item, 'a, 'b) Ppxlib__.Ast_pattern0.t
Sourceval 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.t
Sourceval 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.t
Sourceval 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.t
Sourceval 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.t
Sourceval 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.t
Sourceval 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.t
Sourceval 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.t
Sourceval 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.t
Sourceval 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.t
Sourceval 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.t
Sourceval ptype_abstract : (Astlib.Ast_412.Parsetree.type_kind, 'a, 'a) Ppxlib__.Ast_pattern0.t
Sourceval 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.t
Sourceval 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.t
Sourceval ptype_open : (Astlib.Ast_412.Parsetree.type_kind, 'a, 'a) Ppxlib__.Ast_pattern0.t
Sourceval 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.t
Sourceval 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.t
Sourceval 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.t
Sourceval 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.t
Sourceval covariant : (Astlib.Ast_412.Asttypes.variance, 'a, 'a) Ppxlib__.Ast_pattern0.t
Sourceval contravariant : (Astlib.Ast_412.Asttypes.variance, 'a, 'a) Ppxlib__.Ast_pattern0.t
Sourceval novariance : (Astlib.Ast_412.Asttypes.variance, 'a, 'a) Ppxlib__.Ast_pattern0.t
Sourceval virtual_ : (Astlib.Ast_412.Asttypes.virtual_flag, 'a, 'a) Ppxlib__.Ast_pattern0.t
Sourceval concrete : (Astlib.Ast_412.Asttypes.virtual_flag, 'a, 'a) Ppxlib__.Ast_pattern0.t
Sourceval 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.t
Sourceval 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.t
Sourceval 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.t
Sourceval 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.t
Sourceval true_ : (bool, 'a, 'a) Ast_pattern.t
Sourceval false_ : (bool, 'a, 'a) Ast_pattern.t
Sourceval estring : (string, 'a, 'b) Ast_pattern.t -> (Astlib.Ast_412.Parsetree.expression, 'a, 'b) Ast_pattern.t
Sourceval efloat : (string, 'a, 'b) Ast_pattern.t -> (Astlib.Ast_412.Parsetree.expression, 'a, 'b) Ast_pattern.t
Sourceval enativeint : (nativeint, 'a, 'b) Ast_pattern.t -> (Astlib.Ast_412.Parsetree.expression, 'a, 'b) Ast_pattern.t
Sourceval pstring : (string, 'a, 'b) Ast_pattern.t -> (Astlib.Ast_412.Parsetree.pattern, 'a, 'b) Ast_pattern.t
Sourceval pfloat : (string, 'a, 'b) Ast_pattern.t -> (Astlib.Ast_412.Parsetree.pattern, 'a, 'b) Ast_pattern.t
Sourceval pint32 : (int32, 'a, 'b) Ast_pattern.t -> (Astlib.Ast_412.Parsetree.pattern, 'a, 'b) Ast_pattern.t
Sourceval pint64 : (int64, 'a, 'b) Ast_pattern.t -> (Astlib.Ast_412.Parsetree.pattern, 'a, 'b) Ast_pattern.t
Sourceval pnativeint : (nativeint, 'a, 'b) Ast_pattern.t -> (Astlib.Ast_412.Parsetree.pattern, 'a, 'b) Ast_pattern.t
Sourceval attribute : name:(string, 'a, 'b) Ast_pattern.t -> payload:(Astlib.Ast_412.Parsetree.payload, 'b, 'c) Ast_pattern.t -> (Astlib.Ast_412.Parsetree.attribute, 'a, 'c) Ast_pattern.t
Sourceval of_func : (context -> Location.t -> 'a -> 'b -> 'c) -> ('a, 'b, 'c) Ast_pattern.t
Sourceval to_func : ('a, 'b, 'c) Ast_pattern.t -> context -> Location.t -> 'a -> 'b -> 'c
OCaml

Innovation. Community. Security.