<editor, text> /tee'koh/ (Originally an acronym for "[paper] Tape Editor
and COrrector"; later, "Text Editor and COrrector"]) A text editor developed at
MIT and modified by just about everybody. With all the dialects included, TECO
may have been the most prolific editor in use before Emacs, to which it was
directly ancestral. The first Emacs editor was written in TECO.
It was noted for its powerful programming-language-like features and its
unspeakably hairy syntax (see write-only language). TECO programs are said to
resemble line noise. Every string of characters is a valid TECO program (though
probably not a useful one); one common game used to be predict what the TECO
commands corresponding to human names did.
As an example of TECO's obscurity, here is a TECO program that takes a list of
names such as:
Loser, J. Random
Quux, The Great
sorts them alphabetically according to surname, and then puts the surname
last, removing the comma, to produce the following:
J. Random Loser
The Great Quux
The program is
J <.-Z; .,(S,$ -D .)FX1 @F^B $K :L I $ G1 L>$$
(where ^B means "Control-B" (ASCII 0000010) and $ is actually an alt or
escape (ASCII 0011011) character).
In fact, this very program was used to produce the second, sorted list from the
first list. The first hack at it had a bug: GLS (the author) had accidentally
omitted the "@" in front of "F^B", which as anyone can see is clearly the Wrong
Thing. It worked fine the second time. There is no space to describe all the
features of TECO, but "^P" means "sort" and "J<.-Z; ... L>" is an idiomatic
series of commands for "do once for every line".
By 1991, Emacs had replaced TECO in hacker's affections but descendants of an
early (and somewhat lobotomised) version adopted by DEC can still be found
lurking on VMS and a couple of crufty PDP-11 operating systems, and ports of the
more advanced MIT versions remain the focus of some antiquarian interest.
See also retrocomputing.
ftp://usc.edu/ for VAX/VMS, Unix, MS-DOS, Macintosh, Amiga.
[Authro? Home page?]
Technology Enabled Relationship Manager « Technology
of Object-Oriented Languages and Systems « TechRef «
» tee » TEI » telco