From a5d6cf0cd40dfa6e1ff1bbaf7a489f0777cc28b2 Mon Sep 17 00:00:00 2001 From: Carl Eastlund Date: Sat, 29 May 2010 01:21:53 -0400 Subject: [PATCH] Added unstable/cce/match macros to unstable/match. original commit: a22a1a4c1561389c320b297811ff29adda9b1f44 --- collects/unstable/match.rkt | 9 ++++++++- 1 file changed, 8 insertions(+), 1 deletion(-) diff --git a/collects/unstable/match.rkt b/collects/unstable/match.rkt index 45887f3b..2f07528e 100644 --- a/collects/unstable/match.rkt +++ b/collects/unstable/match.rkt @@ -2,7 +2,7 @@ (require racket/match (for-syntax racket/base)) -(provide ==) +(provide == match? as) (define-match-expander == @@ -11,3 +11,10 @@ [(_ val comp) #'(? (lambda (x) (comp val x)))] [(_ val) #'(== val equal?)]))) + +(define-syntax-rule (match? e p ...) + (match e [p #t] ... [_ #f])) + +(define-match-expander as + (syntax-rules () + [(as ([x e] ...) p ...) (and (app (lambda (y) e) x) ... p ...)]))