mirror of
https://git.savannah.gnu.org/git/guile.git
synced 2025-06-09 21:40:33 +02:00
pmatchify a cond for prettiness
* module/language/scheme/translate.scm: pmatchify, it's prettier.
This commit is contained in:
parent
36fb1e06c8
commit
be852e52de
1 changed files with 8 additions and 7 deletions
|
@ -383,13 +383,14 @@
|
|||
(else (syntax-error (location df) "bad define" df))))
|
||||
;; main
|
||||
(let loop ((ls body) (ds '()))
|
||||
(cond ((null? ls) (syntax-error l "bad body" body))
|
||||
((and (pair? (car ls)) (eq? (caar ls) 'define))
|
||||
(loop (cdr ls) (cons (car ls) ds)))
|
||||
(else
|
||||
(if (null? ds)
|
||||
(trans-pair e l 'begin ls)
|
||||
(trans-pair e l 'letrec (cons (map define->binding ds) ls)))))))
|
||||
(pmatch ls
|
||||
(() (syntax-error l "bad body" body))
|
||||
(((define . _) . _)
|
||||
(loop (cdr ls) (cons (car ls) ds)))
|
||||
(else
|
||||
(if (null? ds)
|
||||
(trans-pair e l 'begin ls)
|
||||
(trans-pair e l 'letrec (cons (map define->binding ds) ls)))))))
|
||||
|
||||
(define (parse-formals formals)
|
||||
(cond
|
||||
|
|
Loading…
Add table
Add a link
Reference in a new issue