QED (text editor)
QED is a line-oriented computer text editor that was developed by Butler Lampson and L. Peter Deutsch for the Berkeley Timesharing System running on the SDS 940. It was implemented by L. Peter Deutsch and Dana Angluin between 1965 and 1966.
QED (for "quick editor") addressed teleprinter usage, but systems "for CRT displays [were] not considered, since many of their design considerations [were] quite different." Ken Thompson later wrote a version for CTSS; this version was notable for introducing regular expressions. Thompson rewrote QED in BCPL for Multics. The Multics version was ported to the GE-600 system used at Bell Labs in the late 1960s under GECOS and later GCOS after Honeywell took over GE's computer business. The GECOS-GCOS port used I/O routines written by A. W. Winklehoff. Dennis Ritchie, Ken Thompson and Brian Kernighan wrote the QED manuals used at Bell Labs. Given that the authors were the primary developers of the Unix operating system, it is natural that QED had a strong influence on the classic UNIX text editors ed, sed and their descendants such as ex and sam, and more distantly AWK and Perl.
A version of QED named FRED (Friendly Editor) was written at the University of Waterloo for Honeywell systems by Peter Fraser. A University of Toronto team consisting of Tom Duff, Rob Pike, Hugh Redelmeier, and David Tilbrook implemented a version of QED that runs on UNIX; David Tilbrook later included QED as part of his QEF tool set.
QED was also used as a character-oriented editor on the Norwegian-made Norsk Data systems, first Nord TSS then Sintran III. It was implemented for the Nord-1 computer in 1971 by Bo Lewendal who after working with Deutsch and Lampson at Project Genie and at the Berkeley Computer Corporation, had taken a job with Norsk Data (and who developed the Nord TSS later in 1971).
- QEdit, a similarly named, but unrelated DOS text editor by SemWare
- Lampson, Butler (January 12, 2007), Systems, Redmond: research.microsoft.com, retrieved 2008-04-05.
- cf. Angluin, Dana C.; Deutsch, L. Peter (March 26, 1968), Reference Manual: Q. E. D. Time-Sharing Editor (PDF), Washington: Office of Secretary of Defence.
- van Dam, Andries; Rice, David E. (1971), "On-line Text Editing: A Survey", ACM Computing Surveys 3 (3): 93–114, doi:10.1145/356589.356591.
- Deutsch, L. Peter; Lampson, Butler W. (1967), "An online editor", Communications of the ACM 10 (12): 793–799, 803, doi:10.1145/363848.363863, p. 793.
- D. M. Ritchie and K. L. Thompson, "QED Text Editor", MM-70-1373-3 (June 1970), reprinted as "QED Text Editor Reference Manual", MHCC-004, Murray Hill Computing, Bell Laboratories (October 1972).
- B. W. Kernighan, "A Tutorial Introduction to the QED Text Editor under GE-TSS", MM-70-1373-6 (June 1970), reprinted as "Tutorial Introduction to QED Text Editor", MHCC-002, Murray Hill Computing, Bell Laboratories (October, 1972).
- B. W. Kernighan, "A Guide to the Advanced Use of QED Text Editor", MM-70-1373-7 (July 1970), reprinted as "A Guide to Advanced Use of QED Text Editor", MHCC-003, Murray Hill Computing, Bell Laboratories (October, 1972).
- Ritchie, Dennis (February 12, 2004), An incomplete history of the QED Text Editor, Murray Hill: Bell Labs.