From be852e52dea31aef9e3078d9b62febc04b1e80e3 Mon Sep 17 00:00:00 2001 From: Andy Wingo Date: Sun, 11 May 2008 21:30:02 +0200 Subject: [PATCH] pmatchify a cond for prettiness * module/language/scheme/translate.scm: pmatchify, it's prettier. --- module/language/scheme/translate.scm | 15 ++++++++------- 1 file changed, 8 insertions(+), 7 deletions(-) diff --git a/module/language/scheme/translate.scm b/module/language/scheme/translate.scm index 7f8443766..3d2c13a6e 100644 --- a/module/language/scheme/translate.scm +++ b/module/language/scheme/translate.scm @@ -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