[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

Re: question about Quasiquote

At  9:10 PM 93/04/12 -0400, Matthias Blume wrote:
>Using the current solution it is very hard to achieve the following
>behavior, for instance:
>        (define a 'aa)
>        (define b 'bb)
>        `<some template> => `(aa bb)

What is wrong with:
(let ( (a 'aa) (b 'bb) ) 
   (list 'quasiquote `(,a ,b)))  -> `(aa bb)


>where aa and bb in the result are the value of a and b respectively.
>Intuitively I would write:
>        ``(,a ,b)
>but this doesn't work, because the ``unquoted'' subexpressions are not
>at the same nesting level as the outermost quasiquote.

Yep.  Sometimes a pain.

I don't know the history, but Jonathan Rees posted an implementation to
RRRS-AUTHORS on 22 December 1986 (which I no longer have).  Perhaps someone
can dig it out.