Relay-Version: version B 2.10 5/3/83; site utzoo.UUCP Path: utzoo!linus!wivax!decvax!harpo!seismo!hao!hplabs!sri-unix!JQJ@SU-SCORE.ARPA From: JQJ@SU-SCORE.ARPA Newsgroups: net.unix-wizards Subject: Re: request for info on extensible editor Message-ID: <2547@sri-arpa.UUCP> Date: Fri, 1-Jul-83 01:03:11 EDT Article-I.D.: sri-arpa.2547 Posted: Fri Jul 1 01:03:11 1983 Date-Received: Mon, 27-Jun-83 03:23:19 EDT Lines: 62 From: J.Q. JohnsonMichael Bloom's suggestion that those looking for a portable emacs look to to lisp-based emacs systems neglects somewhat the problem of incompatible lisps. If portability is your goal, what good does it do to have a lisp-based Emacs which depends on the idiosyncratic features of a particular lisp implementation? Bloom mentions several lisp-based editors, among them Honeywell Emacs, ZMACS, the T editor, and the NIL editor. It should be noted that Honeywell Emacs and ZMACS are heavily dependent on their particular operating system environments, especially for window management (the Honeywell Emacs is particularly ill suited for ports to other systems since, as the first lisp Emacs, it is not nearly as cleanly implemented as the others). The NIL editor requires a lisp that includes an efficient flavors implementation. None of these, I bet, would run under a lisp such as Franz without substantial development effort. I am not familiar with the T editor, but note that T is lexically scoped, and hence that a large program written in T is also likely to have portability problems to a more traditional lisp such as Franz. And once you have an editor that runs under Franz Lisp, what good does that do you for portability? Franz Lisp, with its large C kernel and VAX-oriented code generation, would be rather hard to port to other systems. So far as I know, it has not been ported to any non-VAX system (although Wollongong group claim to be working on a port to Perkin Elmer Unix). Granted, Franz is a small lisp, and it is easier to move Franz programs to Maclisp or Common Lisp than vice versa, but the effort of moving a large program such as an editor from one lisp to another is guaranteed to be non-trivial. Porting Franz to a different architecture would almost certainly be more work than porting Gosling Emacs, since to port Gosling Emacs all you really need is a decent C compiler, while to port Franz you need a C compiler PLUS you need to rewrite the Liszt (Franz compiler) code generator. Now conceivably Franz is not the right target lisp for your editor implementation language. If you really want portability, perhaps you should write an editor in PSL (portable standard lisp). That in fact is what Martin Griss and the folks at Utah did; NMODE (or whatever it is currently called) is an Emacs-like editor written in a lisp dialect that was explicitly designed to be portable, and for which implementations exist for DEC-20, VAX, M68000, and several other computers. PSL is not a very powerful lisp either, and it is not clear it will catch on widely. An alternative is Hemlock, the CMU Common Lisp editor. Many people (I'm not one of them, I'm afraid) believe that Common Lisp will become THE standard lisp in the late '80s, and hence that an editor written in pure Common Lisp stands a good chance of being widely portable. We'll see.... Alternatively, why not just port Gosling or CCA Emacs? Each of these is written pretty much entirely in C, and so could be ported to any large-address-space system that had a C compiler (a Unix operating system would help, but is not essential). In fact, Gosling Emacs has been successfully ported to several different M68000 systems (Unisoft Unix, SMI Unix (aka 4.1C BSD for 68000), and various standalone SUN terminal configurations. I'd not be at all surprised to hear that someone had ported it to the Amdahl (IBM 370 lookalike) running Unix! -------