Pattern Matching

April 16, 2025 ยท View on GitHub

Pattern Matching

Variables are bound to values through the pattern matching mechanism. Pattern matching occurs when evaluating the case, receive, try, and the match operator (=) expressions.

In pattern matching, a left-hand side pattern is matched against a right-hand side term. If the matching succeeds, any unbound variables in the pattern become bound. If the matching fails, an exception is raised.

Examples:

1> X.
** 1:1: variable 'X' is unbound **
2> X = 2.
2
3> X + 1.
3
4> {X, Y} = {1, 2}.
** exception error: no match of right hand side value {1,2}
5> {X, Y} = {2, 3}.
{2,3}
6> Y.
3