TYPSET and RUNOFF

Last updated
TYPSET and RUNOFF
Original author(s) Jerome H. Saltzer
Initial release1964;59 years ago (1964)
Written in MAD and FAP
Operating system Compatible Time-Sharing System
Platform IBM 7094
Type Document editor and text formatting programs

TYPSET is an early document editor that was used with the 1964-released RUNOFF program, one of the earliest text formatting programs to see significant use. [1]

Contents

Of two earlier print/formatting programs DITTO and TJ-2, only the latter had, and introduced, text justification; RUNOFF also added pagination.

The name RUNOFF, and similar names led to other formatting program implementations. By 1982 Runoff [2] largely became associated with Digital Equipment Corporation and Unix computers. DEC used the terms VAX DSR and DSR to refer to VAX DIGITAL Standard Runoff. [3]

History

CTSS

The original RUNOFF type-setting program for CTSS was written by Jerome H. Saltzer circa 1964. Bob Morris and Doug McIlroy translated that from MAD to BCPL. [4] Morris and McIlroy then moved the BCPL version to Multics when the IBM 7094 on which CTSS ran was being shut down.

Multics

Documentation for the Multics version of RUNOFF described it as "types out text segments in manuscript form." [5]

Other versions and implementations

A later version of runoff for Multics was written in PL/I by Dennis Capps, in 1974. [6] This runoff code was the ancestor of roff that was written for the fledgling Unix in assembly language by Ken Thompson.

Other versions of Runoff were developed for various computer systems including Digital Equipment Corporation's PDP-11 minicomputer systems running RT-11, RSTS/E, RSX on Digital's PDP-10 [7] and for OpenVMS on VAX minicomputers, as well as UNIVAC Series 90 mainframes using the EDT text editor under the VS/9 operating system. These different releases of Runoff typically had little in common except the convention of indicating a command to Runoff by beginning the line with a period.

The origin of IBM's SCRIPT (markup) software began in 1968 when "IBM contracted Stuart Madnick of MIT to write a simple document preparation ..." [8] to run on CP/67. [9] He modeled it on MIT's CTSS RUNOFF. [10] [11]

Background

RUNOFF was written in 1964 for the CTSS operating system by Jerome H. Saltzer in MAD and FAP.

It actually consisted of a pair of programs, TYPSET (which was basically a document editor), and RUNOFF (the output processor). RUNOFF had support for pagination and headers, as well as text justification (TJ-2 appears to have been the earliest text justification system, but it did not have the other capabilities).

RUNOFF is a direct predecessor of the runoff document formatting program of Multics, which in turn was the ancestor of the roff and nroff document formatting programs of Unix, and their descendants. It was also the ancestor of FORMAT for the IBM System/360, and of course indirectly of every computerized word processing system.

Likewise, RUNOFF for CTSS was the predecessor of the various RUNOFFs for DEC's operating systems, via the RUNOFF developed by the University of California, Berkeley's Project Genie for the SDS 940 system. [12] [13]

The name is alleged to have come from the phrase at the time, I'll run off a copy. [14]

TYPESET contains features inspired by a variety of other programs including Colossal Typewriter and Expensive Typewriter. [15]

Example

Input:

When you're ready to order, call us at our toll free number: .BR .CENTER 1-800-555-xxxx .BR Your order will be processed within two working days and shipped 

Output:

   When you're ready to order, call us at our toll free number:                               1-800-555-xxxx     Your order will be processed within two working days and shipped

See also

Related Research Articles

B is a programming language developed at Bell Labs circa 1969 by Ken Thompson and Dennis Ritchie.

<span class="mw-page-title-main">Multics</span> Time-sharing operating system

Multics is an influential early time-sharing operating system based on the concept of a single-level memory. Nathan Gregory writes that Multics "has influenced all modern operating systems since, from microcomputers to mainframes."

troff, short for "typesetter roff", is the major component of a document processing system developed by Bell Labs for the Unix operating system. troff and the related nroff were both developed from the original roff.

<span class="mw-page-title-main">Time-sharing</span> Computing resource shared by concurrent users

In computing, time-sharing is the sharing of a computing resource among many tasks or users. It enables multi-tasking by a single user or enables multiple user sessions.

