|(require (planet cce/scheme:7:5/match))|
This module provides tools for pattern matching with match.
|(match? val-expr pat ...)|
Returns #t if the result of val-expr matches any of pat, and returns #f otherwise.
|(define-struct-pattern pat-id struct-id)|
Defines pat-id as a match expander that takes one pattern argument per field of the structure described by struct-id. The resulting match expander recognizes instances of the structure and matches their fields against the corresponding patterns.
|(as ([lhs-id rhs-expr] ...) pat ...)|
As a match expander, binds each lhs-id as a pattern variable with the result value of rhs-expr, and continues matching each subsequent pat.
As an expression, constructs an instance of the structure described by struct-id with fields specified by each expr.
As a match expander, matches instances of the structure described by struct-id with fields matched by each pat.