Module Ast.Pattern

type t =
  1. | Pat_constraint of t * TypeExpr.t
    (*

    A pattern with a type constraint: (P : T).

    *)
  2. | Pat_any
    (*

    The wildcard pattern _.

    *)
  3. | Pat_var of ident
    (*

    A variable pattern, such as x.

    *)
  4. | Pat_constant of Constant.t
    (*

    A constant pattern, such as 1, "text", or 't'.

    *)
  5. | Pat_tuple of t List2.t
    (*

    A tuple pattern, such as (P1, P2, ..., Pn).

    *)
  6. | Pat_construct of ident * t option
    (*

    A constructor pattern, such as C or C P.

    *)
val equal : t -> t -> bool
val pp : Stdlib.Format.formatter -> t -> unit
val show : t -> ident
val gen_sized : int -> t QCheck.Gen.t
val gen : t QCheck.Gen.t
val arb_sized : int -> t QCheck.arbitrary
val arb : t QCheck.arbitrary