EINE and ZWEI are two discontinued
Emacs-like
text editor
A text editor is a type of computer program that edits plain text. Such programs are sometimes known as "notepad" software (e.g. Windows Notepad). Text editors are provided with operating systems and software development packages, and can be ...
s developed by
Daniel Weinreb
Daniel L. Weinreb (January 6, 1959 – September 7, 2012) was an American computer scientist and programmer, with significant work in the environment of the programming language Lisp.
Early life
Weinreb was born on January 6, 1959, in Brookl ...
and Mike McMahon for
Lisp machines
Lisp machines are general-purpose computers designed to efficiently run Lisp as their main software and programming language, usually via hardware support. They are an example of a high-level language computer architecture, and in a sense, the ...
in the 1970s and 1980s.
History
EINE was a
text editor
A text editor is a type of computer program that edits plain text. Such programs are sometimes known as "notepad" software (e.g. Windows Notepad). Text editors are provided with operating systems and software development packages, and can be ...
developed in the late 1970s. In terms of features, its goal was to "do what Stallman's PDP-10 (original) Emacs does". It was an early example of what would become many Emacs-like text editors. Unlike the original
TECO-based Emacs, but like
Multics Emacs, EINE was written in Lisp. It used
Lisp Machine Lisp
Lisp Machine Lisp is a programming language, a dialect of the language Lisp. A direct descendant of Maclisp, it was initially developed in the mid to late 1970s as the system programming language for the Massachusetts Institute of Technology ( ...
. Stallman later wrote
GNU Emacs
GNU Emacs is a free software text editor. It was created by GNU Project founder Richard Stallman, based on the Emacs editor developed for Unix operating systems. GNU Emacs has been a central component of the GNU project and a flagship project of ...
, which was written in
C and
Emacs Lisp
Emacs Lisp is a dialect of the Lisp programming language used as a scripting language by Emacs (a text editor family most commonly associated with GNU Emacs and XEmacs). It is used for implementing most of the editing functionality built into Em ...
and extensible in Emacs Lisp. EINE also made use of the window system of the Lisp machine and was the first Emacs to have a graphical user interface.
In the 1980s, EINE was developed into ZWEI. Innovations included programmability in Lisp Machine Lisp, and a new and more flexible
doubly linked list
In computer science, a doubly linked list is a linked data structure that consists of a set of sequentially linked records called nodes. Each node contains three fields: two link fields (references to the previous and to the next node in the s ...
method of internally
representing buffers.
ZWEI would eventually become the editor library used for
Symbolics'
Zmacs
Zmacs is one of the many variants of the Emacs text editor. Zmacs was written for the MIT Lisp machine and runs on its descendants (Symbolics Genera, LMI Lambda, TI Explorer). Zmacs is written in Lisp Machine Lisp (called ZetaLisp on Symbolic ...
(Emacs-like editor), Zmail (mail client), and Converse (message client), which were integrated into the
Genera operating system which Symbolics developed for their Lisp machines.
Naming
EINE is a
recursive acronym
A recursive acronym is an acronym that refers to itself, and appears most frequently in computer programming. The term was first used in print in 1979 in Douglas Hofstadter's book '' Gödel, Escher, Bach: An Eternal Golden Braid'', in which Hofs ...
for "EINE Is Not Emacs", coined in August 1977.
[Electronic message to BUG-LISPM, Daniel Weinreb, 8 August 1977] It was a play on Ted Anderson's TINT, "TINT is not TECO".
Anderson would later retort with "SINE is not EINE".
ZWEI follows this pattern as an acronym for "ZWEI Was Eine Initially".
With "zwei" being the German word for "two", "EINE" could be (re-)interpreted as being a reference to the German word for "one" (in the feminine
adjectival form, as in "''eine Implementierung''", "one implementation").
Further reading
*
**
* Symbolics Genera 6.0 documentation
Book 3, Text Editing and Processing March 1985
* Symbolics Genera 7.0 documentation
Book 3, Text Editing and Processing July 1986
References
External links
Entryat th
Emacs Wiki
Emacs
Text editors
{{text-editor-stub