CORAL66 programming language
Encyclopedia
CORAL is a programming language
Programming language
A programming language is an artificial language designed to communicate instructions to a machine, particularly a computer. Programming languages can be used to create programs that control the behavior of a machine and/or to express algorithms precisely....

 originally developed in 1964 at the Royal Radar Establishment
Royal Radar Establishment
The name Royal Radar Establishment was given to the existing Radar Research Establishment following a visit by Queen Elizabeth II in 1957. Both names were abbreviated to RRE. The establishment had been formed, under its first name, in 1953 by merging the Telecommunications Research Establishment ...

 (RRE), Malvern
Malvern, Worcestershire
Malvern is a town and civil parish in Worcestershire, England, governed by Malvern Town Council. As of the 2001 census it has a population of 28,749, and includes the historical settlement and commercial centre of Great Malvern on the steep eastern flank of the Malvern Hills, and the former...

, UK
United Kingdom
The United Kingdom of Great Britain and Northern IrelandIn the United Kingdom and Dependencies, other languages have been officially recognised as legitimate autochthonous languages under the European Charter for Regional or Minority Languages...

, as a subset
Subset
In mathematics, especially in set theory, a set A is a subset of a set B if A is "contained" inside B. A and B may coincide. The relationship of one set being a subset of another is called inclusion or sometimes containment...

 of JOVIAL
JOVIAL
JOVIAL is a high-order computer programming language similar to ALGOL, but specialized for the development of embedded systems .JOVIAL is an acronym for "Jules Own Version of the International...

. Coral 66 was subsequently developed by I. F. Currie and M. Griffiths. Its official definition, edited by Woodward
Philip Woodward
Philip Woodward is a British mathematician, radar engineer and horologist. He has achieved notable success in all three fields. Before retirement, he was a Deputy Chief Scientific Officer at the Royal Signals and Radar Establishment of the British Ministry of Defence in Malvern,...

, Wetherall and Gorman, was first published in 1970.

Coral 66 is a general-purpose programming language based on ALGOL 60
ALGOL 60
ALGOL 60 is a member of the ALGOL family of computer programming languages. It gave rise to many other programming languages, including BCPL, B, Pascal, Simula, C, and many others. ALGOL 58 introduced code blocks and the begin and end pairs for delimiting them...

, with some features from Coral 64, JOVIAL, and FORTRAN
Fortran
Fortran is a general-purpose, procedural, imperative programming language that is especially suited to numeric computation and scientific computing...

. It includes structured record types (as in Pascal
Pascal (programming language)
Pascal is an influential imperative and procedural programming language, designed in 1968/9 and published in 1970 by Niklaus Wirth as a small and efficient language intended to encourage good programming practices using structured programming and data structuring.A derivative known as Object Pascal...

) and supports the packing of data into limited storage (also as in Pascal). Like Edinburgh IMP
Edinburgh IMP
Edinburgh IMP is a development of ATLAS Autocode, initially developed around 1966-1969 at Edinburgh University, Scotland. IMP was a general-purpose programming language which was used heavily for systems programming....

 it allows embedded assembler, and also offers good run-time checking and diagnostics. It is specifically intended for real-time
Real-time computing
In computer science, real-time computing , or reactive computing, is the study of hardware and software systems that are subject to a "real-time constraint"— e.g. operational deadlines from event to system response. Real-time programs must guarantee response within strict time constraints...

 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, 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
Ferranti
Ferranti or Ferranti International plc was a UK electrical engineering and equipment firm that operated for over a century from 1885 until it went bankrupt in 1993. Known primarily for defence electronics, the Company was once a constituent of the FTSE 100 Index but ceased trading in 1993.The...

 and GEC computers from 1971 onwards. Implementations also exist for the Interdata 8/32, PDP-11
PDP-11
The PDP-11 was a series of 16-bit minicomputers sold by Digital Equipment Corporation from 1970 into the 1990s, one of a succession of products in the PDP series. The PDP-11 replaced the PDP-8 in many real-time applications, although both product lines lived in parallel for more than 10 years...

, VAX
VAX
VAX was an instruction set architecture developed by Digital Equipment Corporation in the mid-1970s. A 32-bit complex instruction set computer ISA, it was designed to extend or replace DEC's various Programmed Data Processor ISAs...

, Alpha
DEC Alpha
Alpha, originally known as Alpha AXP, is a 64-bit reduced instruction set computer instruction set architecture developed by Digital Equipment Corporation , designed to replace the 32-bit VAX complex instruction set computer ISA and its implementations. Alpha was implemented in microprocessors...

 platforms and HP Integrity
HP Integrity
HP Integrity is series of Hewlett-Packard server computers produced by Hewlett-Packard since 2003, based on the Itanium processor architecture...

 servers; for the Honeywell
Honeywell
Honeywell International, Inc. is a major conglomerate company that produces a variety of consumer products, engineering services, and aerospace systems for a wide variety of customers, from private consumers to major corporations and governments....

, and for the Computer Technology Limited (CTL, later ITL) Modular-1; as well as for SPARC
SPARC
SPARC is a RISC instruction set architecture developed by Sun Microsystems and introduced in mid-1987....

 running Solaris and Intel running Linux
Linux
Linux is a Unix-like computer operating system assembled under the model of free and open source software development and distribution. The defining component of any Linux system is the Linux kernel, an operating system kernel first released October 5, 1991 by Linus Torvalds...

.

A variant of Coral 66 was developed during the late 1970s/early 1980s by the British GPO
General Post Office
General Post Office is the name of the British postal system from 1660 until 1969.General Post Office may also refer to:* General Post Office, Perth* General Post Office, Sydney* General Post Office, Melbourne* General Post Office, Brisbane...

, in conjunction with GEC, STC and Plessey
Plessey
The Plessey Company plc was a British-based international electronics, defence and telecommunications company. It originated in 1917, growing and diversifying into electronics. It expanded after the second world war by acquisition of companies and formed overseas companies...

, for use on the System X
System X (telephony)
System X was the name of the UK's first national digital telephone exchange system.-Development:System X was developed by the UK Post Office , GEC, Plessey, and Standard Telephones and Cables and first shown in public in 1979 at the Telecom 79 exhibition in Geneva Switzerland...

 digital telephone exchange control computers, known as PO-CORAL. 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.

As Coral was aimed at a variety of real-time work, rather than general office DP, it was not thought to require any standardised equivalent to a stdio library. This made life difficult for newcomers to the language, and producing a mere Hello World
Hello world program
A "Hello world" program is a computer program that outputs "Hello world" on a display device. Because it is typically one of the simplest programs possible in most programming languages, it is by tradition often used to illustrate to beginners the most basic syntax of a programming language, or to...

 was no mean achievement.

Source code for a Coral 66 compiler (written in BCPL
BCPL
BCPL is a procedural, imperative, and structured computer programming language designed by Martin Richards of the University of Cambridge in 1966.- Design :...

) has been recovered and the "Official Definition of Coral 66" document by HMSO
Office of Public Sector Information
The Office of Public Sector Information is the body responsible for the operation of Her Majesty's Stationery Office and of other public information services of the United Kingdom...

 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.

External links

The source of this article is wikipedia, the free encyclopedia.  The text of this article is licensed under the GFDL.
 
x
OK