TYPSET and RUNOFF

Last updated
TYPSET and RUNOFF
Original author(s) Jerome H. Saltzer
Initial release1964;60 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 (a name not possible before lowercase letters were introduced to filenames) 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. [2]

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. [3] 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." [4]

Other versions and implementations

A later version of runoff for Multics was written in PL/I by Dennis Capps, in 1974. [5] 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 [6] 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 software began in 1968 when IBM contracted Stuart Madnick of MIT to write a simple document preparation tool [7] for CP/67, [8] which he modelled on MIT's CTSS RUNOFF. [9]

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. [10] [11]

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

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

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

Further reading

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.

<span class="mw-page-title-main">PDP-7</span> Minicomputer introduced in 1964

The PDP-7 is an 18-bit minicomputer produced by Digital Equipment Corporation as part of the PDP series. Introduced in 1964, shipped since 1965, it was the first to use their Flip-Chip technology. With a cost of US$72,000, it was cheap but powerful by the standards of the time. The PDP-7 is the third of Digital's 18-bit machines, with essentially the same instruction set architecture as the PDP-4 and the PDP-9.

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 American 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 an American 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.

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:

ED or ED-1100 is an interactive text editor implemented on the UNIVAC 1100/2200 series.

"ED was developed at Univac in the mid-60s. It was loosely based on the Project MAC editor developed for the MULTICS system at MIT."-Tom McCarthy

"Project MAC editor was programmed by Jerry Saltzer as a way to produce documentation. In fact, that editor became the first interactive word-processor ever programmed."

"The command TYPSET is used to create and edit 12-bit BCD line-marked files"

<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">Command-line interface</span> Computer interface that uses text

A command-line interface (CLI) is a means of interacting with a computer program by inputting lines of text called command-lines. Command-line interfaces emerged in the mid-1960s, on computer terminals, as an interactive and more user-friendly alternative to the non-interactive interface available with punched cards.

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. J. H. Saltzer (November 6, 1964), "TYPSET and RUNOFF, Memorandum editor and type-out commands", M.I.T. Computation Center memo CC-244 and Project MAC memo MAC-M-193, Massachusetts Institute of Technology
  2. Bader, William (June 16, 2023). "DEC VAX History" . Retrieved 2024-04-20. DSR stands for Digital Standard Runoff, a text formatter similar to roff.
  3. "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
  4. "Info segment for runoff command". Massachusetts Institute of Technology. August 30, 1979. Function: types out text segments in manuscript form.
  5. Jerry Saltzer (October 23, 2011). "UNIX manpage history: CTSS RUNOFF". "compose" was apparently a PL/I re-write of RUNOFF on Multics. […] the secondary record shows Dennis Capps as starting compose in 1974.
  6. "The Language List". January 23, 1995. Archived from the original on 2018-10-05. Retrieved 2024-04-20. RUNOFF - An early text-formatting language supported under TOPS-10 on the PDP-10.
  7. "Script/PC". PC Magazine. March 19, 1985. p. 210. IBM contracted Stuart Madnick of MIT to write a simple document preparation
  8. Madnick, Stuart E.; Moulton, Allen (August 1968). "SCRIPT, An On-Line Manuscript Processing System" (PDF). IEEE Transactions on Engineering Writing and Speech. EWS-11 (2). IEEE: 92–100. doi:10.1109/TEWS.1968.4322339. S2CID   51633921 . Retrieved 2024-04-20.
  9. "History of UNIX Manpages". 1967: SCRIPT (Stuart Madnick). In 1967, Madnick ported the RUNOFF code to the IBM CP67/CMS at IBM as SCRIPT.
  10. 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.
  11. 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.
  12. Raymond, Eric S. (ed.). "The Jargon Lexicon". The Jargon File. 4.4.7. 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").
  13. 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.