home *** CD-ROM | disk | FTP | other *** search
- Newsgroups: comp.compilers
- Path: sparky!uunet!usc!sol.ctr.columbia.edu!eff!world!iecc!compilers-sender
- From: macrakis@osf.org (Stavros Macrakis)
- Subject: Re: Extension Languages
- Reply-To: macrakis@osf.org (Stavros Macrakis)
- Organization: OSF Research Institute
- Date: Thu, 17 Dec 1992 21:34:26 GMT
- Approved: compilers@iecc.cambridge.ma.us
- Message-ID: <92-12-085@comp.compilers>
- Followup-To: alt.folklore.computers
- Keywords: design
- References: <92-12-056@comp.compilers> <92-12-081@comp.compilers>
- Sender: compilers-sender@iecc.cambridge.ma.us
- Lines: 38
-
- drw@kronecker.mit.edu (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.
-
- -s
- --
- Send compilers articles to compilers@iecc.cambridge.ma.us or
- {ima | spdcc | world}!iecc!compilers. Meta-mail to compilers-request.
-