Re: Extension Languages (Stavros Macrakis)
Thu, 17 Dec 1992 21:34:26 GMT

          From comp.compilers

Related articles
Extension Languages (1992-12-14)
Re: Extension Languages xjam@cork.CS.Berkeley.EDU (1992-12-14)
Re: Extension Languages (1992-12-14)
Re: Extension Languages (Dave Gillespie) (1992-12-15)
Re: Extension Languages (1992-12-16)
Re: Extension Languages (1992-12-17)
Re: Extension Languages (Peter Ludemann) (1992-12-17)
Re: Extension Languages (1992-12-18)
Re: Extension Languages (Dave Gillespie) (1992-12-19)
| List of all articles for this month |

Newsgroups: comp.compilers
From: (Stavros Macrakis)
Organization: OSF Research Institute
Date: Thu, 17 Dec 1992 21:34:26 GMT
Followup-To: alt.folklore.computers
Keywords: design
References: 92-12-056 92-12-081 (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.


Post a followup to this message

Return to the comp.compilers page.
Search the comp.compilers archives again.