Name: Anonymous 2011-01-31 6:28
Is Clojure a better language than Racket?
(defmacro aif (cond then else)
`(let ((it ,cond))
(if it ,then ,else)))
#lang racket
(require racket/stxparam)
(define-syntax-parameter it (lambda (stx) (raise-syntax-error 'anaphora "missed context" stx)))
(define-syntax-rule (aif cond then else)
(let ([temp cond])
(syntax-parameterize ([it (make-rename-transformer #`temp)])
(if temp then else))))