non-standard extension - allowing empty expressions in case clauses

This commit is contained in:
Alex Shinn 2011-11-28 20:51:34 +09:00
parent 34c1b86137
commit e7dbddadef

View file

@ -271,9 +271,13 @@
(er-macro-transformer (er-macro-transformer
(lambda (expr rename compare) (lambda (expr rename compare)
(define (body exprs) (define (body exprs)
(if (compare (rename '=>) (car exprs)) (cond
`(,(cadr exprs) ,(rename 'tmp)) ((null? exprs)
`(,(rename 'begin) ,@exprs))) (rename 'tmp))
((compare (rename '=>) (car exprs))
`(,(cadr exprs) ,(rename 'tmp)))
(else
`(,(rename 'begin) ,@exprs))))
(define (clause ls) (define (clause ls)
(cond (cond
((null? ls) #f) ((null? ls) #f)