| pattern | ::= | value-name |
| ∣ | _ | |
| ∣ | constant | |
| ∣ | pattern as value-name | |
| ∣ | ( pattern ) | |
| ∣ | ( pattern : typexpr ) | |
| ∣ | pattern | pattern | |
| ∣ | constr pattern | |
| ∣ | `tag-name pattern | |
| ∣ | #typeconstr-name | |
| ∣ | pattern { , pattern } | |
| ∣ | { field = pattern { ; field = pattern } } | |
| ∣ | [ pattern { ; pattern } ] | |
| ∣ | pattern :: pattern | |
| ∣ | [| pattern { ; pattern } |] |
| Operator | Associativity |
| Constructor application | – |
| :: | right |
| , | – |
| | | left |
| as | – |