From: Kaz Kylheku
Subject: nested backquote: interpretation of ,,@ and ,@,@.
Date: 
Message-ID: <cf333042.0303211635.36016b97@posting.google.com>
In a nested backquote, does the syntax ,,@form and ,@,@form have any
meaning? Should an error be signaled? Is the behavior undefined?

A naive expectation might be that in evaluating ``(,@,@(list ''(1 2) 3
4)), the value of (list '(1 2) 3 4) be naively spliced into the form
to effectively produce `(,@'(1 2) 3 4) which then produces (1 2 3 4)
when evaluated again.In other words, the left splice refers only to
the first element of the result of the right splice, as if the
splicing were done by naive text replacement of ,@ for the list
contents with parentheses removed. ;)

The problem with that interpretation is that if we consider an
implemenation which translates the read-syntax to a Scheme-like
quasiquote macro, we get the syntax:

   (quasiquote
     (quasiquote 
       (unquote-splicing (unquote-splicing (list ''(1 2) 3 4)))))

in which the splicing unquotes are nested. Thus the straightforward
backquote expander wants to treat the right splicing unquote as being
entirely subordinate to the left.

I'm asking this because in the CLISP implementation notes, the ,@ and
,@,@ are not supported, giving rise to the implication that this is
some kind of defficiency. Since I have rewritten the backquote support
from scratch, I want to resolve every outstanding issue.