CORAL

Early programming language

Coral 66Paradigms| procedural, imperative, structured

|

Family| ALGOL
Designed by| Philip Woodward, I. F. Currie, M. Griffiths
Developer| Royal Radar Establishment
First appeared| 1964; 60 years ago (1964)
Typing discipline| Static, strong
Scope| Lexical
Implementation language| BCPL
Platform| CTL Modular-1, DEC Alpha, GEC, Ferranti, Honeywell, HPE Integrity Servers, Interdata 8/32, PDP-11, SPARC, VAX, x86, Intel 8080, Zilog Z80, Motorola 68000
OS| OpenVMS,[1] BSD Unix, Linux, Solaris
Influenced by
ALGOL, JOVIAL, Fortran

CORAL, short for Computer On-line Real-time Applications Language is a programming language originally developed in 1964 at the Royal Radar Establishment (RRE), Malvern, Worcestershire, in the United Kingdom.[2] The R was originally for "radar", not "real-time".[3] It was influenced primarily by JOVIAL, and thus ALGOL, but is not a subset of either.

The most widely-known version, CORAL 66, was subsequently developed by I. F. Currie and M. Griffiths under the auspices of the Inter-Establishment Committee for Computer Applications (IECCA). Its official definition, edited by Woodward, Wetherall, and Gorman, was first published in 1970.[4]

In 1971, CORAL was selected by the Ministry of Defence as the language for future military applications and to support this, a standardization program was introduced to ensure CORAL compilers met the specifications. This process was later adopted by the US Department of Defense while defining Ada.

## Overview

[edit]

Coral 66 is a general-purpose programming language based on ALGOL 60, with some features from Coral 64, JOVIAL, and Fortran. It includes structured record types (as in Pascal) and supports the packing of data into limited storage (also as in Pascal). Like Edinburgh IMP it allows inline (embedded) assembly language, and also offers good runtime checking and diagnostics. It is designed for real-time computing and embedded system applications, and for use on computers with limited processing power, including those limited to fixed-point arithmetic and those without support for dynamic storage allocation.

The language was an inter-service standard for British military programming,[5] and was also widely adopted for civil purposes in the British control and automation industry. It was used to write software for both the Ferranti[6] and General Electric Company (GEC) computers from 1971 onwards. Implementations also exist for the Interdata 8/32, PDP-11, VAX and Alpha platforms and HPE Integrity Servers; for the Honeywell, and for the Computer Technology Limited (CTL, later ITL) Modular-1;[7] and for SPARC running Solaris, and Intel running Linux.

Queen Elizabeth II sent the first email from a head of state from the Royal Signals and Radar Establishment over the ARPANET on March 26, 1976. The message read "This message to all ARPANET users announces the availability on ARPANET of the Coral 66 compiler provided by the GEC 4080 computer at the Royal Signals and Radar Establishment, Malvern, England, ... Coral 66 is the standard real-time high level language adopted by the Ministry of Defence."[8][9]

As Coral was aimed at a variety of real-time work, rather than general office data processing, there was no standardised equivalent to a stdio library. IECCA recommended a primitive input/output (I/O) package to accompany any compiler (in a document titled Input/Output of Character data in Coral 66 Utility Programs). Most implementers avoided this by producing Coral interfaces to extant Fortran and, later, C libraries.

CORAL's most significant contribution to computing may have been enforcing quality control in commercial compilers.[7] To have a CORAL compiler approved by IECCA, and thus allowing a compiler to be marketed as a CORAL 66 compiler, the candidate compiler had to compile and execute a standard suite of 25 test programs and 6 benchmark programs. The process was part of the British Standard (BS) 5905 approval process. This methodology was observed and adapted later by the United States Department of Defense for the certification of Ada compilers.

Source code for a Coral 66 compiler (written in BCPL) has been recovered and the Official Definition of Coral 66 document by Her Majesty's Stationery Office (HMSO) has been scanned; the Ministry of Defence patent office has issued a licence to the Edinburgh Computer History project to allow them to put both the code and the language reference online for non-commercial use.

## Variants

[edit]

A variant of Coral 66 named PO-CORAL was developed during the late 1970s to early 1980s by the British General Post Office (GPO), together with GEC, STC and Plessey, for use on the System X digital telephone exchange control computers. This was later renamed BT-CORAL when British Telecom was spun off from the Post Office. Unique features of this language were the focus on real-time execution, message processing, limits on statement execution between waiting for input, and a prohibition on recursion to remove the need for a stack.[citation needed]

## References

[edit]

