CORAL 66 programming language
From Wikipedia, the free encyclopedia
CORAL (Computing Online Realtime Algorithmic Language) was developed in 1966 at the Royal Radar Establishment (RRE), Malvern, UK by I. F. Currie and M. Griffiths.
CORAL 66 is a general purpose programming language based on Algol 60, with some features from CORAL 64, JOVIAL, and FORTRAN. Like Edinburgh IMP it allows embedded assembler, and also offered good run-time checking and diagnostics. The language uses reserved keywords stropped by single quotes, such as 'BEGIN'. While the syntax is slightly reminiscent of Pascal, in some ways it is more like FORTRAN than Algol, in that recursive procedures are not supported.
Intended for real-time applications, 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 and Alpha processors; for the Honeywell, and for the Computer Technology Limited (CTL) Modular-1; as well as for SPARC running Solaris and Intel running Linux.
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. Both documents will be online within a few days.
A variant of CORAL66 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 to 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.
[edit] External links
- CORAL 66 test program extracted from the Test Responder report
- CORAL 66 benchmarks
- EDS CORAL 66 compiler for Vax/VMS (commercial working CORAL 66 system)
- XGC Software's CORAL 66 compiler (commercial system)
- XGC CORAL 66 Language Reference Manual (HTML) and in PDF format, heavily based on BS5905.
- PDP-11 CORAL/ASM interfacing library
- BS5905 CORAL 66 Standard
- DEF STAN 05-47
- ECCE editor script to translate CORAL 66 into Edinburgh IMP