racket/collects/scheme/match.ss
Sam Tobin-Hochstadt 65d804d286 Add disappeared-use properties for struct ids.
Fix bug with handling of identifier as second arg to `define-match-expander'

svn: r16201
2009-10-01 18:59:12 +00:00

22 lines
663 B
Scheme

#lang 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
(#%expression expr2))]))