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 is a pattern variable, the list bound to that variable may share with the matched value.
(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)).