mirror of
https://git.savannah.gnu.org/git/guile.git
synced 2025-06-09 21:40:33 +02:00
rebase record-case on `match'
* module/system/base/syntax.scm (record-case): Rebase on `match', for transition purposes.
This commit is contained in:
parent
be4efc52d2
commit
b816304293
1 changed files with 6 additions and 0 deletions
|
@ -175,6 +175,12 @@
|
||||||
(cond ,@(map process-clause clauses)
|
(cond ,@(map process-clause clauses)
|
||||||
(else (error "unhandled record" ,r))))))
|
(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
|
;;; Utilities
|
||||||
|
|
Loading…
Add table
Add a link
Reference in a new issue