[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]
- To: email@example.com, Greenwald@STONY-BROOK.SCRC.Symbolics.COM
- Subject: backquote
- From: Michael Greenwald <Greenwald@STONY-BROOK.SCRC.Symbolics.COM>
- Date: Mon, 14 Nov 88 11:40 EST
- Cc: KMP@STONY-BROOK.SCRC.Symbolics.COM, firstname.lastname@example.org, email@example.com
- In-reply-to: <8811140404.AA20070@bhopal>
Date: Sun, 13 Nov 88 20:04:56 PST
From: Jon L White <firstname.lastname@example.org>
re: Could you forward this doubly nested example to me, so that the Genera
reader >will< be able to parse it in future releases?
I think it is ``(,@,@x). Believe it or not, one can "crank" the rules
of CLtL p349-50 to come up with a meaning for it.
Once you mention the example, it's not hard to believe at all.
The bug in the Symbolics implementation is that it tries to optimize
`(,@<form>) to just be <form>. This isn't legal when you are inside
another backquote, and <form> might have a ",." or a ",@" that might
have to be further expanded.
I've submitted a patch.
Lucid, Xerox, and
VAXLISP get it "right" according to that meaning. Several others generate
a read-time error (which is what I think Symbolics 7.0 does). I've seen
some that parse it without error but subsquently generate wrong code.
As to whether this was ever used in naturally occurring code -- I dunno.
Ask QUUX (Guy L Steele).
-- JonL --
P.S.: When trying to work out an example using the rules of CLtL p340-50,
it's important to remember that the square-brackets are part of the
syntax of that crufty litle production-rule language. They are not
- From: email@example.com