1
Fork 0
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:
Andy Wingo 2008-05-11 21:30:02 +02:00
parent 36fb1e06c8
commit be852e52de

View file

@ -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