Removed duplicate definition of 'or'

This commit is contained in:
Justin Ethier 2015-08-14 18:16:02 -04:00
parent 9b96d13857
commit 5f1f34e70c

View file

@ -28,16 +28,16 @@
(cons (rename 'and) (cddr expr)) (cons (rename 'and) (cddr expr))
#f)))))) #f))))))
(define-syntax or ;(define-syntax or
(er-macro-transformer ; (er-macro-transformer
(lambda (expr rename compare) ; (lambda (expr rename compare)
(cond ((null? (cdr expr)) #f) ; (cond ((null? (cdr expr)) #f)
((null? (cddr expr)) (cadr expr)) ; ((null? (cddr expr)) (cadr expr))
(else ; (else
(list (rename 'let) (list (list (rename 'tmp) (cadr expr))) ; (list (rename 'let) (list (list (rename 'tmp) (cadr expr)))
(list (rename 'if) (rename 'tmp) ; (list (rename 'if) (rename 'tmp)
(rename 'tmp) ; (rename 'tmp)
(cons (rename 'or) (cddr expr))))))))) ; (cons (rename 'or) (cddr expr)))))))))
(write (test 1 2 3)) (write (test 1 2 3))
(write (my-or 1 2 3 'or)) (write (my-or 1 2 3 'or))