MAD is a programming language and compiler for the IBM 704 and later the IBM 709, IBM 7090, IBM 7040, UNIVAC 1107, UNIVAC 1108, Philco 210-211, and eventually IBM System/370 mainframe computers. Developed in 1959 at the University of Michigan by Bernard Galler, Bruce Arden and Robert M. Graham, MAD is a variant of the ALGOL language. It was widely used to teach programming at colleges and universities during the 1960s and played a minor role in the development of Compatible Time-Sharing System (CTSS), Multics, and the Michigan Terminal System computer operating systems. The original version of the chatbot ELIZA was written in MAD-SLIP.

nroff is a text-formatting program on Unix and Unix-like operating systems. It produces output suitable for simple fixed-width printers and terminal windows. It is an integral part of the Unix help system, being used to format man pages for display.

Joseph Frank Ossanna, Jr. was an electrical engineer and computer programmer who worked as a member of the technical staff at the Bell Telephone Laboratories in Murray Hill, New Jersey. He became actively engaged in the software design of Multics, a general-purpose operating system used at Bell.

roff is a typesetting markup language. As the first Unix text-formatting computer program, it is a predecessor of the nroff and troff document processing systems.

<span class="mw-page-title-main">Douglas McIlroy</span> American mathematician and computer scientist

Malcolm Douglas McIlroy is a mathematician, engineer, and programmer. As of 2019 he is an Adjunct Professor of Computer Science at Dartmouth College. McIlroy is best known for having originally proposed Unix pipelines and developed several Unix tools, such as spell, diff, sort, join, graph, speak, and tr. He was also one of the pioneering researchers of macro processors and programming language extensibility. He participated in the design of multiple influential programming languages, particularly PL/I, SNOBOL, ALTRAN, TMG and C++.

This article presents a timeline of events in the history of computer operating systems from 1951 to the current day. For a narrative explaining the overall developments, see the History of operating systems.

<span class="mw-page-title-main">Compatible Time-Sharing System</span> Computer operating system

The Compatible Time-Sharing System (CTSS) was the first general purpose time-sharing operating system. Compatible Time Sharing referred to time sharing which was compatible with batch processing; it could offer both time sharing and batch processing concurrently.

Jerome Howard "Jerry" Saltzer is an American computer scientist.

<span class="mw-page-title-main">History of Unix</span>

The history of Unix dates back to the mid-1960s, when the Massachusetts Institute of Technology, AT&T Bell Labs, and General Electric were jointly developing an experimental time-sharing operating system called Multics for the GE-645 mainframe. Multics introduced many innovations, but also had many problems. Bell Labs, frustrated by the size and complexity of Multics but not its aims, slowly pulled out of the project. Their last researchers to leave Multics – among them Ken Thompson, Dennis Ritchie, Doug McIlroy, and Joe Ossanna – decided to redo the work, but on a much smaller scale.

sort (Unix) Standard UNIX utility

In computing, sort is a standard command line program of Unix and Unix-like operating systems, that prints the lines of its input or concatenation of all files listed in its argument list in sorted order. Sorting is done based on one or more sort keys extracted from each line of input. By default, the entire input is taken as sort key. Blank space is the default field separator. The command supports a number of command-line options that can vary by implementation. For instance the "-r" flag will reverse the sort order.

SCRIPT, any of a series of text markup languages starting with Script under Control Program-67/Cambridge Monitor System (CP-67/CMS) and Script/370 under Virtual Machine Facility/370 (VM/370) and the Time Sharing Option (TSO) of OS/VS2; the current version, SCRIPT/VS, is part of IBM's Document Composition Facility (DCF) for IBM z/VM and z/OS systems. SCRIPT was developed for CP-67/CMS by Stuart Madnick at MIT, succeeding CTSS RUNOFF.

<span class="mw-page-title-main">TJ-2</span>

TJ-2 was published by Peter Samson in May 1963 and is thought to be the first page layout program. Although it lacks page numbering, page headers and footers, TJ-2 is the first word processor to provide a number of essential typographic alignment and automatic typesetting features:

<span class="mw-page-title-main">Unix</span> Family of computer operating systems

Unix is a family of multitasking, multi-user computer operating systems that derive from the original AT&T Unix, whose development started in 1969 at the Bell Labs research center by Ken Thompson, Dennis Ritchie, and others.

