 
 
 
| 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 | – | 
 
 
