COMAL
Paradigm | structured |
---|---|
Designed by | Benedict Løfstedt and Børge R. Christensen |
First appeared | 1973 |
Typing discipline | strong |
Influenced by | |
BASIC, Pascal |
COMAL (Common Algorithmic Language) is a computer programming language developed in Denmark by Benedict Løfstedt and Børge R. Christensen in 1973.
The "COMAL 80 PROGRAMMING LANGUAGE REPORT" contains the formal definition of the language.
Design
COMAL was created as a mixture of the prevalent educational programming languages of the time, BASIC, Pascal, and, at least in the Commodore and Compis versions, the "turtle graphics" of Logo. The language was meant to introduce structured programming elements in an environment where BASIC would normally be used.
History
In the early 1980s, Apple Computer won a contract to supply Apple II computers running CP/M and COMAL to Irish secondary schools.
In 1984 Acornsoft released a COMAL implementation, by Paul Christensen and Roy Thorton, for their 8-bit BBC Micro and Acorn Electron computers.[1]
Between 1984-1987 TeleNova, a susidiary of the industrial arm of the Swedish Telecoms system, Teli industrier manufactured a desktop PC called "Compis" for the educational sector. An enhanced version of COMAL was supplied as the standard programming language for this PC. Versions were created for both CP/M86 and MS-DOS. The latter version is available for Windows XP. The (Swedish) reference manual is ISBN 91-24-40022-X
In 1990 Thomas Lundy and Rory O'Sullivan produced the definitive text on COMAL Programming. They matched and compared COMAL with BBC Structured Basic.
Availability
COMAL is available for:
- BBC Micro
- Commodore PET (public domain software)
- Commodore 64 (public domain software)
- Commodore 128
- Amiga
- Compis
- Scandis
- CP/M
- IBM PC
- Tiki 100
- ZX Spectrum
- Mac OS X
- Grundy NewBrain
- Windows XP
- OpenCOMAL for Unix, MS-DOS and Win32
Examples
Conditions:
IF condition THEN
instructions
ENDIF
Loops:
FOR number:= 1 TO 1000 DO
PRINT number
ENDFOR
Print statements with variables:
INPUT "Whats your favourite number..." :nmr%
CLS
PRINT "Your favourite number is " ; nmr%
"Hello, world!"
10 PAGE
20 FOR number:= 1 TO 10 DO
30 PRINT "HELLO, WORLD!"
40 NEXT or ENDFOR (Unicomal)
50 END " "
Further reading
- Roy Atherton: Structured programming with COMAL. Horwood, Chichester 1982, ISBN 0-85312-416-7.
- Bramer, M. A. (1982). "COMAL 80—Adding structure to BASIC". Computers & Education 6 (2): 179–192. doi:10.1016/0360-1315(82)90031-8. ISSN 0360-1315.
- Børge R. Christensen: Beginning Comal. Horwood, Chichester 1982, ISBN 0-85312-435-3.
- Leuschner, Burkhard (1987). "Comal's the thing". System 15 (3): 373–376. doi:10.1016/0346-251X(87)90011-X. ISSN 0346-251X.
- Len Lindsay: COMAL handbook. Reston Publishing, Reston, VA, 1983, ISBN 0-8359-0878-X.
References
External links
- OpenComal – an Open Source implementation of COMAL for UNIX, MS-DOS and Windows
- OpenCOMAL – OpenComal fork on GitHub patched to run on recent Linux systems
- MacharSoft
- Description of COMAL, versions, and characteristics
- Annotated Bibliography of the COMAL language
- Implementation of COMAL for Mac OS X "Comal 2"
- COMAL ARCHIVES FOR THE CBM / PET and THE C64