1
Fork 0
mirror of https://git.savannah.gnu.org/git/guile.git synced 2025-06-10 05:50:26 +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)))) (else (syntax-error (location df) "bad define" df))))
;; main ;; main
(let loop ((ls body) (ds '())) (let loop ((ls body) (ds '()))
(cond ((null? ls) (syntax-error l "bad body" body)) (pmatch ls
((and (pair? (car ls)) (eq? (caar ls) 'define)) (() (syntax-error l "bad body" body))
(loop (cdr ls) (cons (car ls) ds))) (((define . _) . _)
(else (loop (cdr ls) (cons (car ls) ds)))
(if (null? ds) (else
(trans-pair e l 'begin ls) (if (null? ds)
(trans-pair e l 'letrec (cons (map define->binding ds) ls))))))) (trans-pair e l 'begin ls)
(trans-pair e l 'letrec (cons (map define->binding ds) ls)))))))
(define (parse-formals formals) (define (parse-formals formals)
(cond (cond