CORAL

Last updated

Coral 66
Paradigms procedural, imperative, structured
Family ALGOL
Designed by Philip Woodward, I. F. Currie, M. Griffiths
Developer Royal Radar Establishment
First appeared1964;59 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.

Contents

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

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

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 ]

Related Research Articles

<span class="mw-page-title-main">ALGOL</span> Family of programming languages

ALGOL is a family of imperative computer programming languages originally developed in 1958. ALGOL heavily influenced many other languages and was the standard method for algorithm description used by the Association for Computing Machinery (ACM) in textbooks and academic sources for more than thirty years.

<span class="mw-page-title-main">Fortran</span> General-purpose programming language

Fortran is a general-purpose, compiled imperative programming language that is especially suited to numeric computation and scientific computing.

In computer science, a high-level programming language is a programming language with strong abstraction from the details of the computer. In contrast to low-level programming languages, it may use natural language elements, be easier to use, or may automate significant areas of computing systems, making the process of developing a program simpler and more understandable than when using a lower-level language. The amount of abstraction provided defines how "high-level" a programming language is.

JOVIAL is a high-level programming language based on ALGOL 58, specialized for developing embedded systems. It was a major system programming language through the 1960s and 1970s.

The Royal Radar Establishment was a research centre in Malvern, Worcestershire in the United Kingdom. It was formed in 1953 as the Radar Research Establishment by the merger of the Air Ministry's Telecommunications Research Establishment (TRE) and the British Army's Radar Research and Development Establishment (RRDE). It was given its new name after a visit by Queen Elizabeth II in 1957. Both names were abbreviated to RRE. In 1976 the Signals Research and Development Establishment (SRDE), involved in communications research, joined the RRE to form the Royal Signals and Radar Establishment (RSRE).

ALGOL 60 is a member of the ALGOL family of computer programming languages. It followed on from ALGOL 58 which had introduced code blocks and the begin and end pairs for delimiting them, representing a key advance in the rise of structured programming. ALGOL 60 was one of the first languages implementing function definitions. ALGOL 60 function definitions could be nested within one another, with lexical scope. It gave rise to many other languages, including CPL, PL/I, Simula, BCPL, B, Pascal, and C. Practically every computer of the era had a systems programming language based on ALGOL 60 concepts.

<span class="mw-page-title-main">ALGOL 68</span> Programming language

ALGOL 68 is an imperative programming language that was conceived as a successor to the ALGOL 60 programming language, designed with the goal of a much wider scope of application and more rigorously defined syntax and semantics.

<span class="mw-page-title-main">Roger Moore (computer scientist)</span> American computer scientist, 1939–2019

Roger D. Moore was the 1973 recipient of the Grace Murray Hopper Award from the Association for Computing Machinery (ACM). It was given "for their work in the design and implementation of APL\360, setting new standards in simplicity, efficiency, reliability and response time for interactive systems."

ALGOL 58, originally named IAL, is one of the family of ALGOL computer programming languages. It was an early compromise design soon superseded by ALGOL 60. According to John Backus

The Zurich ACM-GAMM Conference had two principal motives in proposing the IAL: (a) To provide a means of communicating numerical methods and other procedures between people, and (b) To provide a means of realizing a stated process on a variety of machines...

Autocode is the name of a family of "simplified coding systems", later called programming languages, devised in the 1950s and 1960s for a series of digital computers at the Universities of Manchester, Cambridge and London. Autocode was a generic term; the autocodes for different machines were not necessarily closely related as are, for example, the different versions of the single language Fortran.

<span class="mw-page-title-main">Elliott 803</span>

The Elliott 803 is a small, medium-speed transistor digital computer which was manufactured by the British company Elliott Brothers in the 1960s. About 211 were built.

ALGOL 68-R was the first implementation of the Algorithmic Language ALGOL 68.

<span class="mw-page-title-main">Philip Woodward</span> British mathematician (1919–2018)

Philip Mayne Woodward was a British mathematician, radar engineer and horologist. He achieved notable success in all three fields. Before retiring, he was a deputy chief scientific officer at the Royal Signals and Radar Establishment of the British Ministry of Defence in Malvern, Worcestershire.

Ferranti's Argus computers were a line of industrial control computers offered from the 1960s into the 1980s. Originally designed for a military role, a re-packaged Argus was the first digital computer to be used to directly control an entire factory. They were widely used in a variety of roles in Europe, particularly in the UK, where a small number continue to serve as monitoring and control systems for nuclear reactors.

<span class="mw-page-title-main">Atlas (computer)</span> Supercomputer of the 1960s

The Atlas Computer was one of the world's first supercomputers, in use from 1962 to 1972. Atlas' capacity promoted the saying that when it went offline, half of the United Kingdom's computer capacity was lost. It is notable for being the first machine with virtual memory using paging techniques; this approach quickly spread, and is now ubiquitous.

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

In computing, a compiler is a computer program that transforms source code written in a programming language or computer language, into another computer language. The most common reason for transforming source code is to create an executable program.

The Marconi Myriad was an early computer designed by the Marconi Company in the 1960s.

ICT 1900 was a family of mainframe computers released by International Computers and Tabulators (ICT) and later International Computers Limited (ICL) during the 1960s and 1970s. The 1900 series was notable for being one of the few non-American competitors to the IBM System/360, enjoying significant success in the European and British Commonwealth markets.

Susan Bond, was a scientific officer and computer programmer for the Mathematics Division of the Royal Radar Establishment (RRE) in the United Kingdom. She worked extensively on the programming language ALGOL 68 and the Royal Radar Establishment Automatic Computer (RREAC), an early solid-state electronics, ICL 1907F computer.

References

  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. 1 2 "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.