[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]
Re: Optimizers and macros
- To: dlw at MIT-AI
- Subject: Re: Optimizers and macros
- From: George J. Carrette <GJC at MIT-MC>
- Date: Fri ,30 Jan 81 23:06:00 EDT
- Cc: LISP-FORUM at MIT-AI
In your last note you forgot about one example of redefining system
functions which was a very important motiviation for having a
SOURCE-TRANSFORMATION which had nothing to do with compilation,
and which could not be supported via macros alone. [Does this parse?]
The example is when somebody wants to "extend" a system built-in,
not "redefine it". That is, he only wants to define certain syntactical
uses of it, but still be able to access the built-in.
This sort of thing is very good to have in COMPATIBILITY-PACKAGES.
e.g. (RETURN X) is still (RETURN X), but (RETURN X Y) might be
(RETURN (VALUES X Y)) [to beat a live horse].
You state "users are always wanting to override system functions",
which could be true, but I have seen that "users are always wanting
to extend system functions."
-gjc
p.s. I don't think we need any Axe-grinding about EQ'test vs second-value
returning.