A guard pattern has the form p | g
where p
is a pattern and g
is a Boolean expression that may reference any variables bound in p
. The pattern matches if p
matches and g
evaluates to true
.
For example, the following expression evaluates to 6
:
match 1 + 2 with
x
| x == 4 -> 0
| x + 1 == 4 -> 6
_ -> 42