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

Re: "Until you try to implement it"

I was referring to the error mechanism in Interlisp, and all the hooks
in it.  It was a tongue-in-cheek, off-the-cuff (tongue-in-cuff?) remark.
It was a cheap snipe at Interlisp, and I'm sorry for it.  I really do have
a lot of respect and admiration for the original implementors of Interlisp.
They managed to produce a software development environment that only very
recently has had any competition with respect to user-friendliness and
system integration.  I do think it was a poor design decision to make things
like CLISP and macros triggered by the error handler.  I feel sorry for
those who must produce a totally compatible system on a new machine.

Getting back to macros, I agree that they are very simple to implement.
Apparently people have different notions of what macros are.  I am thinking
of the (eval (apply (car x) (list x))) variety. (Referred to, I believe, as
computed macros.)  I think that any other useful macro type can be
implemented using this type.  In fact, they tend to be implemented as
macros themselves, i.e. macro-defining macros, like defmacro.  Having three
different kinds of macros doesn't mean you need three different evaluation
-- Eric