[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]
Re: issue SHARP-COMMA-CONFUSION
- To: Jon L White <jonl@lucid.com>
- Subject: Re: issue SHARP-COMMA-CONFUSION
- From: masinter.pa@Xerox.COM
- Date: 11 Jan 89 23:43 PST
- Cc: masinter.pa@Xerox.COM, sandra%defun@cs.utah.edu, cl-compiler@sail.stanford.edu
- In-reply-to: Jon L White <jonl@lucid.com>'s message of Wed, 11 Jan 89 18:03:02 PST
While I believe that LOAD-TIME-VALUE has cleaner semantics, and that
suitably specifying the places where #, actually can "work" is difficult,
I'm uncomfortable with the position that we should toss something that's
been in Lisp for 8 years just because we can't find a way of specifying it
with only a few months thought.
Here's a version of "restricted" #, that may have as clean semantics as
LOAD-TIME-VALUE:
(a) restrict the read macro #, to only appear in places where comma can
appear.
(b) add a meta-rule to backquote processing that [#,form] is interpreted as
(LIST (LOAD-TIME-VALUE form)) (in the same way that [,form] is interpreted
as (LIST form).)
(c) add a meta-rule that
`(x1 x2 x3 ... xn . #,form) may be interpreted to mean
(append [x1] [x2] ... [xn] (LOAD-TIME-VALUE form)).
This is an incompatible change for current users of #, but the
incompatibility is minor for most uses.
It treats #, more like , than like #. and gives a consistent
interpretation of it.