Rewrote (cond) to not use (begin)

This commit is contained in:
Justin Ethier 2015-08-25 01:54:33 -04:00
parent 9d316b3397
commit 82ba3fe18e

View file

@ -223,7 +223,7 @@
(if (compare (rename 'else) (car cl)) (if (compare (rename 'else) (car cl))
(if (pair? (cddr expr)) (if (pair? (cddr expr))
(error "non-final else in cond" expr) (error "non-final else in cond" expr)
(cons (rename 'begin) (cdr cl))) (list (cons (rename 'lambda) (cons '() (cdr cl)))))
(if (if (null? (cdr cl)) #t (compare (rename '=>) (cadr cl))) (if (if (null? (cdr cl)) #t (compare (rename '=>) (cadr cl)))
(list (list (rename 'lambda) (list (rename 'tmp)) (list (list (rename 'lambda) (list (rename 'tmp))
(list (rename 'if) (rename 'tmp) (list (rename 'if) (rename 'tmp)
@ -234,7 +234,7 @@
(car cl)) (car cl))
(list (rename 'if) (list (rename 'if)
(car cl) (car cl)
(cons (rename 'begin) (cdr cl)) (list (cons (rename 'lambda) (cons '() (cdr cl))))
(cons (rename 'cond) (cddr expr)))))) (cons (rename 'cond) (cddr expr))))))
(cadr expr)))))) (cadr expr))))))
(define-syntax case (define-syntax case