Open main menu
Home
Random
Recent changes
Special pages
Community portal
Preferences
About Wikipedia
Disclaimers
Incubator escapee wiki
Search
User menu
Talk
Dark mode
Contributions
Create account
Log in
Editing
TYPSET and RUNOFF
Warning:
You are not logged in. Your IP address will be publicly visible if you make any edits. If you
log in
or
create an account
, your edits will be attributed to your username, along with other benefits.
Anti-spam check. Do
not
fill this in!
{{Short description|Early typesetting programs}} {{Infobox software | name = TYPSET and RUNOFF | logo = | author = [[Jerome H. Saltzer]] | developer = | released = {{Start date and age|1964}} | latest release version = | latest release date = | programming language = [[MAD (programming language)|MAD]] and [[FORTRAN Assembly Program|FAP]] | operating system = [[Compatible Time-Sharing System]] | platform = [[IBM 7094]] | genre = [[Document editor]] and [[text formatting]] programs | license = | website = }} '''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.<ref name="Saltzer.MIT">{{citation | url = http://mit.edu/Saltzer/www/publications/CC-244.html | title = TYPSET and RUNOFF, Memorandum editor and type-out commands | date = November 6, 1964 | first = Jerome H. | last = Saltzer | author-link = Jerome H. Saltzer | author-mask = J. H. Saltzer | work = [[MIT Computation Center|M.I.T. Computation Center]] memo CC-244 and [[Project MAC]] memo MAC-M-193 | publisher = [[Massachusetts Institute of Technology]] }}</ref> Of two earlier print/formatting programs DITTO and [[TJ-2]], only the latter had, and introduced, [[Typographic alignment|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''.<ref>{{cite web | url = https://williambader.com/museum/vax/vaxhistory.html | title = DEC VAX History | first = William | last = Bader | date = June 16, 2023 | quote = DSR stands for Digital Standard Runoff, a text formatter similar to roff. | access-date = 2024-04-20 }}</ref> ==History== ===CTSS=== The original RUNOFF [[text formatting|type-setting]] program for [[Compatible Time-Sharing System|CTSS]] was written by [[Jerome H. Saltzer]] circa 1964. [[Robert Morris (cryptographer)|Bob Morris]] and [[Doug McIlroy]] translated that from [[MAD (programming language)|MAD]] to [[BCPL]].<ref>{{cite web |title=Multics Features |url=https://multicians.org/features.html |quote=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}}</ref> 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."<ref>{{cite web | title = Info segment for runoff command | date = August 30, 1979 | publisher = [[Massachusetts Institute of Technology]] | url = https://web.mit.edu/multics-history/source/Multics/doc/info_segments/runoff.info | quote = Function: types out text segments in manuscript form. }}</ref> ===Other versions and implementations=== A later version of runoff for Multics was written in [[PL/I]] by Dennis Capps, in 1974.<ref>{{cite web | url = https://manpages.bsd.lv/history/saltzer_23_10_2011.txt | date = October 23, 2011 | first = Jerry | last = Saltzer | author-link = Jerome H. Saltzer | author-mask = Jerry Saltzer | title = UNIX manpage history: CTSS RUNOFF | quote = "compose" was apparently a PL/I re-write of RUNOFF on Multics. [β¦] the secondary record shows Dennis Capps as starting compose in 1974. }}</ref> This runoff code was the ancestor of [[roff (computer program)|''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-11|RSX]] on Digital's [[PDP-10]]<ref>{{cite web | title = The Language List | date = January 23, 1995 | quote = RUNOFF - An early text-formatting language supported under TOPS-10 on the PDP-10. | url = https://www.iro.umontreal.ca/~bengioy/ift2030/H99/doc/lang-list.txt | url-status = dead | access-date = 2024-04-20 | archive-date = 2018-10-05 | archive-url = https://web.archive.org/web/20181005112109/https://www.iro.umontreal.ca/~bengioy/ift2030/H99/doc/lang-list.txt }}</ref> and for [[OpenVMS]] on [[VAX]] minicomputers, as well as [[UNIVAC Series 90]] mainframes using the [[EDT (Univac)|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)|SCRIPT]] software began in 1968 when IBM contracted Stuart Madnick of MIT to write a simple document preparation tool<ref>{{cite magazine | magazine = PC Magazine | date = March 19, 1985 | title = Script/PC | quote = IBM contracted Stuart Madnick of MIT to write a simple document preparation | page = 210 | url = https://books.google.com/books?id=mI2TxlvjaksC }}</ref> for [[CP/CMS|CP/67]],<ref name="smadnick">{{cite journal | title = SCRIPT, An On-Line Manuscript Processing System | date = August 1968 | doi = 10.1109/TEWS.1968.4322339 | s2cid = 51633921 | last1 = Madnick | first1 = Stuart E. | last2 = Moulton | first2 = Allen | journal = IEEE Transactions on Engineering Writing and Speech | publisher = [[IEEE]] | volume = EWS-11 | issue = 2 | pages = 92β100 | url = http://web.mit.edu/smadnick/www/papers/J002.pdf | access-date = 2024-04-20 }}</ref> which he modelled on [[Massachusetts Institute of Technology|MIT]]'s [[Compatible Time-Sharing System|CTSS]] RUNOFF.<ref>{{cite web | title = History of UNIX Manpages | url = https://manpages.bsd.lv/history.html#x1967_SCRIPT | quote = 1967: SCRIPT (Stuart Madnick). In 1967, Madnick ported the ''RUNOFF'' code to the IBM CP67/CMS at IBM as ''SCRIPT''. }}</ref> ==Background== '''RUNOFF''' was written in 1964 for the [[Compatible Time-Sharing System|CTSS]] operating system by [[Jerome H. Saltzer]] in [[MAD (programming language)|MAD]] and [[FORTRAN Assembly Program|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 (typesetting)|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 (computer program)|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 [[Digital Equipment Corporation|DEC]]'s operating systems, via the RUNOFF developed by the [[University of California, Berkeley]]'s [[Project Genie]] for the [[SDS 940]] system.<ref>{{cite newsgroup |title=Re: Runoffs (was: TJ-2, a very early word-processor-like program for the PDP-1) |author=John V. Everett |date=1997-02-08 |newsgroup=alt.sys.pdp10 |message-id=5diaq1$6cn$2@kirin.wwa.com |url=http://groups.google.com/group/alt.sys.pdp10/msg/6f48d89ee6ffbdc1 |accessdate= 2008-11-14}}</ref><ref>{{cite book |last=Barnes |first=Larry |title=RUNOFF: A Program for the Preparation of Documents |url=http://www.bitsavers.org/pdf/sds/9xx/940/ucbProjectGenie/mcjones/R-37_RUNOFF.pdf |accessdate=14 November 2008 |series=Bitsavers' PDF Document Archive |date=27 March 1973 |publisher=Office of the Secretary of Defense Advanced Research Projects Agency |location=Washington, DC |id=R-37}}</ref> The name is alleged to have come from the phrase at the time, ''I'll run off a copy''.<ref>{{cite web | title = The Jargon Lexicon | website = The Jargon File | version = 4.4.7 | url = http://www.catb.org/~esr/jargon/html/T/troff.html | quote = ROFF which was in turn modeled after the [[Multics]] and [[Compatible Time-Sharing System|CTSS]] program RUNOFF by Jerome Saltzer (<em>that</em> name came from the expression βto run off a copyβ). | editor-first = Eric S. | editor-last = Raymond | editor-link = Eric S. Raymond }}</ref> '''TYPESET''' contains features inspired by a variety of other programs including [[Colossal Typewriter]] and [[Expensive Typewriter]].<ref name="ctsspg69">{{cite web |url=http://www.bitsavers.org/pdf/mit/ctss/CTSS_ProgrammersGuide_Dec69.pdf |title=The Compatible Time-Sharing System, A Programmer's Guide |editor-last=Crisman |editor-first=Patricia A. |date=December 31, 1969 |page=504 |publisher=The M.I.T Computation Center |access-date=March 10, 2022}}</ref> ==Example== Input: <syntaxhighlight lang="groff"> 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 </syntaxhighlight> 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== * [[SCRIPT (markup)]] * [[Text Editor and Corrector|TECO]] * [[TJ-2]] ==Further reading== {{refbegin}} * {{cite book | title = The Compatible Time-Sharing System: A Programmer's Guide | author = [[MIT Computation Center]] | publisher = [[MIT Press]] | edition = second | date = August 15, 1965 | section = Manuscript typing and editing | section-url = https://archive.org/details/ctss-programmers-guide-2e/page/n417 | pages = 419β432 | editor-first = Patricia A. | editor-last = Crisman | editor-mask = P. A. Crisman | isbn = 9780262030137 }} * {{cite web | title = Experimental Additions to the RUNOFF Command | url = http://web.mit.edu/afs/athena.mit.edu/user/other/a/Saltzer/www/publications/PSN-40.html | work = Programming Staff Note 40 | publisher = [[Project MAC]], Cambridge | date = January 8, 1965 | first = Jerome H. | last = Saltzer | author-link = Jerome H. Saltzer | author-mask = J.H. Saltzer }} * {{cite book | title = Multics Commands and Active Functions (AG92-06) | url = http://www.bitsavers.org/pdf/honeywell/large_systems/multics/AG92-06B_multicsCmds_Nov87.pdf#page=1003 | publisher = [[Groupe Bull|Honeywell Bull, Inc.]] | access-date = April 20, 2024 | date = Feb 1985 | pages = 3-822 to 3-842 }} * {{cite work | url = https://support.hpe.com/hpesc/public/api/document/c04623260 | type = PDF | title = OpenVMS DIGITAL Standard Runoff Reference Manual | access-date = April 20, 2024 | date = May 1993 | publisher = [[Digital Equipment Corporation]] | via = [[Hewlett Packard Enterprise]] }} {{refend}} ==References== {{reflist}} {{DEFAULTSORT:Typset And Runoff}} [[Category:Word processors]] [[Category:Troff]] [[Category:History of software]] [[Category:Digital typography]]
Edit summary
(Briefly describe your changes)
By publishing changes, you agree to the
Terms of Use
, and you irrevocably agree to release your contribution under the
CC BY-SA 4.0 License
and the
GFDL
. You agree that a hyperlink or URL is sufficient attribution under the Creative Commons license.
Cancel
Editing help
(opens in new window)
Pages transcluded onto the current version of this page
(
help
)
:
Template:Citation
(
edit
)
Template:Cite book
(
edit
)
Template:Cite journal
(
edit
)
Template:Cite magazine
(
edit
)
Template:Cite newsgroup
(
edit
)
Template:Cite web
(
edit
)
Template:Cite work
(
edit
)
Template:Infobox
(
edit
)
Template:Infobox software
(
edit
)
Template:Main other
(
edit
)
Template:Refbegin
(
edit
)
Template:Refend
(
edit
)
Template:Reflist
(
edit
)
Template:Short description
(
edit
)
Template:Template other
(
edit
)