diff options
author | Andy Wingo <wingo@pobox.com> | 2008-05-03 13:55:33 +0200 |
---|---|---|
committer | Andy Wingo <wingo@pobox.com> | 2008-05-03 13:55:33 +0200 |
commit | b816304293c430f9ccdc25cd92990dae87d1055d (patch) | |
tree | f2400d8e5be0997fd310939204a94ad781da0327 | |
parent | be4efc52d29f7d26db01da846121bd648be99567 (diff) | |
download | guile-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.scm | 6 |
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 |