
Use `syntax-parse' to implement most of the match forms. Avoid generating so much extraneous intermediate forms. Add `go/one' for handling of `match'. Make `cert' argument to `go' optional. svn: r17281
21 lines
665 B
Scheme
21 lines
665 B
Scheme
#lang scheme/base
|
|
|
|
(require (only-in "runtime.ss"
|
|
match-equality-test
|
|
exn:misc:match?)
|
|
(only-in "match-expander.ss"
|
|
define-match-expander)
|
|
"define-forms.ss"
|
|
(for-syntax "parse-legacy.ss"
|
|
"gen-match.ss"
|
|
(only-in "patterns.ss" match-...-nesting)))
|
|
|
|
(provide (for-syntax match-...-nesting)
|
|
match-equality-test
|
|
define-match-expander
|
|
exn:misc:match?)
|
|
|
|
(define-forms parse/legacy/cert
|
|
match match* match-lambda match-lambda* match-lambda** match-let match-let*
|
|
match-define match-letrec match/derived match*/derived)
|