[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]
Re: proposal LOAD-TIME-EVAL:REVISED-NEW-SPECIAL-FORM
- To: Eric Benson <email@example.com>
- Subject: Re: proposal LOAD-TIME-EVAL:REVISED-NEW-SPECIAL-FORM
- From: Gregor.pa@Xerox.COM
- Date: Tue, 20 Sep 88 18:24 PDT
- Cc: Moon@STONY-BROOK.SCRC.Symbolics.COM, firstname.lastname@example.org, email@example.com, kmp@STONY-BROOK.SCRC.Symbolics.COM, firstname.lastname@example.org
- Fcc: BD:>Gregor>mail>outgoing-mail-4.text.newest
- In-reply-to: <8809210010.AA01124@blacksox>
- Line-fold: no
Date: Tue, 20 Sep 88 17:10:12 pdt
From: Eric Benson <email@example.com>
I agree completely with Moon's criticism of this proposal.
I also agree with Moon's criticism. I think a simpler mechanism for
this should be easy to discover.
prefer to remove #, and its functionality altogether from the
language. It just isn't that important. I have yet to see any use for
#, which could not have been achieved by other means.
But this last statement just isn't true. Here is an example:
I want to be able to define a function, and have one of the function's
"quoted constants" be a little table, lets say an array. I need to
compute the array at load time, using my own special code, because I
need to arrange for some of the functions to share arrays. Now, if I
was just writing a defun, I could say:
(defun a-little-function (x)
(aref #,(get-table-for 'a-little-function '(x))
But, of course #, doesn't work inside of macros.
Before proposing that I use a gensym, and somehow arrange to set
its value to the right thing, consider that portable efficiency
of the resulting code is almost guaranteed to be an issue whenever
anyone wants to do something like this.