<span class="mw-page-title-main">Scripting language</span> Programming language for run-time events

A scripting language or script language is a programming language that is used to manipulate, customize, and automate the facilities of an existing system. Scripting languages are usually interpreted at runtime rather than compiled.

<span class="mw-page-title-main">Ken Thompson</span> American computer scientist, co-creator of the Unix operating system

Kenneth Lane Thompson is an American pioneer of computer science. Thompson worked at Bell Labs for most of his career where he designed and implemented the original Unix operating system. He also invented the B programming language, the direct predecessor to the C programming language, and was one of the creators and early developers of the Plan 9 operating system. Since 2006, Thompson has worked at Google, where he co-developed the Go programming language.

Glenda Schroeder is an American software engineer noted for implementing the first command-line user interface shell and publishing one of the earliest research papers describing electronic mail systems while working as a member of the staff at the MIT Computation Center in 1965.

References

  1. Jerome H. Saltzer (November 6, 1964). "TYPSET and RUNOFF, Memorandum editor and type-out commands".
  2. a name not possible before lower case letters were introduced to file names
  3. VAX DSR Quick Reference Guide. 1982.
  4. "Multics Features". Ken Thompson wrote a version of QED in BCPL, and Doug McIlroy and Bob Morris wrote Multics runoff in BCPL based on Jerry Saltzer's MAD version of RUNOFF
  5. "Info segment for runoff command". MIT.edu.
  6. Subject: Re: UNIX manpage history: CTSS RUNOFF  From: Jerry Saltzer Date: ... <div class="center" style="width:auto; margin-left:auto; margin-right:auto;">...(snip)...</div><div style="float:right;">... "compose"</div> >> >> was apparently a PL/I re-write of RUNOFF on Multics. ... <div class="center" style="width:auto; margin-left:auto; margin-right:auto;">...(snip)...</div><div style="float:right;">... record shows Dennis Capps as</div> >> >> starting ''compose'' in 1974.
    "UNIX manpage history: CTSS RUNOFF". October 23, 2011.
  7. "The Language List". ... RUNOFF - An early text-formatting language supported under TOPS-10 on the PDP-10.
  8. "Script/PC". PC Magazine. March 19, 1985. p. 210. IBM contracted Stuart Madnick of MIT to write a simple document preparation ..."
  9. Madnick, Stuart E.; Moulton, Allen (1968). "SCRIPT, An On-Line Manuscript Processing System". IEEE Transactions on Engineering Writing and Speech. 11 (2): 92–100. doi:10.1109/TEWS.1968.4322339. S2CID   51633921.
  10. "What does sCrIPT mean?". SCRIPT was developed for CP-67/CMS by Stuart Madnick at MIT, succeeding CTSS RUNOFF.
  11. "History of UNIX Manpages". 1967: SCRIPT (Stuart Madnick). In 1967, Madnick ported the RUNOFF code to the IBM CP67/CMS at IBM as SCRIPT. The documentation of SCRIPT explicitly ...
  12. John V. Everett (1997-02-08). "Re: Runoffs (was: TJ-2, a very early word-processor-like program for the PDP-1)". Newsgroup:  alt.sys.pdp10. Usenet:   5diaq1$6cn$2@kirin.wwa.com . Retrieved 2008-11-14.
  13. Barnes, Larry (27 March 1973). RUNOFF: A Program for the Preparation of Documents (PDF). Bitsavers' PDF Document Archive. Washington, DC: Office of the Secretary of Defense Advanced Research Projects Agency. R-37. Retrieved 14 November 2008.
  14. "What does troff mean?". The New Hacker's Dictionary. ... ROFF which was in turn modeled after the Multics and CTSS program RUNOFF by Jerome Saltzer (that name came from the expression "to run off a copy").
  15. Crisman, Patricia A., ed. (December 31, 1969). "The Compatible Time-Sharing System, A Programmer's Guide" (PDF). The M.I.T Computation Center. p. 504. Retrieved March 10, 2022.

References

Honeywell Bull, Inc. (Feb 1985). Multics Commands and Active Functions (AG92-06) (PDF). pp. 3-822 to 3-842. Archived from the original (PDF) on June 6, 2022. Retrieved Feb 23, 2012.

"Runnoff documentation". MIT. Retrieved 25 July 2013.