Legend:
Page
Library
Module
Module type
Parameter
Class
Class type
Source
Page
Library
Module
Module type
Parameter
Class
Class type
Source
Pattern.Construct
type t =
| Constructor of Longident.t Location.loc
* Types.constructor_description
* (Ident.t Location.loc list * Typedtree.core_type) option
C (, None) C P (P
, None) C (P1, ..., Pn) (P1; ...; Pn
, None) C (P : t) (P
, Some (, t)) C (P1, ..., Pn : t) (P1; ...; Pn
, Some (, t)) C (type a) (P : t) (P
, Some (a
, t)) C (type a) (P1, ..., Pn : t) (P1; ...; Pn
, Some (a
, t))
| Tuple of Types.type_expr list
(P1, ..., Pn) Invariant: n >= 2
*)| Array of Types.type_expr * int
| P1; ...; Pn |
| Record of Asttypes.mutable_flag
* (Longident.t Location.loc * Types.label_description) list
l1=P1; ...; ln=Pn
(flag = Closed) l1=P1; ...; ln=Pn; _
(flag = Open) Invariant: n > 0
| Variant of Asttypes.label * Types.row_field
`A (None) `A P (Some P) See Types.row_desc
for an explanation of the last parameter.
type of construct for apply patterns