Figure 0.1 gives the full syntax for patterns. Explanations of these patterns follow.
(match '(let ([x 1][y 2]) z)
[('let ((binding values) ...) exp) body])
binds binding to the list '(x y),
values to the list '(1 2),
and exp to 'z
in the body of the match-expression.
For the special case where (define x (list 1 (list 2 3))) (match x [(_ (_ (set! setit))) (setit 4)])mutates the cadadr of x to 4, so that x is '(1 (2 4)).