1.15 Pattern-Matching
syntax
(match expr (pattern definition ... expr) ...)
pattern = id | #t | #f | string | number | ... | (constructor pattern ...) 
 Ein match- Ausdruck führt eine Verzweigung durch, ähnlich
wie cond.  Dazu wertet match zunächst einmal den Ausdruck
expr nach dem match zum Wert v aus.  Es prüft dann
nacheinander jeden Zweig der Form (pattern expr) dahingehend,
ob das Pattern pattern darin auf den Wert v passt
(“matcht”).  Beim ersten passenden Zweig (pattern expr)
macht match dann mit der Auswertung voh expr weiter.
Ob ein Wert v passt, hängt von pattern ab:
- Ein Pattern, das ein Literal ist (#t, #f, Zeichenketten string, Zahlen number) passt nur dann, wenn der Wert v gleich dem Pattern ist. 
- Ein Pattern, das ein Bezeichner id ist, passt auf jeden Wert. Der Bezeichner wird dann an diesen Wert gebunden und kann in dem Ausdruck des Zweigs benutzt werden. 
- Das Pattern ... passt auf jeden Wert, ohne dass ein Bezeichner gebunden wird. 
- Ein Pattern (constructor pattern ...), bei dem constructor ein Record-Konstruktor ist (ein Konstruktor-Pattern), passt auf v, falls v ein passender Record ist, und dessen Felder auf die entsprechenden Patterns passen, die noch im Konstruktor-Pattern stehen.