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