1. ^ "Gain the advantage with CORAL, CORAL+ and Context" (PDF). DXC Technology. September 2017. Archived (PDF) from the original on 23 January 2021. Retrieved 29 December 2021.
2. ^ FM1600B Microcircuit Computer Ferranti Digital Systems (PDF). Bracknell, Berkshire, UK: Ferranti Limited, Digital Systems Department. October 1968 [September 1968]. List DSD 68/6. Archived (PDF) from the original on 19 May 2020. Retrieved 19 May 2020.
3. ^ Gough, Jack (1993). Watching the skies: a history of ground radar for the air defence of the United Kingdom by the Royal Air Force from 1946 to 1975. HMSO. p. 264\. ISBN 978-0-11-772723-6.
4. ^ Woodward, Philip M. (1970). Official Definition of CORAL 66. Her Majesty's Stationery Office (HMSO). pp. vii+58. ISBN 0114702217 - via Internet Archive.
5. ^ "Coral 66 - Language Reference Manual - Manual - Computing History". www.computinghistory.org.uk. Archived from the original on 31 July 2023. Retrieved 31 July 2023.
6. ^ Gorman, B (June 1978). The Coral 66 Compiler for Ferranti ARGUS 500 Computer (Report). Royal Signals and Radar Establishment. Technical Note 799. Archived from the original on 17 March 2021. Retrieved 17 January 2018.
7. ^ a b "Lucid language may help European computers". New Scientist. 30 November 1972. p. 513. Retrieved 8 April 2019.
8. ^ Metz, Cade (25 December 2012). "How the Queen of England Beat Everyone to the Internet". Wired. ISSN 1059-1028. Retrieved 9 January 2020.
9. ^ Left, Sarah (13 March 2002). "Email timeline". The Guardian. ISSN 0261-3077. Retrieved 9 January 2020.

## External links

[edit]

* CORAL 66 test program extracted from the Test Responder report
* CORAL 66 benchmarks
* BS5905 CORAL 66 Standard
* DEF STAN 05-47
* PDP-11 CORAL/ASM interfacing library
* ECCE editor script to translate CORAL 66 into Edinburgh IMP

* v
* t
* e

ALGOL programming

Implementations|

| Technical
standards|

* ALGOL 58
* ALGOL 60
* ALGOL 68

|

Dialects|

* ABC ALGOL
* ALCOR
* ALGO
* ALGOL 68C
* ALGOL 68-R
* ALGOL 68RS (ELLA)
* ALGOL 68S
* ALGOL N
* ALGOL W
* ALGOL X
* Atlas Autocode (Edinburgh IMP)
* Burroughs ALGOL
* CORAL 66
* Dartmouth ALGOL 30
* DASK ALGOL
* DG/L
* Elliott ALGOL
* Executive Systems Problem Oriented Language (ESPOL) → New Executive Programming Language (NEWP)
* FLACC
* IMP
* JOVIAL
* Kidsgrove Algol
* MAD
* Mary
* NELIAC
* RTL/2
* S-algol, PS-algol, Napier88
* Simula
* Small Machine ALGOL Like Language (SMALL)
* SMIL ALGOL

Formalisms|

* Jensen's device
* Van Wijngaarden grammar

Community|

| Organizations|

| Professional
associations|

* ALCOR Group
* Association for Computing Machinery (ACM)
* BSI Group
* Euro-Asian Council for Standardization, Metrology and Certification (EASC)
* International Federation for Information Processing (IFIP) IFIP Working Group 2.1
* Society of Applied Mathematics and Mechanics (GAMM)

|

Business|

* Burroughs Corporation
* Elliott Brothers
* Regnecentralen

Education|

* Case Institute of Technology
* University of Edinburgh
* University of St Andrews
* Manchester University
* Massachusetts Institute of Technology (MIT)

Government|

* Royal Radar Establishment (RRE)

People|

| ALGOL 58|

* John Backus
* Friedrich L. Bauer
* Hermann Bottenbruch
* Charles Katz
* Alan Perlis
* Heinz Rutishauser
* Klaus Samelson
* Joseph Henry Wegstein

MAD|

* Bruce Arden
* Bernard Galler
* Robert M. Graham

ALGOL 60|

* Backus^
* Roland Carl Backhouse
* Bauer^
* Richard Bird
* Stephen R. Bourne
* Edsger W. Dijkstra
* Andrey Ershov
* Robert W. Floyd
* Jeremy Gibbons
* Julien Green
* David Gries
* Eric Hehner
* Tony Hoare
* Jørn Jensen
* Katz^
* Peter Landin
* Tom Maibaum
* Conor McBride
* John McCarthy
* Carroll Morgan
* Peter Naur
* Maurice Nivat
* John E. L. Peck
* Perlis^
* Brian Randell
* Rutishauser^
* Samelson^
* Jacob T. Schwartz
* Micha Sharir
* David Turner
* Bernard Vauquois
* Eiiti Wada
* Wegstein^
* Adriaan van Wijngaarden
* Mike Woodger

Simula|

* Ole-Johan Dahl
* Kristen Nygaard

ALGOL 68|

* Bauer^
* Susan G. Bond
* Bourne^
* Robert Dewar
* Dijkstra^
* Gerhard Goos
* Michael Guy
* Hoare^
* Cornelis H. A. Koster
* Peter Landin
* Charles H. Lindsey
* Barry J. Mailloux
* McCarthy^
* Lambert Meertens
* Naur^
* Peck^
* Willem van der Poel
* Randell^
* Douglas T. Ross
* Samelson^
* Michel Sintzoff
* van Wijngaarden^
* Niklaus Wirth
* Woodger^
* Philip Woodward
* Nobuo Yoneda

* Hal Abelson
* John Barnes
* Tony Brooker
* Ron Morrison
* Peter O'Hearn
* John C. Reynolds

* ALGOL Bulletin

Comparison|

* ALGOL 58 influence on ALGOL 60
* ALGOL 68 to other languages
* ALGOL 68 to C++

* ^ = full name and link in prior ALGOL version above
Category: ALGOL Category: ALGOL 60

*[v]: View this template
*[t]: Discuss this template
*[e]: Edit this template