
Does not yet work: - some errors about car of () - some match-expander certification errors svn: r9049
23 lines
692 B
Scheme
23 lines
692 B
Scheme
|
|
(module match scheme/base
|
|
(require scheme/match/match
|
|
(for-syntax scheme/base))
|
|
(provide (except-out (all-from-out scheme/match/match)
|
|
define-match-expander)
|
|
(rename-out [define-match-expander* define-match-expander]))
|
|
|
|
(define-for-syntax (no-old-match-form stx)
|
|
(raise-syntax-error
|
|
#f
|
|
"works only for constructor-based `match' form"
|
|
stx))
|
|
|
|
(define-syntax define-match-expander*
|
|
(syntax-rules ()
|
|
[(_ id expr) (define-match-expander id expr)]
|
|
[(_ id expr expr2) (define-match-expander id
|
|
expr
|
|
no-old-match-form
|
|
expr2)])))
|
|
|