Coral 66

related topics
{system, computer, user}
{math, number, function}
{work, book, publish}
{law, state, case}
{language, word, form}

CORAL (Computer On-line Real-time Applications Language) is a programming language originally developed in 1964 at the Royal Radar Establishment (RRE), Malvern, UK, as a subset of JOVIAL. Coral 66 was subsequently developed by I. F. Currie and M. Griffiths. Its official definition [1], edited by Woodward, Wetherall and Gorman, was first published in 1970.

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 embedded assembler, and also offers good run-time checking and diagnostics. It is specifically intended for real-time 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 and GEC computers from 1971 onwards. Implementations also exist for the Interdata 8/32, PDP-11, VAX, Alpha platforms and HP Integrity servers; for the Honeywell, and for the Computer Technology Limited (CTL, later ITL) Modular-1; as well as for SPARC running Solaris and Intel running Linux.

A variant of Coral 66 was developed during the late 1970s/early 1980s by the British GPO, in conjunction with GEC, STC and Plessey, for use on the System X 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 was no mean achievement.

Source code for a Coral 66 compiler (written in BCPL) has been recovered and the "Official Definition of Coral 66" document by 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.

External links

Full article ▸

related documents
Raster image processor
Java Data Objects
User space
Netscape Communicator
Presentation Layer
Electronic Delay Storage Automatic Calculator
Advanced Encryption Standard process
Automated business process
Network mapping
XML Metadata Interchange
Microsoft Version Number
Network architecture
Signal compression
Hierarchical routing
Undocumented feature
Proxy ARP
Back Orifice
Uploading and downloading
Horizontal blank interrupt