|Extension Languages email@example.com (1992-12-14)|
|Re: Extension Languages xjam@cork.CS.Berkeley.EDU (1992-12-14)|
|Re: Extension Languages firstname.lastname@example.org (1992-12-14)|
|Re: Extension Languages email@example.com (Dave Gillespie) (1992-12-15)|
|Re: Extension Languages firstname.lastname@example.org (1992-12-16)|
|Re: Extension Languages email@example.com (1992-12-17)|
|Re: Extension Languages firstname.lastname@example.org (Peter Ludemann) (1992-12-17)|
|Re: Extension Languages email@example.com (1992-12-18)|
|Re: Extension Languages firstname.lastname@example.org (Dave Gillespie) (1992-12-19)|
|From:||email@example.com (Stavros Macrakis)|
|Organization:||OSF Research Institute|
|Date:||Thu, 17 Dec 1992 21:34:26 GMT|
firstname.lastname@example.org (Dale R. Worley) writes:
When it came time to port it to Multics and Tops-20,
Actually, the Tops-20 version of Emacs was identical to the ITS version,
that is, a set of Teco macros. The underlying Teco was ITS Teco (not DEC
Teco) ported to the Tops-20 operating system--Teco was written in PDP-10
assembler, and the user mode instruction set was essentially identical
between the PDP-10 and the DecSystem-20.
Emacs was rewritten using Lisp as the base language, because
reimplementing Teco would be too gross, and Lisp was the only other
high-level language at the AI Lab.
The Multics version of Emacs, in Lisp, was written by Bernie Greenberg,
who was also the author of Multics Maclisp (written in PL/I). I'm not
sure of his exact motives, but I think partly it was a "neat hack", partly
it was a test of Multics Maclisp, and partly Bernie just wanted to have
Emacs, and as you say, reimplementing Teco would be too gross. Bernie, by
the way, was not the M.I.T. A.I. Lab, but in the Multics group (I'm not
sure whether he was an M.I.T. Lab for Computer Science or a Honeywell
employee at the time).
I do not believe that any of Bernie's code made its way to GNU Emacs,
although it was certainly a good proof of concept.
No doubt this is over-simplified, but I suspect that historical accident
and the prejudices of AI people had a lot to do with it.
An interpreter was considered essential, in order to allow real-time
extension without a compile-load loop (note also that dynamic loading of
code was not supported by most environments at that time). Lisp was the
default choice of interpretive environment.
Return to the
Search the comp.compilers archives again.