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
Dick, Moby
sorts them alphabetically according to surname, and then puts the
surname last, removing the comma, to produce the following:
Moby Dick
J. Random Loser
The Great Quux
The program is
[1 J^P$L$$
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 it may be of interest
that ^P means ‘sort’ and
J<.-Z; ... L> is an idiomatic
series of commands for ‘do once for every line’.
In mid-1991, TECO is pretty much one with the dust of history, having
been replaced in the affections of hackerdom by
EMACS. Descendants of an early (and somewhat
lobotomized) version adopted by DEC can still be found lurking on VMS and a
couple of crufty PDP-11 operating systems, however, and ports of the more
advanced MIT versions remain the focus of some antiquarian interest. See
also retrocomputing,
write-only language.