Unless/when don't have alternate clause

This commit is contained in:
Arthur Maciel 2021-01-22 22:25:29 -03:00
parent 35f0c486cd
commit 1d1cd8d61f

View file

@ -483,15 +483,13 @@
(if (null? (cdr exp)) (error/loc "empty when" exp))
(if (null? (cddr exp)) (error/loc "no when body" exp))
`(if ,(cadr exp)
((lambda () ,@(cddr exp)))
#f))))
((lambda () ,@(cddr exp)))))))
(define-syntax unless
(er-macro-transformer
(lambda (exp rename compare)
(if (null? (cdr exp)) (error/loc "empty unless" exp))
(if (null? (cddr exp)) (error/loc "no unless body" exp))
`(if ,(cadr exp)
#f
`(if (not ,(cadr exp))
((lambda () ,@(cddr exp)))))))
(define-syntax do
(er-macro-transformer