[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]
Re: question about Quasiquote
Matthias Blume writes concerning QUASIQUOTE:
I don't like the current definition of quasiquote's semantics. I
think it is not general enough and I cannot see any use of the (very
complicated) nesting level business.
Below is an example of nested QUASIQUOTE from a system for hygienic
macro expansion. The need for nested QUASIQUOTE does not arise from
EVAL, but rather from UNQUOTE and UNQUOTE-SPLICING.
(define (expand-letrec bindings body)
`((,new-lambda ,(map car bindings)
,@(map (lambda (binding)
`(,new-set! ,(car binding)
,(cadr binding)))
bindings)
,@body)
,@(map (lambda (binding) `(,new-quote unspecified)) bindings)))
William Clinger