CINXE.COM
ALGOL 68RS - Wikipedia
<!DOCTYPE html> <html class="client-nojs vector-feature-language-in-header-enabled vector-feature-language-in-main-page-header-disabled vector-feature-sticky-header-disabled vector-feature-page-tools-pinned-disabled vector-feature-toc-pinned-clientpref-1 vector-feature-main-menu-pinned-disabled vector-feature-limited-width-clientpref-1 vector-feature-limited-width-content-enabled vector-feature-custom-font-size-clientpref-1 vector-feature-appearance-pinned-clientpref-1 vector-feature-night-mode-enabled skin-theme-clientpref-day vector-toc-available" lang="en" dir="ltr"> <head> <meta charset="UTF-8"> <title>ALGOL 68RS - Wikipedia</title> <script>(function(){var className="client-js vector-feature-language-in-header-enabled vector-feature-language-in-main-page-header-disabled vector-feature-sticky-header-disabled vector-feature-page-tools-pinned-disabled vector-feature-toc-pinned-clientpref-1 vector-feature-main-menu-pinned-disabled vector-feature-limited-width-clientpref-1 vector-feature-limited-width-content-enabled vector-feature-custom-font-size-clientpref-1 vector-feature-appearance-pinned-clientpref-1 vector-feature-night-mode-enabled skin-theme-clientpref-day vector-toc-available";var cookie=document.cookie.match(/(?:^|; )enwikimwclientpreferences=([^;]+)/);if(cookie){cookie[1].split('%2C').forEach(function(pref){className=className.replace(new RegExp('(^| )'+pref.replace(/-clientpref-\w+$|[^\w-]+/g,'')+'-clientpref-\\w+( |$)'),'$1'+pref+'$2');});}document.documentElement.className=className;}());RLCONF={"wgBreakFrames":false,"wgSeparatorTransformTable":["",""],"wgDigitTransformTable":["",""],"wgDefaultDateFormat":"dmy", "wgMonthNames":["","January","February","March","April","May","June","July","August","September","October","November","December"],"wgRequestId":"cae6cf67-0735-4fa6-88ab-34b7c75425e9","wgCanonicalNamespace":"","wgCanonicalSpecialPageName":false,"wgNamespaceNumber":0,"wgPageName":"ALGOL_68RS","wgTitle":"ALGOL 68RS","wgCurRevisionId":1188529418,"wgRevisionId":1188529418,"wgArticleId":11484532,"wgIsArticle":true,"wgIsRedirect":false,"wgAction":"view","wgUserName":null,"wgUserGroups":["*"],"wgCategories":["Use dmy dates from September 2020","Articles containing potentially dated statements from September 2020","All articles containing potentially dated statements","ALGOL 68 implementation","History of computing in the United Kingdom"],"wgPageViewLanguage":"en","wgPageContentLanguage":"en","wgPageContentModel":"wikitext","wgRelevantPageName":"ALGOL_68RS","wgRelevantArticleId":11484532,"wgIsProbablyEditable":true,"wgRelevantPageIsProbablyEditable":true,"wgRestrictionEdit":[], "wgRestrictionMove":[],"wgNoticeProject":"wikipedia","wgCiteReferencePreviewsActive":false,"wgFlaggedRevsParams":{"tags":{"status":{"levels":1}}},"wgMediaViewerOnClick":true,"wgMediaViewerEnabledByDefault":true,"wgPopupsFlags":0,"wgVisualEditor":{"pageLanguageCode":"en","pageLanguageDir":"ltr","pageVariantFallbacks":"en"},"wgMFDisplayWikibaseDescriptions":{"search":true,"watchlist":true,"tagline":false,"nearby":true},"wgWMESchemaEditAttemptStepOversample":false,"wgWMEPageLength":10000,"wgRelatedArticlesCompat":[],"wgCentralAuthMobileDomain":false,"wgEditSubmitButtonLabelPublish":true,"wgULSPosition":"interlanguage","wgULSisCompactLinksEnabled":false,"wgVector2022LanguageInHeader":true,"wgULSisLanguageSelectorEmpty":false,"wgWikibaseItemId":"Q4652357","wgCheckUserClientHintsHeadersJsApi":["brands","architecture","bitness","fullVersionList","mobile","model","platform","platformVersion"],"GEHomepageSuggestedEditsEnableTopics":true,"wgGETopicsMatchModeEnabled":false, "wgGEStructuredTaskRejectionReasonTextInputEnabled":false,"wgGELevelingUpEnabledForUser":false};RLSTATE={"ext.globalCssJs.user.styles":"ready","site.styles":"ready","user.styles":"ready","ext.globalCssJs.user":"ready","user":"ready","user.options":"loading","ext.cite.styles":"ready","skins.vector.search.codex.styles":"ready","skins.vector.styles":"ready","skins.vector.icons":"ready","jquery.makeCollapsible.styles":"ready","ext.wikimediamessages.styles":"ready","ext.visualEditor.desktopArticleTarget.noscript":"ready","ext.uls.interlanguage":"ready","wikibase.client.init":"ready","ext.wikimediaBadges":"ready"};RLPAGEMODULES=["ext.cite.ux-enhancements","site","mediawiki.page.ready","jquery.makeCollapsible","mediawiki.toc","skins.vector.js","ext.centralNotice.geoIP","ext.centralNotice.startUp","ext.gadget.ReferenceTooltips","ext.gadget.switcher","ext.urlShortener.toolbar","ext.centralauth.centralautologin","mmv.bootstrap","ext.popups","ext.visualEditor.desktopArticleTarget.init", "ext.visualEditor.targetLoader","ext.echo.centralauth","ext.eventLogging","ext.wikimediaEvents","ext.navigationTiming","ext.uls.interface","ext.cx.eventlogging.campaigns","ext.cx.uls.quick.actions","wikibase.client.vector-2022","ext.checkUser.clientHints","ext.growthExperiments.SuggestedEditSession","wikibase.sidebar.tracking"];</script> <script>(RLQ=window.RLQ||[]).push(function(){mw.loader.impl(function(){return["user.options@12s5i",function($,jQuery,require,module){mw.user.tokens.set({"patrolToken":"+\\","watchToken":"+\\","csrfToken":"+\\"}); }];});});</script> <link rel="stylesheet" href="/w/load.php?lang=en&modules=ext.cite.styles%7Cext.uls.interlanguage%7Cext.visualEditor.desktopArticleTarget.noscript%7Cext.wikimediaBadges%7Cext.wikimediamessages.styles%7Cjquery.makeCollapsible.styles%7Cskins.vector.icons%2Cstyles%7Cskins.vector.search.codex.styles%7Cwikibase.client.init&only=styles&skin=vector-2022"> <script async="" src="/w/load.php?lang=en&modules=startup&only=scripts&raw=1&skin=vector-2022"></script> <meta name="ResourceLoaderDynamicStyles" content=""> <link rel="stylesheet" href="/w/load.php?lang=en&modules=site.styles&only=styles&skin=vector-2022"> <meta name="generator" content="MediaWiki 1.44.0-wmf.4"> <meta name="referrer" content="origin"> <meta name="referrer" content="origin-when-cross-origin"> <meta name="robots" content="max-image-preview:standard"> <meta name="format-detection" content="telephone=no"> <meta name="viewport" content="width=1120"> <meta property="og:title" content="ALGOL 68RS - Wikipedia"> <meta property="og:type" content="website"> <link rel="preconnect" href="//upload.wikimedia.org"> <link rel="alternate" media="only screen and (max-width: 640px)" href="//en.m.wikipedia.org/wiki/ALGOL_68RS"> <link rel="alternate" type="application/x-wiki" title="Edit this page" href="/w/index.php?title=ALGOL_68RS&action=edit"> <link rel="apple-touch-icon" href="/static/apple-touch/wikipedia.png"> <link rel="icon" href="/static/favicon/wikipedia.ico"> <link rel="search" type="application/opensearchdescription+xml" href="/w/rest.php/v1/search" title="Wikipedia (en)"> <link rel="EditURI" type="application/rsd+xml" href="//en.wikipedia.org/w/api.php?action=rsd"> <link rel="canonical" href="https://en.wikipedia.org/wiki/ALGOL_68RS"> <link rel="license" href="https://creativecommons.org/licenses/by-sa/4.0/deed.en"> <link rel="alternate" type="application/atom+xml" title="Wikipedia Atom feed" href="/w/index.php?title=Special:RecentChanges&feed=atom"> <link rel="dns-prefetch" href="//meta.wikimedia.org" /> <link rel="dns-prefetch" href="//login.wikimedia.org"> </head> <body class="skin--responsive skin-vector skin-vector-search-vue mediawiki ltr sitedir-ltr mw-hide-empty-elt ns-0 ns-subject mw-editable page-ALGOL_68RS rootpage-ALGOL_68RS skin-vector-2022 action-view"><a class="mw-jump-link" href="#bodyContent">Jump to content</a> <div class="vector-header-container"> <header class="vector-header mw-header"> <div class="vector-header-start"> <nav class="vector-main-menu-landmark" aria-label="Site"> <div id="vector-main-menu-dropdown" class="vector-dropdown vector-main-menu-dropdown vector-button-flush-left vector-button-flush-right" > <input type="checkbox" id="vector-main-menu-dropdown-checkbox" role="button" aria-haspopup="true" data-event-name="ui.dropdown-vector-main-menu-dropdown" class="vector-dropdown-checkbox " aria-label="Main menu" > <label id="vector-main-menu-dropdown-label" for="vector-main-menu-dropdown-checkbox" class="vector-dropdown-label cdx-button cdx-button--fake-button cdx-button--fake-button--enabled cdx-button--weight-quiet cdx-button--icon-only " aria-hidden="true" ><span class="vector-icon mw-ui-icon-menu mw-ui-icon-wikimedia-menu"></span> <span class="vector-dropdown-label-text">Main menu</span> </label> <div class="vector-dropdown-content"> <div id="vector-main-menu-unpinned-container" class="vector-unpinned-container"> <div id="vector-main-menu" class="vector-main-menu vector-pinnable-element"> <div class="vector-pinnable-header vector-main-menu-pinnable-header vector-pinnable-header-unpinned" data-feature-name="main-menu-pinned" data-pinnable-element-id="vector-main-menu" data-pinned-container-id="vector-main-menu-pinned-container" data-unpinned-container-id="vector-main-menu-unpinned-container" > <div class="vector-pinnable-header-label">Main menu</div> <button class="vector-pinnable-header-toggle-button vector-pinnable-header-pin-button" data-event-name="pinnable-header.vector-main-menu.pin">move to sidebar</button> <button class="vector-pinnable-header-toggle-button vector-pinnable-header-unpin-button" data-event-name="pinnable-header.vector-main-menu.unpin">hide</button> </div> <div id="p-navigation" class="vector-menu mw-portlet mw-portlet-navigation" > <div class="vector-menu-heading"> Navigation </div> <div class="vector-menu-content"> <ul class="vector-menu-content-list"> <li id="n-mainpage-description" class="mw-list-item"><a href="/wiki/Main_Page" title="Visit the main page [z]" accesskey="z"><span>Main page</span></a></li><li id="n-contents" class="mw-list-item"><a href="/wiki/Wikipedia:Contents" title="Guides to browsing Wikipedia"><span>Contents</span></a></li><li id="n-currentevents" class="mw-list-item"><a href="/wiki/Portal:Current_events" title="Articles related to current events"><span>Current events</span></a></li><li id="n-randompage" class="mw-list-item"><a href="/wiki/Special:Random" title="Visit a randomly selected article [x]" accesskey="x"><span>Random article</span></a></li><li id="n-aboutsite" class="mw-list-item"><a href="/wiki/Wikipedia:About" title="Learn about Wikipedia and how it works"><span>About Wikipedia</span></a></li><li id="n-contactpage" class="mw-list-item"><a href="//en.wikipedia.org/wiki/Wikipedia:Contact_us" title="How to contact Wikipedia"><span>Contact us</span></a></li> </ul> </div> </div> <div id="p-interaction" class="vector-menu mw-portlet mw-portlet-interaction" > <div class="vector-menu-heading"> Contribute </div> <div class="vector-menu-content"> <ul class="vector-menu-content-list"> <li id="n-help" class="mw-list-item"><a href="/wiki/Help:Contents" title="Guidance on how to use and edit Wikipedia"><span>Help</span></a></li><li id="n-introduction" class="mw-list-item"><a href="/wiki/Help:Introduction" title="Learn how to edit Wikipedia"><span>Learn to edit</span></a></li><li id="n-portal" class="mw-list-item"><a href="/wiki/Wikipedia:Community_portal" title="The hub for editors"><span>Community portal</span></a></li><li id="n-recentchanges" class="mw-list-item"><a href="/wiki/Special:RecentChanges" title="A list of recent changes to Wikipedia [r]" accesskey="r"><span>Recent changes</span></a></li><li id="n-upload" class="mw-list-item"><a href="/wiki/Wikipedia:File_upload_wizard" title="Add images or other media for use on Wikipedia"><span>Upload file</span></a></li> </ul> </div> </div> </div> </div> </div> </div> </nav> <a href="/wiki/Main_Page" class="mw-logo"> <img class="mw-logo-icon" src="/static/images/icons/wikipedia.png" alt="" aria-hidden="true" height="50" width="50"> <span class="mw-logo-container skin-invert"> <img class="mw-logo-wordmark" alt="Wikipedia" src="/static/images/mobile/copyright/wikipedia-wordmark-en.svg" style="width: 7.5em; height: 1.125em;"> <img class="mw-logo-tagline" alt="The Free Encyclopedia" src="/static/images/mobile/copyright/wikipedia-tagline-en.svg" width="117" height="13" style="width: 7.3125em; height: 0.8125em;"> </span> </a> </div> <div class="vector-header-end"> <div id="p-search" role="search" class="vector-search-box-vue vector-search-box-collapses vector-search-box-show-thumbnail vector-search-box-auto-expand-width vector-search-box"> <a href="/wiki/Special:Search" class="cdx-button cdx-button--fake-button cdx-button--fake-button--enabled cdx-button--weight-quiet cdx-button--icon-only search-toggle" title="Search Wikipedia [f]" accesskey="f"><span class="vector-icon mw-ui-icon-search mw-ui-icon-wikimedia-search"></span> <span>Search</span> </a> <div class="vector-typeahead-search-container"> <div class="cdx-typeahead-search cdx-typeahead-search--show-thumbnail cdx-typeahead-search--auto-expand-width"> <form action="/w/index.php" id="searchform" class="cdx-search-input cdx-search-input--has-end-button"> <div id="simpleSearch" class="cdx-search-input__input-wrapper" data-search-loc="header-moved"> <div class="cdx-text-input cdx-text-input--has-start-icon"> <input class="cdx-text-input__input" type="search" name="search" placeholder="Search Wikipedia" aria-label="Search Wikipedia" autocapitalize="sentences" title="Search Wikipedia [f]" accesskey="f" id="searchInput" > <span class="cdx-text-input__icon cdx-text-input__start-icon"></span> </div> <input type="hidden" name="title" value="Special:Search"> </div> <button class="cdx-button cdx-search-input__end-button">Search</button> </form> </div> </div> </div> <nav class="vector-user-links vector-user-links-wide" aria-label="Personal tools"> <div class="vector-user-links-main"> <div id="p-vector-user-menu-preferences" class="vector-menu mw-portlet emptyPortlet" > <div class="vector-menu-content"> <ul class="vector-menu-content-list"> </ul> </div> </div> <div id="p-vector-user-menu-userpage" class="vector-menu mw-portlet emptyPortlet" > <div class="vector-menu-content"> <ul class="vector-menu-content-list"> </ul> </div> </div> <nav class="vector-appearance-landmark" aria-label="Appearance"> <div id="vector-appearance-dropdown" class="vector-dropdown " title="Change the appearance of the page's font size, width, and color" > <input type="checkbox" id="vector-appearance-dropdown-checkbox" role="button" aria-haspopup="true" data-event-name="ui.dropdown-vector-appearance-dropdown" class="vector-dropdown-checkbox " aria-label="Appearance" > <label id="vector-appearance-dropdown-label" for="vector-appearance-dropdown-checkbox" class="vector-dropdown-label cdx-button cdx-button--fake-button cdx-button--fake-button--enabled cdx-button--weight-quiet cdx-button--icon-only " aria-hidden="true" ><span class="vector-icon mw-ui-icon-appearance mw-ui-icon-wikimedia-appearance"></span> <span class="vector-dropdown-label-text">Appearance</span> </label> <div class="vector-dropdown-content"> <div id="vector-appearance-unpinned-container" class="vector-unpinned-container"> </div> </div> </div> </nav> <div id="p-vector-user-menu-notifications" class="vector-menu mw-portlet emptyPortlet" > <div class="vector-menu-content"> <ul class="vector-menu-content-list"> </ul> </div> </div> <div id="p-vector-user-menu-overflow" class="vector-menu mw-portlet" > <div class="vector-menu-content"> <ul class="vector-menu-content-list"> <li id="pt-sitesupport-2" class="user-links-collapsible-item mw-list-item user-links-collapsible-item"><a data-mw="interface" href="https://donate.wikimedia.org/wiki/Special:FundraiserRedirector?utm_source=donate&utm_medium=sidebar&utm_campaign=C13_en.wikipedia.org&uselang=en" class=""><span>Donate</span></a> </li> <li id="pt-createaccount-2" class="user-links-collapsible-item mw-list-item user-links-collapsible-item"><a data-mw="interface" href="/w/index.php?title=Special:CreateAccount&returnto=ALGOL+68RS" title="You are encouraged to create an account and log in; however, it is not mandatory" class=""><span>Create account</span></a> </li> <li id="pt-login-2" class="user-links-collapsible-item mw-list-item user-links-collapsible-item"><a data-mw="interface" href="/w/index.php?title=Special:UserLogin&returnto=ALGOL+68RS" title="You're encouraged to log in; however, it's not mandatory. [o]" accesskey="o" class=""><span>Log in</span></a> </li> </ul> </div> </div> </div> <div id="vector-user-links-dropdown" class="vector-dropdown vector-user-menu vector-button-flush-right vector-user-menu-logged-out" title="Log in and more options" > <input type="checkbox" id="vector-user-links-dropdown-checkbox" role="button" aria-haspopup="true" data-event-name="ui.dropdown-vector-user-links-dropdown" class="vector-dropdown-checkbox " aria-label="Personal tools" > <label id="vector-user-links-dropdown-label" for="vector-user-links-dropdown-checkbox" class="vector-dropdown-label cdx-button cdx-button--fake-button cdx-button--fake-button--enabled cdx-button--weight-quiet cdx-button--icon-only " aria-hidden="true" ><span class="vector-icon mw-ui-icon-ellipsis mw-ui-icon-wikimedia-ellipsis"></span> <span class="vector-dropdown-label-text">Personal tools</span> </label> <div class="vector-dropdown-content"> <div id="p-personal" class="vector-menu mw-portlet mw-portlet-personal user-links-collapsible-item" title="User menu" > <div class="vector-menu-content"> <ul class="vector-menu-content-list"> <li id="pt-sitesupport" class="user-links-collapsible-item mw-list-item"><a href="https://donate.wikimedia.org/wiki/Special:FundraiserRedirector?utm_source=donate&utm_medium=sidebar&utm_campaign=C13_en.wikipedia.org&uselang=en"><span>Donate</span></a></li><li id="pt-createaccount" class="user-links-collapsible-item mw-list-item"><a href="/w/index.php?title=Special:CreateAccount&returnto=ALGOL+68RS" title="You are encouraged to create an account and log in; however, it is not mandatory"><span class="vector-icon mw-ui-icon-userAdd mw-ui-icon-wikimedia-userAdd"></span> <span>Create account</span></a></li><li id="pt-login" class="user-links-collapsible-item mw-list-item"><a href="/w/index.php?title=Special:UserLogin&returnto=ALGOL+68RS" title="You're encouraged to log in; however, it's not mandatory. [o]" accesskey="o"><span class="vector-icon mw-ui-icon-logIn mw-ui-icon-wikimedia-logIn"></span> <span>Log in</span></a></li> </ul> </div> </div> <div id="p-user-menu-anon-editor" class="vector-menu mw-portlet mw-portlet-user-menu-anon-editor" > <div class="vector-menu-heading"> Pages for logged out editors <a href="/wiki/Help:Introduction" aria-label="Learn more about editing"><span>learn more</span></a> </div> <div class="vector-menu-content"> <ul class="vector-menu-content-list"> <li id="pt-anoncontribs" class="mw-list-item"><a href="/wiki/Special:MyContributions" title="A list of edits made from this IP address [y]" accesskey="y"><span>Contributions</span></a></li><li id="pt-anontalk" class="mw-list-item"><a href="/wiki/Special:MyTalk" title="Discussion about edits from this IP address [n]" accesskey="n"><span>Talk</span></a></li> </ul> </div> </div> </div> </div> </nav> </div> </header> </div> <div class="mw-page-container"> <div class="mw-page-container-inner"> <div class="vector-sitenotice-container"> <div id="siteNotice"><!-- CentralNotice --></div> </div> <div class="vector-column-start"> <div class="vector-main-menu-container"> <div id="mw-navigation"> <nav id="mw-panel" class="vector-main-menu-landmark" aria-label="Site"> <div id="vector-main-menu-pinned-container" class="vector-pinned-container"> </div> </nav> </div> </div> <div class="vector-sticky-pinned-container"> <nav id="mw-panel-toc" aria-label="Contents" data-event-name="ui.sidebar-toc" class="mw-table-of-contents-container vector-toc-landmark"> <div id="vector-toc-pinned-container" class="vector-pinned-container"> <div id="vector-toc" class="vector-toc vector-pinnable-element"> <div class="vector-pinnable-header vector-toc-pinnable-header vector-pinnable-header-pinned" data-feature-name="toc-pinned" data-pinnable-element-id="vector-toc" > <h2 class="vector-pinnable-header-label">Contents</h2> <button class="vector-pinnable-header-toggle-button vector-pinnable-header-pin-button" data-event-name="pinnable-header.vector-toc.pin">move to sidebar</button> <button class="vector-pinnable-header-toggle-button vector-pinnable-header-unpin-button" data-event-name="pinnable-header.vector-toc.unpin">hide</button> </div> <ul class="vector-toc-contents" id="mw-panel-toc-list"> <li id="toc-mw-content-text" class="vector-toc-list-item vector-toc-level-1"> <a href="#" class="vector-toc-link"> <div class="vector-toc-text">(Top)</div> </a> </li> <li id="toc-History" class="vector-toc-list-item vector-toc-level-1 vector-toc-list-item-expanded"> <a class="vector-toc-link" href="#History"> <div class="vector-toc-text"> <span class="vector-toc-numb">1</span> <span>History</span> </div> </a> <ul id="toc-History-sublist" class="vector-toc-list"> </ul> </li> <li id="toc-Restrictions_in_the_language_compiled" class="vector-toc-list-item vector-toc-level-1 vector-toc-list-item-expanded"> <a class="vector-toc-link" href="#Restrictions_in_the_language_compiled"> <div class="vector-toc-text"> <span class="vector-toc-numb">2</span> <span>Restrictions in the language compiled</span> </div> </a> <button aria-controls="toc-Restrictions_in_the_language_compiled-sublist" class="cdx-button cdx-button--weight-quiet cdx-button--icon-only vector-toc-toggle"> <span class="vector-icon mw-ui-icon-wikimedia-expand"></span> <span>Toggle Restrictions in the language compiled subsection</span> </button> <ul id="toc-Restrictions_in_the_language_compiled-sublist" class="vector-toc-list"> <li id="toc-Declaration_before_use" class="vector-toc-list-item vector-toc-level-2"> <a class="vector-toc-link" href="#Declaration_before_use"> <div class="vector-toc-text"> <span class="vector-toc-numb">2.1</span> <span>Declaration before use</span> </div> </a> <ul id="toc-Declaration_before_use-sublist" class="vector-toc-list"> </ul> </li> <li id="toc-Parallel_processing" class="vector-toc-list-item vector-toc-level-2"> <a class="vector-toc-link" href="#Parallel_processing"> <div class="vector-toc-text"> <span class="vector-toc-numb">2.2</span> <span>Parallel processing</span> </div> </a> <ul id="toc-Parallel_processing-sublist" class="vector-toc-list"> </ul> </li> </ul> </li> <li id="toc-Extensions_to_ALGOL_68" class="vector-toc-list-item vector-toc-level-1 vector-toc-list-item-expanded"> <a class="vector-toc-link" href="#Extensions_to_ALGOL_68"> <div class="vector-toc-text"> <span class="vector-toc-numb">3</span> <span>Extensions to ALGOL 68</span> </div> </a> <button aria-controls="toc-Extensions_to_ALGOL_68-sublist" class="cdx-button cdx-button--weight-quiet cdx-button--icon-only vector-toc-toggle"> <span class="vector-icon mw-ui-icon-wikimedia-expand"></span> <span>Toggle Extensions to ALGOL 68 subsection</span> </button> <ul id="toc-Extensions_to_ALGOL_68-sublist" class="vector-toc-list"> <li id="toc-Straightening" class="vector-toc-list-item vector-toc-level-2"> <a class="vector-toc-link" href="#Straightening"> <div class="vector-toc-text"> <span class="vector-toc-numb">3.1</span> <span>Straightening</span> </div> </a> <ul id="toc-Straightening-sublist" class="vector-toc-list"> </ul> </li> <li id="toc-Efficient_array_handling" class="vector-toc-list-item vector-toc-level-2"> <a class="vector-toc-link" href="#Efficient_array_handling"> <div class="vector-toc-text"> <span class="vector-toc-numb">3.2</span> <span>Efficient array handling</span> </div> </a> <ul id="toc-Efficient_array_handling-sublist" class="vector-toc-list"> <li id="toc-Indexable_structures" class="vector-toc-list-item vector-toc-level-3"> <a class="vector-toc-link" href="#Indexable_structures"> <div class="vector-toc-text"> <span class="vector-toc-numb">3.2.1</span> <span>Indexable structures</span> </div> </a> <ul id="toc-Indexable_structures-sublist" class="vector-toc-list"> </ul> </li> <li id="toc-Vectors" class="vector-toc-list-item vector-toc-level-3"> <a class="vector-toc-link" href="#Vectors"> <div class="vector-toc-text"> <span class="vector-toc-numb">3.2.2</span> <span>Vectors</span> </div> </a> <ul id="toc-Vectors-sublist" class="vector-toc-list"> </ul> </li> <li id="toc-FORALL_statement" class="vector-toc-list-item vector-toc-level-3"> <a class="vector-toc-link" href="#FORALL_statement"> <div class="vector-toc-text"> <span class="vector-toc-numb">3.2.3</span> <span>FORALL statement</span> </div> </a> <ul id="toc-FORALL_statement-sublist" class="vector-toc-list"> </ul> </li> </ul> </li> <li id="toc-Separate_compiling" class="vector-toc-list-item vector-toc-level-2"> <a class="vector-toc-link" href="#Separate_compiling"> <div class="vector-toc-text"> <span class="vector-toc-numb">3.3</span> <span>Separate compiling</span> </div> </a> <ul id="toc-Separate_compiling-sublist" class="vector-toc-list"> <li id="toc-Declaration_modules" class="vector-toc-list-item vector-toc-level-3"> <a class="vector-toc-link" href="#Declaration_modules"> <div class="vector-toc-text"> <span class="vector-toc-numb">3.3.1</span> <span>Declaration modules</span> </div> </a> <ul id="toc-Declaration_modules-sublist" class="vector-toc-list"> </ul> </li> <li id="toc-Nested_modules" class="vector-toc-list-item vector-toc-level-3"> <a class="vector-toc-link" href="#Nested_modules"> <div class="vector-toc-text"> <span class="vector-toc-numb">3.3.2</span> <span>Nested modules</span> </div> </a> <ul id="toc-Nested_modules-sublist" class="vector-toc-list"> </ul> </li> </ul> </li> <li id="toc-Code_and_alien_access" class="vector-toc-list-item vector-toc-level-2"> <a class="vector-toc-link" href="#Code_and_alien_access"> <div class="vector-toc-text"> <span class="vector-toc-numb">3.4</span> <span>Code and alien access</span> </div> </a> <ul id="toc-Code_and_alien_access-sublist" class="vector-toc-list"> </ul> </li> </ul> </li> <li id="toc-Availability" class="vector-toc-list-item vector-toc-level-1 vector-toc-list-item-expanded"> <a class="vector-toc-link" href="#Availability"> <div class="vector-toc-text"> <span class="vector-toc-numb">4</span> <span>Availability</span> </div> </a> <ul id="toc-Availability-sublist" class="vector-toc-list"> </ul> </li> <li id="toc-References" class="vector-toc-list-item vector-toc-level-1 vector-toc-list-item-expanded"> <a class="vector-toc-link" href="#References"> <div class="vector-toc-text"> <span class="vector-toc-numb">5</span> <span>References</span> </div> </a> <ul id="toc-References-sublist" class="vector-toc-list"> </ul> </li> </ul> </div> </div> </nav> </div> </div> <div class="mw-content-container"> <main id="content" class="mw-body"> <header class="mw-body-header vector-page-titlebar"> <nav aria-label="Contents" class="vector-toc-landmark"> <div id="vector-page-titlebar-toc" class="vector-dropdown vector-page-titlebar-toc vector-button-flush-left" > <input type="checkbox" id="vector-page-titlebar-toc-checkbox" role="button" aria-haspopup="true" data-event-name="ui.dropdown-vector-page-titlebar-toc" class="vector-dropdown-checkbox " aria-label="Toggle the table of contents" > <label id="vector-page-titlebar-toc-label" for="vector-page-titlebar-toc-checkbox" class="vector-dropdown-label cdx-button cdx-button--fake-button cdx-button--fake-button--enabled cdx-button--weight-quiet cdx-button--icon-only " aria-hidden="true" ><span class="vector-icon mw-ui-icon-listBullet mw-ui-icon-wikimedia-listBullet"></span> <span class="vector-dropdown-label-text">Toggle the table of contents</span> </label> <div class="vector-dropdown-content"> <div id="vector-page-titlebar-toc-unpinned-container" class="vector-unpinned-container"> </div> </div> </div> </nav> <h1 id="firstHeading" class="firstHeading mw-first-heading"><span class="mw-page-title-main">ALGOL 68RS</span></h1> <div id="p-lang-btn" class="vector-dropdown mw-portlet mw-portlet-lang" > <input type="checkbox" id="p-lang-btn-checkbox" role="button" aria-haspopup="true" data-event-name="ui.dropdown-p-lang-btn" class="vector-dropdown-checkbox mw-interlanguage-selector" aria-label="This article exist only in this language. Add the article for other languages" > <label id="p-lang-btn-label" for="p-lang-btn-checkbox" class="vector-dropdown-label cdx-button cdx-button--fake-button cdx-button--fake-button--enabled cdx-button--weight-quiet cdx-button--action-progressive mw-portlet-lang-heading-0" aria-hidden="true" ><span class="vector-icon mw-ui-icon-language-progressive mw-ui-icon-wikimedia-language-progressive"></span> <span class="vector-dropdown-label-text">Add languages</span> </label> <div class="vector-dropdown-content"> <div class="vector-menu-content"> <ul class="vector-menu-content-list"> </ul> <div class="after-portlet after-portlet-lang"><span class="uls-after-portlet-link"></span><span class="wb-langlinks-add wb-langlinks-link"><a href="https://www.wikidata.org/wiki/Special:EntityPage/Q4652357#sitelinks-wikipedia" title="Add interlanguage links" class="wbc-editpage">Add links</a></span></div> </div> </div> </div> </header> <div class="vector-page-toolbar"> <div class="vector-page-toolbar-container"> <div id="left-navigation"> <nav aria-label="Namespaces"> <div id="p-associated-pages" class="vector-menu vector-menu-tabs mw-portlet mw-portlet-associated-pages" > <div class="vector-menu-content"> <ul class="vector-menu-content-list"> <li id="ca-nstab-main" class="selected vector-tab-noicon mw-list-item"><a href="/wiki/ALGOL_68RS" title="View the content page [c]" accesskey="c"><span>Article</span></a></li><li id="ca-talk" class="vector-tab-noicon mw-list-item"><a href="/wiki/Talk:ALGOL_68RS" rel="discussion" title="Discuss improvements to the content page [t]" accesskey="t"><span>Talk</span></a></li> </ul> </div> </div> <div id="vector-variants-dropdown" class="vector-dropdown emptyPortlet" > <input type="checkbox" id="vector-variants-dropdown-checkbox" role="button" aria-haspopup="true" data-event-name="ui.dropdown-vector-variants-dropdown" class="vector-dropdown-checkbox " aria-label="Change language variant" > <label id="vector-variants-dropdown-label" for="vector-variants-dropdown-checkbox" class="vector-dropdown-label cdx-button cdx-button--fake-button cdx-button--fake-button--enabled cdx-button--weight-quiet" aria-hidden="true" ><span class="vector-dropdown-label-text">English</span> </label> <div class="vector-dropdown-content"> <div id="p-variants" class="vector-menu mw-portlet mw-portlet-variants emptyPortlet" > <div class="vector-menu-content"> <ul class="vector-menu-content-list"> </ul> </div> </div> </div> </div> </nav> </div> <div id="right-navigation" class="vector-collapsible"> <nav aria-label="Views"> <div id="p-views" class="vector-menu vector-menu-tabs mw-portlet mw-portlet-views" > <div class="vector-menu-content"> <ul class="vector-menu-content-list"> <li id="ca-view" class="selected vector-tab-noicon mw-list-item"><a href="/wiki/ALGOL_68RS"><span>Read</span></a></li><li id="ca-edit" class="vector-tab-noicon mw-list-item"><a href="/w/index.php?title=ALGOL_68RS&action=edit" title="Edit this page [e]" accesskey="e"><span>Edit</span></a></li><li id="ca-history" class="vector-tab-noicon mw-list-item"><a href="/w/index.php?title=ALGOL_68RS&action=history" title="Past revisions of this page [h]" accesskey="h"><span>View history</span></a></li> </ul> </div> </div> </nav> <nav class="vector-page-tools-landmark" aria-label="Page tools"> <div id="vector-page-tools-dropdown" class="vector-dropdown vector-page-tools-dropdown" > <input type="checkbox" id="vector-page-tools-dropdown-checkbox" role="button" aria-haspopup="true" data-event-name="ui.dropdown-vector-page-tools-dropdown" class="vector-dropdown-checkbox " aria-label="Tools" > <label id="vector-page-tools-dropdown-label" for="vector-page-tools-dropdown-checkbox" class="vector-dropdown-label cdx-button cdx-button--fake-button cdx-button--fake-button--enabled cdx-button--weight-quiet" aria-hidden="true" ><span class="vector-dropdown-label-text">Tools</span> </label> <div class="vector-dropdown-content"> <div id="vector-page-tools-unpinned-container" class="vector-unpinned-container"> <div id="vector-page-tools" class="vector-page-tools vector-pinnable-element"> <div class="vector-pinnable-header vector-page-tools-pinnable-header vector-pinnable-header-unpinned" data-feature-name="page-tools-pinned" data-pinnable-element-id="vector-page-tools" data-pinned-container-id="vector-page-tools-pinned-container" data-unpinned-container-id="vector-page-tools-unpinned-container" > <div class="vector-pinnable-header-label">Tools</div> <button class="vector-pinnable-header-toggle-button vector-pinnable-header-pin-button" data-event-name="pinnable-header.vector-page-tools.pin">move to sidebar</button> <button class="vector-pinnable-header-toggle-button vector-pinnable-header-unpin-button" data-event-name="pinnable-header.vector-page-tools.unpin">hide</button> </div> <div id="p-cactions" class="vector-menu mw-portlet mw-portlet-cactions emptyPortlet vector-has-collapsible-items" title="More options" > <div class="vector-menu-heading"> Actions </div> <div class="vector-menu-content"> <ul class="vector-menu-content-list"> <li id="ca-more-view" class="selected vector-more-collapsible-item mw-list-item"><a href="/wiki/ALGOL_68RS"><span>Read</span></a></li><li id="ca-more-edit" class="vector-more-collapsible-item mw-list-item"><a href="/w/index.php?title=ALGOL_68RS&action=edit" title="Edit this page [e]" accesskey="e"><span>Edit</span></a></li><li id="ca-more-history" class="vector-more-collapsible-item mw-list-item"><a href="/w/index.php?title=ALGOL_68RS&action=history"><span>View history</span></a></li> </ul> </div> </div> <div id="p-tb" class="vector-menu mw-portlet mw-portlet-tb" > <div class="vector-menu-heading"> General </div> <div class="vector-menu-content"> <ul class="vector-menu-content-list"> <li id="t-whatlinkshere" class="mw-list-item"><a href="/wiki/Special:WhatLinksHere/ALGOL_68RS" title="List of all English Wikipedia pages containing links to this page [j]" accesskey="j"><span>What links here</span></a></li><li id="t-recentchangeslinked" class="mw-list-item"><a href="/wiki/Special:RecentChangesLinked/ALGOL_68RS" rel="nofollow" title="Recent changes in pages linked from this page [k]" accesskey="k"><span>Related changes</span></a></li><li id="t-upload" class="mw-list-item"><a href="/wiki/Wikipedia:File_Upload_Wizard" title="Upload files [u]" accesskey="u"><span>Upload file</span></a></li><li id="t-specialpages" class="mw-list-item"><a href="/wiki/Special:SpecialPages" title="A list of all special pages [q]" accesskey="q"><span>Special pages</span></a></li><li id="t-permalink" class="mw-list-item"><a href="/w/index.php?title=ALGOL_68RS&oldid=1188529418" title="Permanent link to this revision of this page"><span>Permanent link</span></a></li><li id="t-info" class="mw-list-item"><a href="/w/index.php?title=ALGOL_68RS&action=info" title="More information about this page"><span>Page information</span></a></li><li id="t-cite" class="mw-list-item"><a href="/w/index.php?title=Special:CiteThisPage&page=ALGOL_68RS&id=1188529418&wpFormIdentifier=titleform" title="Information on how to cite this page"><span>Cite this page</span></a></li><li id="t-urlshortener" class="mw-list-item"><a href="/w/index.php?title=Special:UrlShortener&url=https%3A%2F%2Fen.wikipedia.org%2Fwiki%2FALGOL_68RS"><span>Get shortened URL</span></a></li><li id="t-urlshortener-qrcode" class="mw-list-item"><a href="/w/index.php?title=Special:QrCode&url=https%3A%2F%2Fen.wikipedia.org%2Fwiki%2FALGOL_68RS"><span>Download QR code</span></a></li> </ul> </div> </div> <div id="p-coll-print_export" class="vector-menu mw-portlet mw-portlet-coll-print_export" > <div class="vector-menu-heading"> Print/export </div> <div class="vector-menu-content"> <ul class="vector-menu-content-list"> <li id="coll-download-as-rl" class="mw-list-item"><a href="/w/index.php?title=Special:DownloadAsPdf&page=ALGOL_68RS&action=show-download-screen" title="Download this page as a PDF file"><span>Download as PDF</span></a></li><li id="t-print" class="mw-list-item"><a href="/w/index.php?title=ALGOL_68RS&printable=yes" title="Printable version of this page [p]" accesskey="p"><span>Printable version</span></a></li> </ul> </div> </div> <div id="p-wikibase-otherprojects" class="vector-menu mw-portlet mw-portlet-wikibase-otherprojects" > <div class="vector-menu-heading"> In other projects </div> <div class="vector-menu-content"> <ul class="vector-menu-content-list"> <li id="t-wikibase" class="wb-otherproject-link wb-otherproject-wikibase-dataitem mw-list-item"><a href="https://www.wikidata.org/wiki/Special:EntityPage/Q4652357" title="Structured data on this page hosted by Wikidata [g]" accesskey="g"><span>Wikidata item</span></a></li> </ul> </div> </div> </div> </div> </div> </div> </nav> </div> </div> </div> <div class="vector-column-end"> <div class="vector-sticky-pinned-container"> <nav class="vector-page-tools-landmark" aria-label="Page tools"> <div id="vector-page-tools-pinned-container" class="vector-pinned-container"> </div> </nav> <nav class="vector-appearance-landmark" aria-label="Appearance"> <div id="vector-appearance-pinned-container" class="vector-pinned-container"> <div id="vector-appearance" class="vector-appearance vector-pinnable-element"> <div class="vector-pinnable-header vector-appearance-pinnable-header vector-pinnable-header-pinned" data-feature-name="appearance-pinned" data-pinnable-element-id="vector-appearance" data-pinned-container-id="vector-appearance-pinned-container" data-unpinned-container-id="vector-appearance-unpinned-container" > <div class="vector-pinnable-header-label">Appearance</div> <button class="vector-pinnable-header-toggle-button vector-pinnable-header-pin-button" data-event-name="pinnable-header.vector-appearance.pin">move to sidebar</button> <button class="vector-pinnable-header-toggle-button vector-pinnable-header-unpin-button" data-event-name="pinnable-header.vector-appearance.unpin">hide</button> </div> </div> </div> </nav> </div> </div> <div id="bodyContent" class="vector-body" aria-labelledby="firstHeading" data-mw-ve-target-container> <div class="vector-body-before-content"> <div class="mw-indicators"> </div> <div id="siteSub" class="noprint">From Wikipedia, the free encyclopedia</div> </div> <div id="contentSub"><div id="mw-content-subtitle"></div></div> <div id="mw-content-text" class="mw-body-content"><div class="mw-content-ltr mw-parser-output" lang="en" dir="ltr"><p class="mw-empty-elt"> </p> <style data-mw-deduplicate="TemplateStyles:r1257001546">.mw-parser-output .infobox-subbox{padding:0;border:none;margin:-3px;width:auto;min-width:100%;font-size:100%;clear:none;float:none;background-color:transparent}.mw-parser-output .infobox-3cols-child{margin:auto}.mw-parser-output .infobox .navbar{font-size:100%}@media screen{html.skin-theme-clientpref-night .mw-parser-output .infobox-full-data:not(.notheme)>div:not(.notheme)[style]{background:#1f1f23!important;color:#f8f9fa}}@media screen and (prefers-color-scheme:dark){html.skin-theme-clientpref-os .mw-parser-output .infobox-full-data:not(.notheme) div:not(.notheme){background:#1f1f23!important;color:#f8f9fa}}@media(min-width:640px){body.skin--responsive .mw-parser-output .infobox-table{display:table!important}body.skin--responsive .mw-parser-output .infobox-table>caption{display:table-caption!important}body.skin--responsive .mw-parser-output .infobox-table>tbody{display:table-row-group}body.skin--responsive .mw-parser-output .infobox-table tr{display:table-row!important}body.skin--responsive .mw-parser-output .infobox-table th,body.skin--responsive .mw-parser-output .infobox-table td{padding-left:inherit;padding-right:inherit}}</style><table class="infobox vevent"><caption class="infobox-title summary">ALGOL 68RS</caption><tbody><tr><th scope="row" class="infobox-label" style="white-space: nowrap;"><a href="/wiki/Programmer" title="Programmer">Original author(s)</a></th><td class="infobox-data">I. F. Currie, J. D. Morrison</td></tr><tr><th scope="row" class="infobox-label" style="white-space: nowrap;"><a href="/wiki/Programmer" title="Programmer">Developer(s)</a></th><td class="infobox-data"><a href="/wiki/Royal_Signals_and_Radar_Establishment" title="Royal Signals and Radar Establishment">Royal Signals and Radar Establishment</a></td></tr><tr><th scope="row" class="infobox-label" style="white-space: nowrap;">Initial release</th><td class="infobox-data">August 1977<span class="noprint">; 47 years ago</span><span style="display:none"> (<span class="bday dtstart published updated">1977-08</span>)</span></td></tr><tr style="display: none;"><td colspan="2" class="infobox-full-data"><link rel="mw-deduplicated-inline-style" href="mw-data:TemplateStyles:r1257001546"></td></tr><tr><th scope="row" class="infobox-label" style="white-space: nowrap;"><a href="/wiki/Software_release_life_cycle" title="Software release life cycle">Stable release</a></th><td class="infobox-data"><div style="margin:0px;">algol68toc 1.14 / 25 August 2012<span class="noprint">; 12 years ago</span><span style="display:none"> (<span class="bday dtstart published updated">2012-08-25</span>)</span></div></td></tr><tr style="display:none"><td colspan="2"> </td></tr><tr><th scope="row" class="infobox-label" style="white-space: nowrap;">Written in</th><td class="infobox-data"><a href="/wiki/ALGOL_68" title="ALGOL 68">ALGOL 68</a></td></tr><tr><th scope="row" class="infobox-label" style="white-space: nowrap;"><a href="/wiki/Operating_system" title="Operating system">Operating system</a></th><td class="infobox-data"><a href="/wiki/OpenVMS" title="OpenVMS">VMS</a></td></tr><tr><th scope="row" class="infobox-label" style="white-space: nowrap;"><a href="/wiki/Computing_platform" title="Computing platform">Platform</a></th><td class="infobox-data"><a href="/wiki/ICL_2900_Series" title="ICL 2900 Series">ICL 2900 Series</a>, <a href="/wiki/Multics" title="Multics">Multics</a>, <a href="/wiki/VAX" title="VAX">VAX</a></td></tr><tr><th scope="row" class="infobox-label" style="white-space: nowrap;">Available in</th><td class="infobox-data">English</td></tr><tr><th scope="row" class="infobox-label" style="white-space: nowrap;"><a href="/wiki/Software_categories#Categorization_approaches" title="Software categories">Type</a></th><td class="infobox-data"><a href="/wiki/Compiler" title="Compiler">Compiler</a>, <a href="/wiki/Translator_(computing)" title="Translator (computing)">translator</a></td></tr><tr><th scope="row" class="infobox-label" style="white-space: nowrap;"><a href="/wiki/Software_license" title="Software license">License</a></th><td class="infobox-data"><a href="/wiki/Freeware" title="Freeware">Freeware</a>, <a href="/wiki/Public_domain" title="Public domain">public domain</a> (parts)</td></tr><tr><th scope="row" class="infobox-label" style="white-space: nowrap;">Website</th><td class="infobox-data"><span class="url"><a rel="nofollow" class="external text" href="http://algol68.sourceforge.net">algol68<wbr />.sourceforge<wbr />.net</a></span></td></tr></tbody></table> <p><b>ALGOL 68RS</b> is the second <a href="/wiki/ALGOL_68" title="ALGOL 68">ALGOL 68</a> <a href="/wiki/Compiler" title="Compiler">compiler</a> written by I. F. Currie and J. D. Morrison, at the <a href="/wiki/Royal_Signals_and_Radar_Establishment" title="Royal Signals and Radar Establishment">Royal Signals and Radar Establishment</a> (RSRE).<sup id="cite_ref-1" class="reference"><a href="#cite_note-1"><span class="cite-bracket">[</span>1<span class="cite-bracket">]</span></a></sup> Unlike the earlier <a href="/wiki/ALGOL_68-R" title="ALGOL 68-R">ALGOL 68-R</a>, it was designed to be <a href="/wiki/Software_portability" title="Software portability">portable</a>, and implemented the language of the Revised Report. </p><p>Versions of ALGOL 68RS were written for the <a href="/wiki/ICL_2900_Series" title="ICL 2900 Series">ICL 2900 Series</a>, <a href="/wiki/Multics" title="Multics">Multics</a>, and <a href="/wiki/VAX" title="VAX">VAX</a> running <a href="/wiki/OpenVMS" title="OpenVMS">VMS</a>.<sup id="cite_ref-2" class="reference"><a href="#cite_note-2"><span class="cite-bracket">[</span>2<span class="cite-bracket">]</span></a></sup><sup id="cite_ref-3" class="reference"><a href="#cite_note-3"><span class="cite-bracket">[</span>3<span class="cite-bracket">]</span></a></sup> </p><p>Subsequently, parts of this compiler were released into the <a href="/wiki/Public_domain" title="Public domain">public domain</a>, as a <a href="/wiki/Translator_(computing)" title="Translator (computing)">translator</a> from ALGOL 68 to <a href="/wiki/C_(programming_language)" title="C (programming language)">C</a>, as part of the public release of the <a href="/wiki/Hardware_description_language" title="Hardware description language">hardware description language</a> <a href="/wiki/ELLA_(programming_language)" title="ELLA (programming language)">ELLA</a>, also by the RSRE. </p> <meta property="mw:PageProp/toc" /> <div class="mw-heading mw-heading2"><h2 id="History">History</h2><span class="mw-editsection"><span class="mw-editsection-bracket">[</span><a href="/w/index.php?title=ALGOL_68RS&action=edit&section=1" title="Edit section: History"><span>edit</span></a><span class="mw-editsection-bracket">]</span></span></div> <p>Although the <a href="/wiki/ALGOL_68-R" title="ALGOL 68-R">ALGOL 68-R</a> compiler, written by I.F. Currie, J.D. Morrison, and <a href="/wiki/Susan_G._Bond" title="Susan G. Bond">S.G. Bond</a>, was a great success, it suffered from two major problems: it had been written for the nearly obsolete <a href="/wiki/ICT_1900_series" title="ICT 1900 series">ICL 1900</a> computer, and it implemented an out-of-date version of the language as it was released before the Revised Report on ALGOL 68 was available. </p><p>RSRE needed a newer compiler for various internal projects, so the team of Currie and Morrison wrote a new compiler designed for <a href="/wiki/Cross-platform_software" title="Cross-platform software">cross-platform</a> <a href="/wiki/Software_portability" title="Software portability">software portability</a> between machines. The compiler dealt with the parsing of ALGOL 68, producing a high level intermediate language known as <i>stream language</i> that is then compiled to <a href="/wiki/Machine_code" title="Machine code">machine code</a> by a <i>translator</i>. The compiler needed to know only the sizes of the various object machine <a href="/wiki/Data_type" title="Data type">data types</a> and the <a href="/wiki/Character_encoding" title="Character encoding">character encoding</a> (set) available. </p><p>The compiler was written in ALGOL 68, <a href="/wiki/Bootstrapping_(compilers)" title="Bootstrapping (compilers)">bootstrapped</a> initially using the ALGOL 68-R compiler. </p><p>A team of two programmers at <a href="/wiki/Oxford_University_Computing_Services" title="Oxford University Computing Services">Oxford University Computing Services</a> wrote a code generator for the ICL 2900 series.<sup id="cite_ref-4" class="reference"><a href="#cite_note-4"><span class="cite-bracket">[</span>4<span class="cite-bracket">]</span></a></sup> <a href="/wiki/Martyn_Thomas" title="Martyn Thomas">Martyn Thomas</a> of South West Universities Regional Computer Centre (SWURCC) arranged that this system be sponsored by <a href="/wiki/International_Computers_Limited" title="International Computers Limited">International Computers Limited</a> (ICL) and sold as an official ICL product.<sup id="cite_ref-5" class="reference"><a href="#cite_note-5"><span class="cite-bracket">[</span>5<span class="cite-bracket">]</span></a></sup> </p><p>Later, the <i>Avon Universities Joint Computer Centre</i>, a large user of <a href="/wiki/Multics" title="Multics">Multics</a> requested the SWURCC team to produce a Multics version of ALGOL 68RS. A version for the <a href="/wiki/Digital_Equipment_Corporation" title="Digital Equipment Corporation">Digital Equipment Corporation</a> (DEC) <a href="/wiki/VAX" title="VAX">VAX</a> computer was also written. </p><p>Eventually the team at SWURCC formed a company, <a href="/wiki/Altran_Praxis" title="Altran Praxis">Praxis</a>, initially supporting the Multics version of ALGOL 68RS. </p><p>RSRE also used the ALGOL 68RS compiler for internal projects, including the <a href="/wiki/Flex_machine" title="Flex machine">Flex machine</a> and the ELLA hardware design language. When it was decided to make ELLA freely available, Praxis was commissioned to write an ALGOL 68 to <a href="/wiki/C_(programming_language)" title="C (programming language)">C</a> translator named <i>ctrans</i>, based on the ALGOL 68RS compiler. </p> <div class="mw-heading mw-heading2"><h2 id="Restrictions_in_the_language_compiled">Restrictions in the language compiled</h2><span class="mw-editsection"><span class="mw-editsection-bracket">[</span><a href="/w/index.php?title=ALGOL_68RS&action=edit&section=2" title="Edit section: Restrictions in the language compiled"><span>edit</span></a><span class="mw-editsection-bracket">]</span></span></div> <p>Like the earlier ALGOL 68-R compiler, ALGOL 68RS was a <a href="/wiki/One-pass_compiler" title="One-pass compiler">one-pass compiler</a>, which required some restrictions on the language compiled. </p> <div class="mw-heading mw-heading3"><h3 id="Declaration_before_use">Declaration before use</h3><span class="mw-editsection"><span class="mw-editsection-bracket">[</span><a href="/w/index.php?title=ALGOL_68RS&action=edit&section=3" title="Edit section: Declaration before use"><span>edit</span></a><span class="mw-editsection-bracket">]</span></span></div> <p>The ALGOL 68 program: </p> <pre><b>PROC</b> even = (<b>INT</b> number) <b>BOOL</b>: ( number = 0 | <b>TRUE</b> | odd (<b>ABS</b> (number - 1))); <b>PROC</b> odd = (<b>INT</b> number) <b>BOOL</b>: ( number = 0 | <b>FALSE</b> | even (<b>ABS</b> (number - 1))); </pre> <p>would have to be re-written as: </p> <pre><b>PROC</b> (<b>INT</b>) <b>BOOL</b> odd; <b>PROC</b> even = (<b>INT</b> number) <b>BOOL</b> : ( number = 0 | <b>TRUE</b> | odd (<b>ABS</b> (number - 1))); odd := (<b>INT</b> number) <b>BOOL</b> : ( number = 0 | <b>FALSE</b> | even (<b>ABS</b> (number - 1))); </pre> <p>To allow recursive declarations of <i>modes</i> (types) a special <i>stub</i> mode declaration was used to inform the compiler that an upcoming symbol was a mode rather than an operator: </p> <pre><b>MODE</b> <b>B</b>, <b>A</b> = <b>STRUCT</b> (<b>REF</b> <b>B</b> b), <b>B</b> = [1:10] <b>REF</b> <b>A</b>; </pre> <div class="mw-heading mw-heading3"><h3 id="Parallel_processing">Parallel processing</h3><span class="mw-editsection"><span class="mw-editsection-bracket">[</span><a href="/w/index.php?title=ALGOL_68RS&action=edit&section=4" title="Edit section: Parallel processing"><span>edit</span></a><span class="mw-editsection-bracket">]</span></span></div> <p>Like ALGOL 68-R, the operators <b>PAR</b> clause and the <b>SEMA</b> mode with its associated <b>UP</b>, <b>DOWN</b>, and <b>LEVEL</b>, were omitted. </p> <div class="mw-heading mw-heading2"><h2 id="Extensions_to_ALGOL_68">Extensions to ALGOL 68</h2><span class="mw-editsection"><span class="mw-editsection-bracket">[</span><a href="/w/index.php?title=ALGOL_68RS&action=edit&section=5" title="Edit section: Extensions to ALGOL 68"><span>edit</span></a><span class="mw-editsection-bracket">]</span></span></div> <div class="mw-heading mw-heading3"><h3 id="Straightening">Straightening</h3><span class="mw-editsection"><span class="mw-editsection-bracket">[</span><a href="/w/index.php?title=ALGOL_68RS&action=edit&section=6" title="Edit section: Straightening"><span>edit</span></a><span class="mw-editsection-bracket">]</span></span></div> <p>One major misfeature of ALGOL 68 is that it is impossible to write the standard <i>transput</i> (<a href="/wiki/Input/output" title="Input/output">input/output</a>) procedures in pure ALGOL 68. The <i>print</i> procedure takes, for example, an array of items to print of any mode and, by a process named <i>straightening</i>, converts them into simple values that can be printed. For example: </p> <pre><b>STRUCT</b> (<b>INT</b> a, <b>REAL</b> b) c := ...; print(c); { magically transformed to print ((a <b>OF</b> c, b <b>OF</b> c)); } </pre> <p>The writers of ALGOL 68RS decided to make <i>straightening</i> available as part of the language. A <b>STRAIGHT</b> mode resembles an <a href="/wiki/Array_data_structure" class="mw-redirect" title="Array data structure">array</a> but has the special feature that items can be <a href="/wiki/Type_conversion" title="Type conversion">coerced</a> to a <b>STRAIGHT</b> mode if their components can be coerced to the mode. For example: </p> <pre><b>STRUCT</b> (<b>INT</b> a, <b>REAL</b> b) c; <b>STRAIGHT</b> <b>UNION</b> (<b>INT</b>, <b>REAL</b>) z = c; </pre> <p>Both the fields of <b>C</b> can be coerced to <b>UNION</b> (<b>INT</b>, <b>REAL</b>) so the field "a <b>OF</b> c" can be accessed as z[1] and "b <b>OF</b> c" is z[2]. </p><p>The standard <i>print</i> procedure can now be declared as: </p> <pre><b>MODE</b> <b>PRINTMODE</b> = <b>UNION</b> (<b>INT</b>, <b>REAL</b>, ... <b>STRAIGHT</b> <b>PRINTMODE</b>); <b>PROC</b> print = ([] <b>PRINTMODE</b> arguments ) <b>VOID</b>: ...; </pre> <div class="mw-heading mw-heading3"><h3 id="Efficient_array_handling">Efficient array handling</h3><span class="mw-editsection"><span class="mw-editsection-bracket">[</span><a href="/w/index.php?title=ALGOL_68RS&action=edit&section=7" title="Edit section: Efficient array handling"><span>edit</span></a><span class="mw-editsection-bracket">]</span></span></div> <p>The ALGOL 68 array modes are very powerful, including multiple dimensions, defined upper and lower bounds, trimming (making a new array by taking a contiguous subset of an array), slicing (making a new array by removing one dimension from an array), and rowing (making a new array by adding a dimension to an extant array. </p><p>For example: </p> <pre>[5:23, -7:7] <b>INT</b> a; { a two dimensional array } <b>REF</b> [,] <b>INT</b> b = a [ 6:21, 0:3 ] { a slice of a } <b>REF</b> [] <b>INT</b> c = a [5] { just one row of a } </pre> <p>While the compiler made all efforts to generate optimal code for all cases, it was felt that adding some simpler facilities would allow better code in some cases. To this end ALGOL 68RS included <i>indexable structures</i> (i-structs), <i>vectors</i>, and the <b>FORALL</b> statement. </p> <div class="mw-heading mw-heading4"><h4 id="Indexable_structures">Indexable structures</h4><span class="mw-editsection"><span class="mw-editsection-bracket">[</span><a href="/w/index.php?title=ALGOL_68RS&action=edit&section=8" title="Edit section: Indexable structures"><span>edit</span></a><span class="mw-editsection-bracket">]</span></span></div> <p>ALGOL 68 already included fixed length structures to efficiently handle characters and bit-data on <a href="/wiki/Word_(computer_architecture)" title="Word (computer architecture)">word</a>-based machines, the <b>BYTES</b> and <b>BITS</b> modes. A <b>BYTES</b> variable held one machine word of characters, a <b>BITS</b> variable held the bits of one machine word. </p><p>ALGOL 68RS generalised these ideas. A <b>STRUCT</b> 4 <b>CHAR</b> variable held exactly 4 chars. The size was part of the type. On most ALGOL 68RS systems, the mode <b>BYTES</b> was equivalent to <b>STRUCT</b> 4 <b>CHAR</b>. </p> <pre><b>MODE</b> <b>BYTES</b> = <b>STRUCT</b> 4 <b>CHAR</b>; <b>OP</b> <b>ELEM</b> = (<b>INT</b> index, <b>BYTES</b> val) <b>CHAR</b>: val[index]; ... <b>BYTES</b> b = "abcd"; ... print (2 <b>ELEM</b> b); </pre> <p>The ALGOL 68RS compiler would compile any <a href="/wiki/String_(computer_science)" title="String (computer science)">string</a> constant to an appropriate <b>STRUCT</b> <i>n</i> <b>CHAR</b>. </p><p>In contexts where a <b>VECTOR</b> or array was wanted, an i-struct could be widened to the appropriate <b>VECTOR</b> or array type. </p> <div class="mw-heading mw-heading4"><h4 id="Vectors">Vectors</h4><span class="mw-editsection"><span class="mw-editsection-bracket">[</span><a href="/w/index.php?title=ALGOL_68RS&action=edit&section=9" title="Edit section: Vectors"><span>edit</span></a><span class="mw-editsection-bracket">]</span></span></div> <p>A <b>VECTOR</b> is a simplified array, with only one dimension and a lower bound fixed at 1. </p> <pre><b>VECTOR</b> [4] <b>INT</b> a; { similar to [1:4] <b>INT</b> a; } </pre> <p>In any context where an array was required a <b>VECTOR</b> could be converted to an array. </p> <div class="mw-heading mw-heading4"><h4 id="FORALL_statement">FORALL statement</h4><span class="mw-editsection"><span class="mw-editsection-bracket">[</span><a href="/w/index.php?title=ALGOL_68RS&action=edit&section=10" title="Edit section: FORALL statement"><span>edit</span></a><span class="mw-editsection-bracket">]</span></span></div> <p>The <b>FORALL</b> statement allows efficient stepping through the elements of an array. </p> <pre>[12] <b>INT</b> a := ...; <b>FORALL</b> xa <b>IN</b> a <b>DO</b> xa := xa * 2 <b>OD</b> </pre> <p><i>xa</i> will be a reference to each element of <i>a</i> in turn. <b>FORALL</b> can step through multiple arrays in parallel, and be controlled by a <b>WHILE</b> clause: </p> <pre>[12] <b>INT</b> a, b; ... <b>FORALL</b> xa <b>IN</b> a, xb <b>IN</b> b <b>WHILE</b> xa > xb <b>DO</b> f(xa, xb) <b>OD</b> </pre> <div class="mw-heading mw-heading3"><h3 id="Separate_compiling">Separate compiling</h3><span class="mw-editsection"><span class="mw-editsection-bracket">[</span><a href="/w/index.php?title=ALGOL_68RS&action=edit&section=11" title="Edit section: Separate compiling"><span>edit</span></a><span class="mw-editsection-bracket">]</span></span></div> <p>ALGOL 68RS provided a mechanism to build <a href="/wiki/Library_(computing)" title="Library (computing)">libraries</a> similar to the separate compiling facilities of <a href="/wiki/ALGOL_68-R#Separate_compiling" title="ALGOL 68-R">ALGOL 68-R</a> and a mechanism to build programs in a <a href="/wiki/Top-down_and_bottom-up_design" class="mw-redirect" title="Top-down and bottom-up design">top-down</a> manner similar to those of <a href="/wiki/ALGOL_68C#The_ENVIRON_and_USING_clauses" title="ALGOL 68C">ALGOL 68C</a>. </p> <div class="mw-heading mw-heading4"><h4 id="Declaration_modules">Declaration modules</h4><span class="mw-editsection"><span class="mw-editsection-bracket">[</span><a href="/w/index.php?title=ALGOL_68RS&action=edit&section=12" title="Edit section: Declaration modules"><span>edit</span></a><span class="mw-editsection-bracket">]</span></span></div> <p>Libraries in ALGOL 68RS are written using <i>declaration modules</i> which consist of a sequence of <b>MODE</b>, variable, operator and procedure declarations followed by a <i>keep list</i> which defines which declarations are visible to other segments. </p><p>The library user then adds a <b>USE</b> header that tells the compiler to make the symbols of one or more declaration libraries available to the program. </p><p>For example, a graphics library might be written as: </p> <pre><b>DECS</b> graphlib <b>USE</b> some other library <b>MODE</b> <b>GRAPHDATA</b> = <b>STRUCT</b> ( ... ); <b>MODE</b> <b>GRAPH</b> = <b>REF</b> <b>GRAPHDATA</b>; <b>PROC</b> new graph = ( ... ) <b>GRAPH</b> : ...; <b>PROC</b> draw graph = (<b>GRAPH</b> g) <b>VOID</b> : ...; ... <b>KEEP</b> <b>GRAPH</b>, new graph, draw graph <b>FINISH</b> </pre> <p>And a user program to use this library would look like: </p> <pre><b>PROGRAM</b> myprog <b>USE</b> graphlib <b>BEGIN</b> <b>GRAPH</b> g = new graph (...); ... draw graph (g); ... <b>END</b> <b>FINISH</b> </pre> <div class="mw-heading mw-heading4"><h4 id="Nested_modules">Nested modules</h4><span class="mw-editsection"><span class="mw-editsection-bracket">[</span><a href="/w/index.php?title=ALGOL_68RS&action=edit&section=13" title="Edit section: Nested modules"><span>edit</span></a><span class="mw-editsection-bracket">]</span></span></div> <p>To support a top-down programming style, ALGOL 68RS provided the <b>HERE</b> and <b>CONTEXT</b> facilities. </p><p>A program could be written with parts to be filled in later marked by a <b>HERE</b> tag followed by a <i>keeplist</i> of declarations to be made available. </p> <pre><b>PROGRAM</b> (pass1, pass2) compiler <b>BEGIN</b> <b>STRING</b> source := ...; <b>TREE</b> parsetree; ... <b>HERE</b> pass1 (source, parsetree); ... <b>INSTRUCTIONS</b> insts; <b>HERE</b> pass2 (parsetree, insts); ... <b>END</b> <b>FINISH</b> </pre> <p>The code to be executed in the context of the <b>HERE</b> tags would be written as: </p> <pre><b>PROGRAM</b> pass1 implementation <b>CONTEXT</b> pass1 <b>IN</b> compiler <b>BEGIN</b> ... { code using "source" and "parsetree" } <b>END</b> <b>FINISH</b> </pre> <p><b>HERE</b> is similar to the ALGOL 68C <b>ENVIRON</b> and <b>CONTEXT</b> is equivalent to the ALGOL 68C <b>USING</b>. </p> <div class="mw-heading mw-heading3"><h3 id="Code_and_alien_access">Code and alien access</h3><span class="mw-editsection"><span class="mw-editsection-bracket">[</span><a href="/w/index.php?title=ALGOL_68RS&action=edit&section=14" title="Edit section: Code and alien access"><span>edit</span></a><span class="mw-editsection-bracket">]</span></span></div> <p>ALGOL 68RS was intended to be usable for low level <a href="/wiki/Systems_programming" title="Systems programming">systems programming</a>. To allow this, facilities were included for access to machine code and non-ALGOL 68RS objects. </p><p>Code was inserted with the <b>CODE</b> construct: </p> <pre><b>SOMEMODE</b> <b>CODE</b> (<i>item1</i>, <i>item2</i>, ...) "...<i>code</i>..." </pre> <p>Where the <i>item</i>s are ALGOL 68RS values to be made available to the code insertion and <b>SOMEMODE</b> is the mode returned. The mode can be omitted if the code returns no value. </p><p>Access to non-ALGOL68 objects was available with the <b>ALIEN</b> insertion: </p> <pre><b>SOMEMODE</b> <i>name</i> = <b>ALIEN</b> "<i>external-name</i>" </pre> <p>Any simple ALGOL 68RS object could be <i>cast</i> into a <b>VECTOR</b> of characters using the <b>SPELL</b> operator: </p> <pre><b>STRUCT</b> (<b>INT</b> a, <b>REAL</b> b) c = ...; print (("internal repr = ", <b>SPELL</b> c, newline)); </pre> <p>A <i>simple</i> object is one that contains no arrays or <b>VECTOR</b>s. </p> <div class="mw-heading mw-heading2"><h2 id="Availability">Availability</h2><span class="mw-editsection"><span class="mw-editsection-bracket">[</span><a href="/w/index.php?title=ALGOL_68RS&action=edit&section=15" title="Edit section: Availability"><span>edit</span></a><span class="mw-editsection-bracket">]</span></span></div> <p>The ALGOL 68 to C translator written by Praxis for the ELLA system contains most of the ALGOL 68RS compiler. The notable exception is the code for handling <b>FORMAT</b>s. </p><p>As of September 2020<sup class="plainlinks noexcerpt noprint asof-tag update" style="display:none;"><a class="external text" href="https://en.wikipedia.org/w/index.php?title=ALGOL_68RS&action=edit">[update]</a></sup>, ALGOL 68RS is available from <a href="/wiki/SourceForge" title="SourceForge">SourceForge</a>.<sup id="cite_ref-6" class="reference"><a href="#cite_note-6"><span class="cite-bracket">[</span>6<span class="cite-bracket">]</span></a></sup> </p> <div class="mw-heading mw-heading2"><h2 id="References">References</h2><span class="mw-editsection"><span class="mw-editsection-bracket">[</span><a href="/w/index.php?title=ALGOL_68RS&action=edit&section=16" title="Edit section: References"><span>edit</span></a><span class="mw-editsection-bracket">]</span></span></div> <style data-mw-deduplicate="TemplateStyles:r1239543626">.mw-parser-output .reflist{margin-bottom:0.5em;list-style-type:decimal}@media screen{.mw-parser-output .reflist{font-size:90%}}.mw-parser-output .reflist .references{font-size:100%;margin-bottom:0;list-style-type:inherit}.mw-parser-output .reflist-columns-2{column-width:30em}.mw-parser-output .reflist-columns-3{column-width:25em}.mw-parser-output .reflist-columns{margin-top:0.3em}.mw-parser-output .reflist-columns ol{margin-top:0}.mw-parser-output .reflist-columns li{page-break-inside:avoid;break-inside:avoid-column}.mw-parser-output .reflist-upper-alpha{list-style-type:upper-alpha}.mw-parser-output .reflist-upper-roman{list-style-type:upper-roman}.mw-parser-output .reflist-lower-alpha{list-style-type:lower-alpha}.mw-parser-output .reflist-lower-greek{list-style-type:lower-greek}.mw-parser-output .reflist-lower-roman{list-style-type:lower-roman}</style><div class="reflist"> <div class="mw-references-wrap"><ol class="references"> <li id="cite_note-1"><span class="mw-cite-backlink"><b><a href="#cite_ref-1">^</a></b></span> <span class="reference-text"> <style data-mw-deduplicate="TemplateStyles:r1238218222">.mw-parser-output cite.citation{font-style:inherit;word-wrap:break-word}.mw-parser-output .citation q{quotes:"\"""\"""'""'"}.mw-parser-output .citation:target{background-color:rgba(0,127,255,0.133)}.mw-parser-output .id-lock-free.id-lock-free a{background:url("//upload.wikimedia.org/wikipedia/commons/6/65/Lock-green.svg")right 0.1em center/9px no-repeat}.mw-parser-output .id-lock-limited.id-lock-limited a,.mw-parser-output .id-lock-registration.id-lock-registration a{background:url("//upload.wikimedia.org/wikipedia/commons/d/d6/Lock-gray-alt-2.svg")right 0.1em center/9px no-repeat}.mw-parser-output .id-lock-subscription.id-lock-subscription a{background:url("//upload.wikimedia.org/wikipedia/commons/a/aa/Lock-red-alt-2.svg")right 0.1em center/9px no-repeat}.mw-parser-output .cs1-ws-icon a{background:url("//upload.wikimedia.org/wikipedia/commons/4/4c/Wikisource-logo.svg")right 0.1em center/12px no-repeat}body:not(.skin-timeless):not(.skin-minerva) .mw-parser-output .id-lock-free a,body:not(.skin-timeless):not(.skin-minerva) .mw-parser-output .id-lock-limited a,body:not(.skin-timeless):not(.skin-minerva) .mw-parser-output .id-lock-registration a,body:not(.skin-timeless):not(.skin-minerva) .mw-parser-output .id-lock-subscription a,body:not(.skin-timeless):not(.skin-minerva) .mw-parser-output .cs1-ws-icon a{background-size:contain;padding:0 1em 0 0}.mw-parser-output .cs1-code{color:inherit;background:inherit;border:none;padding:inherit}.mw-parser-output .cs1-hidden-error{display:none;color:var(--color-error,#d33)}.mw-parser-output .cs1-visible-error{color:var(--color-error,#d33)}.mw-parser-output .cs1-maint{display:none;color:#085;margin-left:0.3em}.mw-parser-output .cs1-kern-left{padding-left:0.2em}.mw-parser-output .cs1-kern-right{padding-right:0.2em}.mw-parser-output .citation .mw-selflink{font-weight:inherit}@media screen{.mw-parser-output .cs1-format{font-size:95%}html.skin-theme-clientpref-night .mw-parser-output .cs1-maint{color:#18911f}}@media screen and (prefers-color-scheme:dark){html.skin-theme-clientpref-os .mw-parser-output .cs1-maint{color:#18911f}}</style><cite id="CITEREFBondWoodward1977" class="citation journal cs1"><a href="/wiki/Susan_G._Bond" title="Susan G. Bond">Bond, S. G.</a>; <a href="/wiki/Philip_Woodward" title="Philip Woodward">Woodward, P. M.</a> (August 1977). <a rel="nofollow" class="external text" href="https://archive.today/20121214110935/http://www.ntis.gov/search/product.aspx?ABBR=ADA049572">"Introduction to the 'RS' Portable ALGOL 68 Compiler"</a>. <i>Technical Note</i> (802). Archived from <a rel="nofollow" class="external text" href="http://www.ntis.gov/search/product.aspx?ABBR=ADA049572">the original</a> on 14 December 2012.</cite><span title="ctx_ver=Z39.88-2004&rft_val_fmt=info%3Aofi%2Ffmt%3Akev%3Amtx%3Ajournal&rft.genre=article&rft.jtitle=Technical+Note&rft.atitle=Introduction+to+the+%27RS%27+Portable+ALGOL+68+Compiler&rft.issue=802&rft.date=1977-08&rft.aulast=Bond&rft.aufirst=S.+G.&rft.au=Woodward%2C+P.+M.&rft_id=http%3A%2F%2Fwww.ntis.gov%2Fsearch%2Fproduct.aspx%3FABBR%3DADA049572&rfr_id=info%3Asid%2Fen.wikipedia.org%3AALGOL+68RS" class="Z3988"></span></span> </li> <li id="cite_note-2"><span class="mw-cite-backlink"><b><a href="#cite_ref-2">^</a></b></span> <span class="reference-text"> <link rel="mw-deduplicated-inline-style" href="mw-data:TemplateStyles:r1238218222"><cite id="CITEREFWoodwardBond1983" class="citation book cs1"><a href="/wiki/Philip_Woodward" title="Philip Woodward">Woodward, P. M.</a>; <a href="/wiki/Susan_G._Bond" title="Susan G. Bond">Bond, S. G.</a> (1983). <i>Guide to ALGOL 68 for Users of RS Systems</i>. Edward Arnold (Publishers) Ltd. <a href="/wiki/ISBN_(identifier)" class="mw-redirect" title="ISBN (identifier)">ISBN</a> <a href="/wiki/Special:BookSources/978-0-7131-3490-2" title="Special:BookSources/978-0-7131-3490-2"><bdi>978-0-7131-3490-2</bdi></a>.</cite><span title="ctx_ver=Z39.88-2004&rft_val_fmt=info%3Aofi%2Ffmt%3Akev%3Amtx%3Abook&rft.genre=book&rft.btitle=Guide+to+ALGOL+68+for+Users+of+RS+Systems&rft.pub=Edward+Arnold+%28Publishers%29+Ltd.&rft.date=1983&rft.isbn=978-0-7131-3490-2&rft.aulast=Woodward&rft.aufirst=P.+M.&rft.au=Bond%2C+S.+G.&rfr_id=info%3Asid%2Fen.wikipedia.org%3AALGOL+68RS" class="Z3988"></span></span> </li> <li id="cite_note-3"><span class="mw-cite-backlink"><b><a href="#cite_ref-3">^</a></b></span> <span class="reference-text"> <link rel="mw-deduplicated-inline-style" href="mw-data:TemplateStyles:r1238218222"><cite id="CITEREFLindsey1998" class="citation journal cs1"><a href="/wiki/Charles_H._Lindsey" title="Charles H. Lindsey">Lindsey, C. H.</a> (August 1998). <a rel="nofollow" class="external text" href="http://dl.acm.org/citation.cfm?id=1061807">"Survey of Viable ALGOL 68 Implementations"</a>. <i>ALGOL Bulletin</i> (52): 5–8. <a href="/wiki/ISSN_(identifier)" class="mw-redirect" title="ISSN (identifier)">ISSN</a> <a rel="nofollow" class="external text" href="https://search.worldcat.org/issn/0084-6198">0084-6198</a>.</cite><span title="ctx_ver=Z39.88-2004&rft_val_fmt=info%3Aofi%2Ffmt%3Akev%3Amtx%3Ajournal&rft.genre=article&rft.jtitle=ALGOL+Bulletin&rft.atitle=Survey+of+Viable+ALGOL+68+Implementations&rft.issue=52&rft.pages=5-8&rft.date=1998-08&rft.issn=0084-6198&rft.aulast=Lindsey&rft.aufirst=C.+H.&rft_id=http%3A%2F%2Fdl.acm.org%2Fcitation.cfm%3Fid%3D1061807&rfr_id=info%3Asid%2Fen.wikipedia.org%3AALGOL+68RS" class="Z3988"></span></span> </li> <li id="cite_note-4"><span class="mw-cite-backlink"><b><a href="#cite_ref-4">^</a></b></span> <span class="reference-text"> <link rel="mw-deduplicated-inline-style" href="mw-data:TemplateStyles:r1238218222"><cite class="citation web cs1"><a rel="nofollow" class="external text" href="http://www.multicians.org/site-avon.html">"Multics Site History: Avon"</a>.</cite><span title="ctx_ver=Z39.88-2004&rft_val_fmt=info%3Aofi%2Ffmt%3Akev%3Amtx%3Abook&rft.genre=unknown&rft.btitle=Multics+Site+History%3A+Avon&rft_id=http%3A%2F%2Fwww.multicians.org%2Fsite-avon.html&rfr_id=info%3Asid%2Fen.wikipedia.org%3AALGOL+68RS" class="Z3988"></span></span> </li> <li id="cite_note-5"><span class="mw-cite-backlink"><b><a href="#cite_ref-5">^</a></b></span> <span class="reference-text"> <link rel="mw-deduplicated-inline-style" href="mw-data:TemplateStyles:r1238218222"><cite id="CITEREFLindsey1980" class="citation journal cs1"><a href="/wiki/Charles_H._Lindsey" title="Charles H. Lindsey">Lindsey, C. H.</a> (December 1980). <a rel="nofollow" class="external text" href="http://dl.acm.org/citation.cfm?id=1061755">"ALGOL 68 Implementations: The ICL 2900 Compiler"</a>. <i>ALGOL Bulletin</i> (46): 7–8. <a href="/wiki/ISSN_(identifier)" class="mw-redirect" title="ISSN (identifier)">ISSN</a> <a rel="nofollow" class="external text" href="https://search.worldcat.org/issn/0084-6198">0084-6198</a>.</cite><span title="ctx_ver=Z39.88-2004&rft_val_fmt=info%3Aofi%2Ffmt%3Akev%3Amtx%3Ajournal&rft.genre=article&rft.jtitle=ALGOL+Bulletin&rft.atitle=ALGOL+68+Implementations%3A+The+ICL+2900+Compiler&rft.issue=46&rft.pages=7-8&rft.date=1980-12&rft.issn=0084-6198&rft.aulast=Lindsey&rft.aufirst=C.+H.&rft_id=http%3A%2F%2Fdl.acm.org%2Fcitation.cfm%3Fid%3D1061755&rfr_id=info%3Asid%2Fen.wikipedia.org%3AALGOL+68RS" class="Z3988"></span></span> </li> <li id="cite_note-6"><span class="mw-cite-backlink"><b><a href="#cite_ref-6">^</a></b></span> <span class="reference-text"><link rel="mw-deduplicated-inline-style" href="mw-data:TemplateStyles:r1238218222"><cite id="CITEREFvan_der_VeerNevilleDNZ" class="citation web cs1">van der Veer, Marcel; NevilleDNZ. <a rel="nofollow" class="external text" href="http://sourceforge.net/projects/algol68/files/algol68toc/">"Open source ALGOL 68 implementations"</a>. <i>SourceForge</i><span class="reference-accessdate">. Retrieved <span class="nowrap">18 September</span> 2020</span>.</cite><span title="ctx_ver=Z39.88-2004&rft_val_fmt=info%3Aofi%2Ffmt%3Akev%3Amtx%3Ajournal&rft.genre=unknown&rft.jtitle=SourceForge&rft.atitle=Open+source+ALGOL+68+implementations&rft.aulast=van+der+Veer&rft.aufirst=Marcel&rft.au=NevilleDNZ&rft_id=http%3A%2F%2Fsourceforge.net%2Fprojects%2Falgol68%2Ffiles%2Falgol68toc%2F&rfr_id=info%3Asid%2Fen.wikipedia.org%3AALGOL+68RS" class="Z3988"></span></span> </li> </ol></div></div> <div class="navbox-styles"><style data-mw-deduplicate="TemplateStyles:r1129693374">.mw-parser-output .hlist dl,.mw-parser-output .hlist ol,.mw-parser-output .hlist ul{margin:0;padding:0}.mw-parser-output .hlist dd,.mw-parser-output .hlist dt,.mw-parser-output .hlist li{margin:0;display:inline}.mw-parser-output .hlist.inline,.mw-parser-output .hlist.inline dl,.mw-parser-output .hlist.inline ol,.mw-parser-output .hlist.inline ul,.mw-parser-output .hlist dl dl,.mw-parser-output .hlist dl ol,.mw-parser-output .hlist dl ul,.mw-parser-output .hlist ol dl,.mw-parser-output .hlist ol ol,.mw-parser-output .hlist ol ul,.mw-parser-output .hlist ul dl,.mw-parser-output .hlist ul ol,.mw-parser-output .hlist ul ul{display:inline}.mw-parser-output .hlist .mw-empty-li{display:none}.mw-parser-output .hlist dt::after{content:": "}.mw-parser-output .hlist dd::after,.mw-parser-output .hlist li::after{content:" · ";font-weight:bold}.mw-parser-output .hlist dd:last-child::after,.mw-parser-output .hlist dt:last-child::after,.mw-parser-output .hlist li:last-child::after{content:none}.mw-parser-output .hlist dd dd:first-child::before,.mw-parser-output .hlist dd dt:first-child::before,.mw-parser-output .hlist dd li:first-child::before,.mw-parser-output .hlist dt dd:first-child::before,.mw-parser-output .hlist dt dt:first-child::before,.mw-parser-output .hlist dt li:first-child::before,.mw-parser-output .hlist li dd:first-child::before,.mw-parser-output .hlist li dt:first-child::before,.mw-parser-output .hlist li li:first-child::before{content:" (";font-weight:normal}.mw-parser-output .hlist dd dd:last-child::after,.mw-parser-output .hlist dd dt:last-child::after,.mw-parser-output .hlist dd li:last-child::after,.mw-parser-output .hlist dt dd:last-child::after,.mw-parser-output .hlist dt dt:last-child::after,.mw-parser-output .hlist dt li:last-child::after,.mw-parser-output .hlist li dd:last-child::after,.mw-parser-output .hlist li dt:last-child::after,.mw-parser-output .hlist li li:last-child::after{content:")";font-weight:normal}.mw-parser-output .hlist ol{counter-reset:listitem}.mw-parser-output .hlist ol>li{counter-increment:listitem}.mw-parser-output .hlist ol>li::before{content:" "counter(listitem)"\a0 "}.mw-parser-output .hlist dd ol>li:first-child::before,.mw-parser-output .hlist dt ol>li:first-child::before,.mw-parser-output .hlist li ol>li:first-child::before{content:" ("counter(listitem)"\a0 "}</style><style data-mw-deduplicate="TemplateStyles:r1236075235">.mw-parser-output .navbox{box-sizing:border-box;border:1px solid #a2a9b1;width:100%;clear:both;font-size:88%;text-align:center;padding:1px;margin:1em auto 0}.mw-parser-output .navbox .navbox{margin-top:0}.mw-parser-output .navbox+.navbox,.mw-parser-output .navbox+.navbox-styles+.navbox{margin-top:-1px}.mw-parser-output .navbox-inner,.mw-parser-output .navbox-subgroup{width:100%}.mw-parser-output .navbox-group,.mw-parser-output .navbox-title,.mw-parser-output .navbox-abovebelow{padding:0.25em 1em;line-height:1.5em;text-align:center}.mw-parser-output .navbox-group{white-space:nowrap;text-align:right}.mw-parser-output .navbox,.mw-parser-output .navbox-subgroup{background-color:#fdfdfd}.mw-parser-output .navbox-list{line-height:1.5em;border-color:#fdfdfd}.mw-parser-output .navbox-list-with-group{text-align:left;border-left-width:2px;border-left-style:solid}.mw-parser-output tr+tr>.navbox-abovebelow,.mw-parser-output tr+tr>.navbox-group,.mw-parser-output tr+tr>.navbox-image,.mw-parser-output tr+tr>.navbox-list{border-top:2px solid #fdfdfd}.mw-parser-output .navbox-title{background-color:#ccf}.mw-parser-output .navbox-abovebelow,.mw-parser-output .navbox-group,.mw-parser-output .navbox-subgroup .navbox-title{background-color:#ddf}.mw-parser-output .navbox-subgroup .navbox-group,.mw-parser-output .navbox-subgroup .navbox-abovebelow{background-color:#e6e6ff}.mw-parser-output .navbox-even{background-color:#f7f7f7}.mw-parser-output .navbox-odd{background-color:transparent}.mw-parser-output .navbox .hlist td dl,.mw-parser-output .navbox .hlist td ol,.mw-parser-output .navbox .hlist td ul,.mw-parser-output .navbox td.hlist dl,.mw-parser-output .navbox td.hlist ol,.mw-parser-output .navbox td.hlist ul{padding:0.125em 0}.mw-parser-output .navbox .navbar{display:block;font-size:100%}.mw-parser-output .navbox-title .navbar{float:left;text-align:left;margin-right:0.5em}body.skin--responsive .mw-parser-output .navbox-image img{max-width:none!important}@media print{body.ns-0 .mw-parser-output .navbox{display:none!important}}</style></div><div role="navigation" class="navbox" aria-labelledby="ALGOL_programming" style="padding:3px"><table class="nowraplinks hlist mw-collapsible mw-collapsed navbox-inner" style="border-spacing:0;background:transparent;color:inherit"><tbody><tr><th scope="col" class="navbox-title" colspan="2"><link rel="mw-deduplicated-inline-style" href="mw-data:TemplateStyles:r1129693374"><style data-mw-deduplicate="TemplateStyles:r1239400231">.mw-parser-output .navbar{display:inline;font-size:88%;font-weight:normal}.mw-parser-output .navbar-collapse{float:left;text-align:left}.mw-parser-output .navbar-boxtext{word-spacing:0}.mw-parser-output .navbar ul{display:inline-block;white-space:nowrap;line-height:inherit}.mw-parser-output .navbar-brackets::before{margin-right:-0.125em;content:"[ "}.mw-parser-output .navbar-brackets::after{margin-left:-0.125em;content:" ]"}.mw-parser-output .navbar li{word-spacing:-0.125em}.mw-parser-output .navbar a>span,.mw-parser-output .navbar a>abbr{text-decoration:inherit}.mw-parser-output .navbar-mini abbr{font-variant:small-caps;border-bottom:none;text-decoration:none;cursor:inherit}.mw-parser-output .navbar-ct-full{font-size:114%;margin:0 7em}.mw-parser-output .navbar-ct-mini{font-size:114%;margin:0 4em}html.skin-theme-clientpref-night .mw-parser-output .navbar li a abbr{color:var(--color-base)!important}@media(prefers-color-scheme:dark){html.skin-theme-clientpref-os .mw-parser-output .navbar li a abbr{color:var(--color-base)!important}}@media print{.mw-parser-output .navbar{display:none!important}}</style><div class="navbar plainlinks hlist navbar-mini"><ul><li class="nv-view"><a href="/wiki/Template:ALGOL_programming" title="Template:ALGOL programming"><abbr title="View this template">v</abbr></a></li><li class="nv-talk"><a href="/wiki/Template_talk:ALGOL_programming" title="Template talk:ALGOL programming"><abbr title="Discuss this template">t</abbr></a></li><li class="nv-edit"><a href="/wiki/Special:EditPage/Template:ALGOL_programming" title="Special:EditPage/Template:ALGOL programming"><abbr title="Edit this template">e</abbr></a></li></ul></div><div id="ALGOL_programming" style="font-size:114%;margin:0 4em"><a href="/wiki/ALGOL" title="ALGOL">ALGOL</a> programming</div></th></tr><tr><th scope="row" class="navbox-group" style="width:1%"><a href="/wiki/Programming_language_implementation" title="Programming language implementation">Implementations</a></th><td class="navbox-list-with-group navbox-list navbox-odd" style="width:100%;padding:0"><div style="padding:0 0.25em"></div><table class="nowraplinks navbox-subgroup" style="border-spacing:0"><tbody><tr><th scope="row" class="navbox-group" style="width:1%"><a href="/wiki/Technical_standard" title="Technical standard">Technical<br />standards</a></th><td class="navbox-list-with-group navbox-list navbox-odd" style="width:100%;padding:0"><div style="padding:0 0.25em"> <ul><li><a href="/wiki/ALGOL_58" title="ALGOL 58">ALGOL 58</a></li> <li><a href="/wiki/ALGOL_60" title="ALGOL 60">ALGOL 60</a></li> <li><a href="/wiki/ALGOL_68" title="ALGOL 68">ALGOL 68</a></li></ul> </div></td></tr><tr><th scope="row" class="navbox-group" style="width:1%"><a href="/wiki/Dialect_(computing)" class="mw-redirect" title="Dialect (computing)">Dialects</a></th><td class="navbox-list-with-group navbox-list navbox-even" style="width:100%;padding:0"><div style="padding:0 0.25em"> <ul><li><a href="/wiki/ABC_ALGOL" title="ABC ALGOL">ABC ALGOL</a></li> <li><a href="/wiki/ALCOR" title="ALCOR">ALCOR</a></li> <li><a href="/wiki/ALGO" title="ALGO">ALGO</a></li> <li><a href="/wiki/ALGOL_68C" title="ALGOL 68C">ALGOL 68C</a></li> <li><a href="/wiki/ALGOL_68-R" title="ALGOL 68-R">ALGOL 68-R</a></li> <li><a class="mw-selflink selflink">ALGOL 68RS</a> (<a href="/wiki/ELLA_(programming_language)" title="ELLA (programming language)">ELLA</a>)</li> <li><a href="/wiki/ALGOL_68S" title="ALGOL 68S">ALGOL 68S</a></li> <li><a href="/wiki/ALGOL_N" title="ALGOL N">ALGOL N</a></li> <li><a href="/wiki/ALGOL_W" title="ALGOL W">ALGOL W</a></li> <li><a href="/wiki/ALGOL_X" title="ALGOL X">ALGOL X</a></li> <li><a href="/wiki/Atlas_Autocode" title="Atlas Autocode">Atlas Autocode</a> (<a href="/wiki/Edinburgh_IMP" title="Edinburgh IMP">Edinburgh IMP</a>)</li> <li><a href="/wiki/Burroughs_Large_Systems#ALGOL" title="Burroughs Large Systems">Burroughs ALGOL</a></li> <li><a href="/wiki/CORAL" title="CORAL">CORAL</a> 66</li> <li><a href="/wiki/Dartmouth_ALGOL_30" title="Dartmouth ALGOL 30">Dartmouth ALGOL 30</a></li> <li><a href="/wiki/DASK" title="DASK">DASK</a> ALGOL</li> <li><a href="/wiki/DG/L" title="DG/L">DG/L</a></li> <li><a href="/wiki/Elliott_ALGOL" title="Elliott ALGOL">Elliott ALGOL</a></li> <li><a href="/wiki/Executive_Systems_Problem_Oriented_Language" title="Executive Systems Problem Oriented Language">Executive Systems Problem Oriented Language</a> (ESPOL) → New Executive Programming Language (<a href="/wiki/NEWP" title="NEWP">NEWP</a>)</li> <li><a href="/wiki/FLACC" title="FLACC">FLACC</a></li> <li><a href="/wiki/IMP_(programming_language)" title="IMP (programming language)">IMP</a></li> <li><a href="/wiki/JOVIAL" title="JOVIAL">JOVIAL</a></li> <li><a href="/wiki/English_Electric_KDF9" title="English Electric KDF9">Kidsgrove</a> Algol</li> <li><a href="/wiki/MAD_(programming_language)" title="MAD (programming language)">MAD</a></li> <li><a href="/wiki/Mary_(programming_language)" title="Mary (programming language)">Mary</a></li> <li><a href="/wiki/NELIAC" title="NELIAC">NELIAC</a></li> <li><a href="/wiki/RTL/2" title="RTL/2">RTL/2</a></li> <li><a href="/wiki/S-algol" title="S-algol">S-algol</a>, <a href="/wiki/PS-algol" title="PS-algol">PS-algol</a>, <a href="/wiki/Napier88" title="Napier88">Napier88</a></li> <li><a href="/wiki/Simula" title="Simula">Simula</a></li> <li>Small Machine ALGOL Like Language (<a href="/wiki/SMALL" title="SMALL">SMALL</a>)</li> <li><a href="/wiki/SMIL_(computer)" title="SMIL (computer)">SMIL</a> ALGOL</li></ul> </div></td></tr><tr><th scope="row" class="navbox-group" style="width:1%"><a href="/wiki/Formalism_(philosophy_of_mathematics)" title="Formalism (philosophy of mathematics)">Formalisms</a></th><td class="navbox-list-with-group navbox-list navbox-odd" style="width:100%;padding:0"><div style="padding:0 0.25em"> <ul><li><a href="/wiki/Jensen%27s_device" title="Jensen's device">Jensen's device</a></li> <li><a href="/wiki/Van_Wijngaarden_grammar" title="Van Wijngaarden grammar">Van Wijngaarden grammar</a></li></ul> </div></td></tr></tbody></table><div></div></td></tr><tr><th scope="row" class="navbox-group" style="width:1%"><a href="/wiki/Community_of_practice" title="Community of practice">Community</a></th><td class="navbox-list-with-group navbox-list navbox-odd" style="width:100%;padding:0"><div style="padding:0 0.25em"></div><table class="nowraplinks navbox-subgroup" style="border-spacing:0"><tbody><tr><th scope="row" class="navbox-group" style="width:1%">Organizations</th><td class="navbox-list-with-group navbox-list navbox-odd" style="width:100%;padding:0"><div style="padding:0 0.25em"></div><table class="nowraplinks navbox-subgroup" style="border-spacing:0"><tbody><tr><th scope="row" class="navbox-group" style="width:1%"><a href="/wiki/Professional_association" title="Professional association">Professional<br />associations</a></th><td class="navbox-list-with-group navbox-list navbox-even" style="width:100%;padding:0"><div style="padding:0 0.25em"> <ul><li><a href="/wiki/ALCOR" title="ALCOR">ALCOR</a> Group</li> <li><a href="/wiki/Association_for_Computing_Machinery" title="Association for Computing Machinery">Association for Computing Machinery</a> (ACM)</li> <li><a href="/wiki/BSI_Group" title="BSI Group">BSI Group</a></li> <li><a href="/wiki/GOST" title="GOST">Euro-Asian Council for Standardization, Metrology and Certification</a> (EASC)</li> <li><a href="/wiki/International_Federation_for_Information_Processing" title="International Federation for Information Processing">International Federation for Information Processing</a> (IFIP) <a href="/wiki/IFIP_Working_Group_2.1" title="IFIP Working Group 2.1">IFIP Working Group 2.1</a></li> <li><a href="/wiki/Gesellschaft_f%C3%BCr_Angewandte_Mathematik_und_Mechanik" title="Gesellschaft für Angewandte Mathematik und Mechanik">Society of Applied Mathematics and Mechanics</a> (GAMM)</li></ul> </div></td></tr><tr><th scope="row" class="navbox-group" style="width:1%">Business</th><td class="navbox-list-with-group navbox-list navbox-odd" style="width:100%;padding:0"><div style="padding:0 0.25em"> <ul><li><a href="/wiki/Burroughs_Corporation" title="Burroughs Corporation">Burroughs Corporation</a></li> <li><a href="/wiki/Elliott_Brothers_(computer_company)" title="Elliott Brothers (computer company)">Elliott Brothers</a></li> <li><a href="/wiki/Regnecentralen" title="Regnecentralen">Regnecentralen</a></li></ul> </div></td></tr><tr><th scope="row" class="navbox-group" style="width:1%">Education</th><td class="navbox-list-with-group navbox-list navbox-even" style="width:100%;padding:0"><div style="padding:0 0.25em"> <ul><li><a href="/wiki/Case_Western_Reserve_University" title="Case Western Reserve University">Case Institute of Technology</a></li> <li><a href="/wiki/University_of_Edinburgh" title="University of Edinburgh">University of Edinburgh</a></li> <li><a href="/wiki/University_of_St_Andrews" title="University of St Andrews">University of St Andrews</a></li> <li><a href="/wiki/Manchester_University" class="mw-redirect" title="Manchester University">Manchester University</a></li> <li><a href="/wiki/Massachusetts_Institute_of_Technology" title="Massachusetts Institute of Technology">Massachusetts Institute of Technology</a> (MIT)</li></ul> </div></td></tr><tr><th scope="row" class="navbox-group" style="width:1%">Government</th><td class="navbox-list-with-group navbox-list navbox-odd" style="width:100%;padding:0"><div style="padding:0 0.25em"> <ul><li><a href="/wiki/Royal_Radar_Establishment" title="Royal Radar Establishment">Royal Radar Establishment</a> (RRE)</li></ul> </div></td></tr></tbody></table><div></div></td></tr><tr><th scope="row" class="navbox-group" style="width:1%">People</th><td class="navbox-list-with-group navbox-list navbox-odd" style="width:100%;padding:0"><div style="padding:0 0.25em"></div><table class="nowraplinks navbox-subgroup" style="border-spacing:0"><tbody><tr><th scope="row" class="navbox-group" style="width:1%"><a href="/wiki/ALGOL_58" title="ALGOL 58">ALGOL 58</a></th><td class="navbox-list-with-group navbox-list navbox-odd" style="width:100%;padding:0"><div style="padding:0 0.25em"></div><table class="nowraplinks navbox-subgroup" style="border-spacing:0"><tbody><tr><td colspan="2" class="navbox-list navbox-even" style="width:100%;padding:0"><div style="padding:0 0.25em"> <ul><li><a href="/wiki/John_Backus" title="John Backus">John Backus</a></li> <li><a href="/wiki/Friedrich_L._Bauer" title="Friedrich L. Bauer">Friedrich L. Bauer</a></li> <li><a href="/wiki/Hermann_Bottenbruch" title="Hermann Bottenbruch">Hermann Bottenbruch</a></li> <li><a href="/wiki/Charles_Katz" title="Charles Katz">Charles Katz</a></li> <li><a href="/wiki/Alan_Perlis" title="Alan Perlis">Alan Perlis</a></li> <li><a href="/wiki/Heinz_Rutishauser" title="Heinz Rutishauser">Heinz Rutishauser</a></li> <li><a href="/wiki/Klaus_Samelson" title="Klaus Samelson">Klaus Samelson</a></li> <li><a href="/wiki/Joseph_Henry_Wegstein" title="Joseph Henry Wegstein">Joseph Henry Wegstein</a></li></ul> </div></td></tr><tr><th scope="row" class="navbox-group" style="width:1%"><a href="/wiki/MAD_(programming_language)" title="MAD (programming language)">MAD</a></th><td class="navbox-list-with-group navbox-list navbox-odd" style="width:100%;padding:0"><div style="padding:0 0.25em"> <ul><li><a href="/wiki/Bruce_Arden" title="Bruce Arden">Bruce Arden</a></li> <li><a href="/wiki/Bernard_Galler" title="Bernard Galler">Bernard Galler</a></li> <li><a href="/wiki/Robert_M._Graham_(computer_scientist)" title="Robert M. Graham (computer scientist)">Robert M. Graham</a></li></ul> </div></td></tr></tbody></table><div></div></td></tr><tr><th scope="row" class="navbox-group" style="width:1%"><a href="/wiki/ALGOL_60" title="ALGOL 60">ALGOL 60</a></th><td class="navbox-list-with-group navbox-list navbox-odd" style="width:100%;padding:0"><div style="padding:0 0.25em"></div><table class="nowraplinks navbox-subgroup" style="border-spacing:0"><tbody><tr><td colspan="2" class="navbox-list navbox-even" style="width:100%;padding:0"><div style="padding:0 0.25em"> <ul><li>Backus^</li> <li><a href="/wiki/Roland_Carl_Backhouse" title="Roland Carl Backhouse">Roland Carl Backhouse</a></li> <li>Bauer^</li> <li><a href="/wiki/Richard_Bird_(computer_scientist)" title="Richard Bird (computer scientist)">Richard Bird</a></li> <li><a href="/wiki/Stephen_R._Bourne" title="Stephen R. Bourne">Stephen R. Bourne</a></li> <li><a href="/wiki/Edsger_W._Dijkstra" title="Edsger W. Dijkstra">Edsger W. Dijkstra</a></li> <li><a href="/wiki/Andrey_Ershov" class="mw-redirect" title="Andrey Ershov">Andrey Ershov</a></li> <li><a href="/wiki/Robert_W._Floyd" title="Robert W. Floyd">Robert W. Floyd</a></li> <li><a href="/wiki/Jeremy_Gibbons" title="Jeremy Gibbons">Jeremy Gibbons</a></li> <li>Julien Green</li> <li><a href="/wiki/David_Gries" title="David Gries">David Gries</a></li> <li><a href="/wiki/Eric_Hehner" title="Eric Hehner">Eric Hehner</a></li> <li><a href="/wiki/Tony_Hoare" title="Tony Hoare">Tony Hoare</a></li> <li><a href="/wiki/J%C3%B8rn_Jensen" title="Jørn Jensen">Jørn Jensen</a></li> <li>Katz^</li> <li><a href="/wiki/Peter_Landin" title="Peter Landin">Peter Landin</a></li> <li><a href="/wiki/Tom_Maibaum" title="Tom Maibaum">Tom Maibaum</a></li> <li><a href="/wiki/Conor_McBride" title="Conor McBride">Conor McBride</a></li> <li><a href="/wiki/John_McCarthy_(computer_scientist)" title="John McCarthy (computer scientist)">John McCarthy</a></li> <li><a href="/wiki/Carroll_Morgan_(computer_scientist)" title="Carroll Morgan (computer scientist)">Carroll Morgan</a></li> <li><a href="/wiki/Peter_Naur" title="Peter Naur">Peter Naur</a></li> <li><a href="/wiki/Maurice_Nivat" title="Maurice Nivat">Maurice Nivat</a></li> <li><a href="/wiki/John_E._L._Peck" title="John E. L. Peck">John E. L. Peck</a></li> <li>Perlis^</li> <li><a href="/wiki/Brian_Randell" title="Brian Randell">Brian Randell</a></li> <li>Rutishauser^</li> <li>Samelson^</li> <li><a href="/wiki/Jacob_T._Schwartz" title="Jacob T. Schwartz">Jacob T. Schwartz</a></li> <li><a href="/wiki/Micha_Sharir" title="Micha Sharir">Micha Sharir</a></li> <li><a href="/wiki/David_Turner_(computer_scientist)" title="David Turner (computer scientist)">David Turner</a></li> <li><a href="/wiki/Bernard_Vauquois" title="Bernard Vauquois">Bernard Vauquois</a></li> <li><a href="/wiki/Eiiti_Wada" title="Eiiti Wada">Eiiti Wada</a></li> <li>Wegstein^</li> <li><a href="/wiki/Adriaan_van_Wijngaarden" title="Adriaan van Wijngaarden">Adriaan van Wijngaarden</a></li> <li><a href="/wiki/Mike_Woodger" title="Mike Woodger">Mike Woodger</a></li></ul> </div></td></tr><tr><th scope="row" class="navbox-group" style="width:1%"><a href="/wiki/Simula" title="Simula">Simula</a></th><td class="navbox-list-with-group navbox-list navbox-odd" style="width:100%;padding:0"><div style="padding:0 0.25em"> <ul><li><a href="/wiki/Ole-Johan_Dahl" title="Ole-Johan Dahl">Ole-Johan Dahl</a></li> <li><a href="/wiki/Kristen_Nygaard" title="Kristen Nygaard">Kristen Nygaard</a></li></ul> </div></td></tr></tbody></table><div></div></td></tr><tr><th scope="row" class="navbox-group" style="width:1%"><a href="/wiki/ALGOL_68" title="ALGOL 68">ALGOL 68</a></th><td class="navbox-list-with-group navbox-list navbox-even" style="width:100%;padding:0"><div style="padding:0 0.25em"> <ul><li>Bauer^</li> <li><a href="/wiki/Susan_G._Bond" title="Susan G. Bond">Susan G. Bond</a></li> <li>Bourne^</li> <li><a href="/wiki/Robert_Dewar" title="Robert Dewar">Robert Dewar</a></li> <li>Dijkstra^</li> <li><a href="https://de.wikipedia.org/wiki/Gerhard_Goos" class="extiw" title="de:Gerhard Goos">Gerhard Goos</a></li> <li><a href="/wiki/Michael_Guy" title="Michael Guy">Michael Guy</a></li> <li>Hoare^</li> <li><a href="/wiki/Cornelis_H._A._Koster" title="Cornelis H. A. Koster">Cornelis H. A. Koster</a></li> <li><a href="/wiki/Peter_Landin" title="Peter Landin">Peter Landin</a></li> <li><a href="/wiki/Charles_H._Lindsey" title="Charles H. Lindsey">Charles H. Lindsey</a></li> <li><a href="/wiki/Barry_J._Mailloux" title="Barry J. Mailloux">Barry J. Mailloux</a></li> <li>McCarthy^</li> <li><a href="/wiki/Lambert_Meertens" title="Lambert Meertens">Lambert Meertens</a></li> <li>Naur^</li> <li>Peck^</li> <li><a href="/wiki/Willem_van_der_Poel" title="Willem van der Poel">Willem van der Poel</a></li> <li>Randell^</li> <li><a href="/wiki/Douglas_T._Ross" title="Douglas T. Ross">Douglas T. Ross</a></li> <li>Samelson^</li> <li><a href="/wiki/Michel_Sintzoff" title="Michel Sintzoff">Michel Sintzoff</a></li> <li>van Wijngaarden^</li> <li><a href="/wiki/Niklaus_Wirth" title="Niklaus Wirth">Niklaus Wirth</a></li> <li>Woodger^</li> <li><a href="/wiki/Philip_Woodward" title="Philip Woodward">Philip Woodward</a></li> <li><a href="/wiki/Nobuo_Yoneda" title="Nobuo Yoneda">Nobuo Yoneda</a></li></ul> </div></td></tr></tbody></table><div> <ul><li><a href="/wiki/Hal_Abelson" title="Hal Abelson">Hal Abelson</a></li> <li><a href="/wiki/John_Barnes_(computer_scientist)" title="John Barnes (computer scientist)">John Barnes</a></li> <li><a href="/wiki/Tony_Brooker" title="Tony Brooker">Tony Brooker</a></li> <li><a href="/wiki/Ron_Morrison" title="Ron Morrison">Ron Morrison</a></li> <li><a href="/wiki/Peter_O%27Hearn" title="Peter O'Hearn">Peter O'Hearn</a></li> <li><a href="/wiki/John_C._Reynolds" title="John C. Reynolds">John C. Reynolds</a></li></ul></div></td></tr></tbody></table><div> <ul><li><a href="/wiki/ALGOL_Bulletin" title="ALGOL Bulletin">ALGOL Bulletin</a></li></ul></div></td></tr><tr><th scope="row" class="navbox-group" style="width:1%">Comparison</th><td class="navbox-list-with-group navbox-list navbox-odd" style="width:100%;padding:0"><div style="padding:0 0.25em"> <li><a href="/wiki/ALGOL_58#ALGOL_58's_influence_on_ALGOL_60" title="ALGOL 58">ALGOL 58 influence on ALGOL 60</a></li> <li><a href="/wiki/ALGOL_68#Comparisons_with_other_languages" title="ALGOL 68">ALGOL 68 to other languages</a></li> <li><a href="/wiki/Comparison_of_ALGOL_68_and_C%2B%2B" title="Comparison of ALGOL 68 and C++">ALGOL 68 to C++</a></li> </div></td></tr><tr><td class="navbox-abovebelow" colspan="2"><div> <ul><li><b>^ = full name and link in prior ALGOL version above</b><br /><span class="noviewer" typeof="mw:File"><span title="Category"><img alt="" src="//upload.wikimedia.org/wikipedia/en/thumb/9/96/Symbol_category_class.svg/16px-Symbol_category_class.svg.png" decoding="async" width="16" height="16" class="mw-file-element" srcset="//upload.wikimedia.org/wikipedia/en/thumb/9/96/Symbol_category_class.svg/23px-Symbol_category_class.svg.png 1.5x, //upload.wikimedia.org/wikipedia/en/thumb/9/96/Symbol_category_class.svg/31px-Symbol_category_class.svg.png 2x" data-file-width="180" data-file-height="185" /></span></span> <b><a href="/wiki/Category:Algol_programming_language_family" title="Category:Algol programming language family">Category: ALGOL</a></b> <span class="noviewer" typeof="mw:File"><span title="Category"><img alt="" src="//upload.wikimedia.org/wikipedia/en/thumb/9/96/Symbol_category_class.svg/16px-Symbol_category_class.svg.png" decoding="async" width="16" height="16" class="mw-file-element" srcset="//upload.wikimedia.org/wikipedia/en/thumb/9/96/Symbol_category_class.svg/23px-Symbol_category_class.svg.png 1.5x, //upload.wikimedia.org/wikipedia/en/thumb/9/96/Symbol_category_class.svg/31px-Symbol_category_class.svg.png 2x" data-file-width="180" data-file-height="185" /></span></span> <b><a href="/wiki/Category:ALGOL_60" title="Category:ALGOL 60">Category: ALGOL 60</a></b></li></ul> </div></td></tr></tbody></table></div> <!-- NewPP limit report Parsed by mw‐api‐ext.codfw.canary‐77b4fd9bbf‐6wwb6 Cached time: 20241124094610 Cache expiry: 569641 Reduced expiry: true Complications: [vary‐revision‐sha1, show‐toc] CPU time usage: 0.491 seconds Real time usage: 0.601 seconds Preprocessor visited node count: 2113/1000000 Post‐expand include size: 80570/2097152 bytes Template argument size: 2726/2097152 bytes Highest expansion depth: 27/100 Expensive parser function count: 5/500 Unstrip recursion depth: 1/20 Unstrip post‐expand size: 31686/5000000 bytes Lua time usage: 0.282/10.000 seconds Lua memory usage: 4570946/52428800 bytes Number of Wikibase entities loaded: 1/400 --> <!-- Transclusion expansion time report (%,ms,calls,template) 100.00% 513.966 1 -total 34.63% 177.991 7 Template:Navbox 32.27% 165.880 1 Template:Reflist 32.19% 165.467 2 Template:Infobox 30.25% 155.459 1 Template:ALGOL_programming 24.36% 125.206 1 Template:Infobox_software 23.93% 122.987 3 Template:Cite_journal 10.50% 53.980 1 Template:Infobox_software/simple 10.11% 51.958 1 Template:Use_dmy_dates 7.20% 36.997 2 Template:Start_date_and_age --> <!-- Saved in parser cache with key enwiki:pcache:11484532:|#|:idhash:canonical and timestamp 20241124094610 and revision id 1188529418. Rendering was triggered because: api-parse --> </div><!--esi <esi:include src="/esitest-fa8a495983347898/content" /> --><noscript><img src="https://login.wikimedia.org/wiki/Special:CentralAutoLogin/start?type=1x1" alt="" width="1" height="1" style="border: none; position: absolute;"></noscript> <div class="printfooter" data-nosnippet="">Retrieved from "<a dir="ltr" href="https://en.wikipedia.org/w/index.php?title=ALGOL_68RS&oldid=1188529418">https://en.wikipedia.org/w/index.php?title=ALGOL_68RS&oldid=1188529418</a>"</div></div> <div id="catlinks" class="catlinks" data-mw="interface"><div id="mw-normal-catlinks" class="mw-normal-catlinks"><a href="/wiki/Help:Category" title="Help:Category">Categories</a>: <ul><li><a href="/wiki/Category:ALGOL_68_implementation" title="Category:ALGOL 68 implementation">ALGOL 68 implementation</a></li><li><a href="/wiki/Category:History_of_computing_in_the_United_Kingdom" title="Category:History of computing in the United Kingdom">History of computing in the United Kingdom</a></li></ul></div><div id="mw-hidden-catlinks" class="mw-hidden-catlinks mw-hidden-cats-hidden">Hidden categories: <ul><li><a href="/wiki/Category:Use_dmy_dates_from_September_2020" title="Category:Use dmy dates from September 2020">Use dmy dates from September 2020</a></li><li><a href="/wiki/Category:Articles_containing_potentially_dated_statements_from_September_2020" title="Category:Articles containing potentially dated statements from September 2020">Articles containing potentially dated statements from September 2020</a></li><li><a href="/wiki/Category:All_articles_containing_potentially_dated_statements" title="Category:All articles containing potentially dated statements">All articles containing potentially dated statements</a></li></ul></div></div> </div> </main> </div> <div class="mw-footer-container"> <footer id="footer" class="mw-footer" > <ul id="footer-info"> <li id="footer-info-lastmod"> This page was last edited on 6 December 2023, at 00:35<span class="anonymous-show"> (UTC)</span>.</li> <li id="footer-info-copyright">Text is available under the <a href="/wiki/Wikipedia:Text_of_the_Creative_Commons_Attribution-ShareAlike_4.0_International_License" title="Wikipedia:Text of the Creative Commons Attribution-ShareAlike 4.0 International License">Creative Commons Attribution-ShareAlike 4.0 License</a>; additional terms may apply. By using this site, you agree to the <a href="https://foundation.wikimedia.org/wiki/Special:MyLanguage/Policy:Terms_of_Use" class="extiw" title="foundation:Special:MyLanguage/Policy:Terms of Use">Terms of Use</a> and <a href="https://foundation.wikimedia.org/wiki/Special:MyLanguage/Policy:Privacy_policy" class="extiw" title="foundation:Special:MyLanguage/Policy:Privacy policy">Privacy Policy</a>. Wikipedia® is a registered trademark of the <a rel="nofollow" class="external text" href="https://wikimediafoundation.org/">Wikimedia Foundation, Inc.</a>, a non-profit organization.</li> </ul> <ul id="footer-places"> <li id="footer-places-privacy"><a href="https://foundation.wikimedia.org/wiki/Special:MyLanguage/Policy:Privacy_policy">Privacy policy</a></li> <li id="footer-places-about"><a href="/wiki/Wikipedia:About">About Wikipedia</a></li> <li id="footer-places-disclaimers"><a href="/wiki/Wikipedia:General_disclaimer">Disclaimers</a></li> <li id="footer-places-contact"><a href="//en.wikipedia.org/wiki/Wikipedia:Contact_us">Contact Wikipedia</a></li> <li id="footer-places-wm-codeofconduct"><a href="https://foundation.wikimedia.org/wiki/Special:MyLanguage/Policy:Universal_Code_of_Conduct">Code of Conduct</a></li> <li id="footer-places-developers"><a href="https://developer.wikimedia.org">Developers</a></li> <li id="footer-places-statslink"><a href="https://stats.wikimedia.org/#/en.wikipedia.org">Statistics</a></li> <li id="footer-places-cookiestatement"><a href="https://foundation.wikimedia.org/wiki/Special:MyLanguage/Policy:Cookie_statement">Cookie statement</a></li> <li id="footer-places-mobileview"><a href="//en.m.wikipedia.org/w/index.php?title=ALGOL_68RS&mobileaction=toggle_view_mobile" class="noprint stopMobileRedirectToggle">Mobile view</a></li> </ul> <ul id="footer-icons" class="noprint"> <li id="footer-copyrightico"><a href="https://wikimediafoundation.org/" class="cdx-button cdx-button--fake-button cdx-button--size-large cdx-button--fake-button--enabled"><img src="/static/images/footer/wikimedia-button.svg" width="84" height="29" alt="Wikimedia Foundation" loading="lazy"></a></li> <li id="footer-poweredbyico"><a href="https://www.mediawiki.org/" class="cdx-button cdx-button--fake-button cdx-button--size-large cdx-button--fake-button--enabled"><img src="/w/resources/assets/poweredby_mediawiki.svg" alt="Powered by MediaWiki" width="88" height="31" loading="lazy"></a></li> </ul> </footer> </div> </div> </div> <div class="vector-settings" id="p-dock-bottom"> <ul></ul> </div><script>(RLQ=window.RLQ||[]).push(function(){mw.config.set({"wgHostname":"mw-web.codfw.main-f69cdc8f6-qvkwc","wgBackendResponseTime":172,"wgPageParseReport":{"limitreport":{"cputime":"0.491","walltime":"0.601","ppvisitednodes":{"value":2113,"limit":1000000},"postexpandincludesize":{"value":80570,"limit":2097152},"templateargumentsize":{"value":2726,"limit":2097152},"expansiondepth":{"value":27,"limit":100},"expensivefunctioncount":{"value":5,"limit":500},"unstrip-depth":{"value":1,"limit":20},"unstrip-size":{"value":31686,"limit":5000000},"entityaccesscount":{"value":1,"limit":400},"timingprofile":["100.00% 513.966 1 -total"," 34.63% 177.991 7 Template:Navbox"," 32.27% 165.880 1 Template:Reflist"," 32.19% 165.467 2 Template:Infobox"," 30.25% 155.459 1 Template:ALGOL_programming"," 24.36% 125.206 1 Template:Infobox_software"," 23.93% 122.987 3 Template:Cite_journal"," 10.50% 53.980 1 Template:Infobox_software/simple"," 10.11% 51.958 1 Template:Use_dmy_dates"," 7.20% 36.997 2 Template:Start_date_and_age"]},"scribunto":{"limitreport-timeusage":{"value":"0.282","limit":"10.000"},"limitreport-memusage":{"value":4570946,"limit":52428800}},"cachereport":{"origin":"mw-api-ext.codfw.canary-77b4fd9bbf-6wwb6","timestamp":"20241124094610","ttl":569641,"transientcontent":true}}});});</script> <script type="application/ld+json">{"@context":"https:\/\/schema.org","@type":"Article","name":"ALGOL 68RS","url":"https:\/\/en.wikipedia.org\/wiki\/ALGOL_68RS","sameAs":"http:\/\/www.wikidata.org\/entity\/Q4652357","mainEntity":"http:\/\/www.wikidata.org\/entity\/Q4652357","author":{"@type":"Organization","name":"Contributors to Wikimedia projects"},"publisher":{"@type":"Organization","name":"Wikimedia Foundation, Inc.","logo":{"@type":"ImageObject","url":"https:\/\/www.wikimedia.org\/static\/images\/wmf-hor-googpub.png"}},"datePublished":"2007-05-29T12:02:18Z","dateModified":"2023-12-06T00:35:21Z"}</script> </body> </html>