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

Re: issue SHARP-COMMA-CONFUSION



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.