[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]
Re: "Until you try to implement it"
- To: RMS at MIT-AI, LISP-FORUM at MIT-AI
- Subject: Re: "Until you try to implement it"
- From: Eric Benson <BENSON at UTAH-20>
- Date: Sat ,7 Nov 81 23:27:00 EDT
- In-reply-to: Your message of 7-Nov-81 1632-MST
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