Module Patterns.Head

type desc =
| Any
| Construct of Types.constructor_description
| Constant of Asttypes.constant
| Tuple of int
| Record of Types.label_description list
| Variant of {
tag : Asttypes.label;
has_arg : bool;
cstr_row : Types.row_desc ref;
type_row : unit -> Types.row_desc;
}
| Array of int
| Lazy
val arity : t -> int
val deconstruct : Simple.pattern -> t * Typedtree.pattern list

deconstruct p returns the head of p and the list of sub patterns.

  • raises [Invalid_arg

    _] if p is an or- or an exception-pattern.

val to_omega_pattern : t -> Typedtree.pattern

reconstructs a pattern, putting wildcards as sub-patterns.

val omega : t