summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorAndy Wingo <wingo@pobox.com>2008-05-03 13:55:33 +0200
committerAndy Wingo <wingo@pobox.com>2008-05-03 13:55:33 +0200
commitb816304293c430f9ccdc25cd92990dae87d1055d (patch)
treef2400d8e5be0997fd310939204a94ad781da0327
parentbe4efc52d29f7d26db01da846121bd648be99567 (diff)
downloadguile-b816304293c430f9ccdc25cd92990dae87d1055d.tar.gz
rebase record-case on `match'
* module/system/base/syntax.scm (record-case): Rebase on `match', for transition purposes.
-rw-r--r--module/system/base/syntax.scm6
1 files changed, 6 insertions, 0 deletions
diff --git a/module/system/base/syntax.scm b/module/system/base/syntax.scm
index a1d9181d3..783f177a1 100644
--- a/module/system/base/syntax.scm
+++ b/module/system/base/syntax.scm
@@ -175,6 +175,12 @@
(cond ,@(map process-clause clauses)
(else (error "unhandled record" ,r))))))
+(use-modules (ice-9 match))
+(define-macro (record-case record . clauses)
+ (define (process-clause clause)
+ `(($ ,@(car clause)) ,@(cdr clause)))
+ `(match ,record ,(map process-clause clauses)))
+
;;;
;;; Utilities