An Annotated Bibliography of the COMAL Language

J. John O'Gorman

Department of Computer Science and Information Systems

University of Limerick, Ireland: UL-CIS-90-4


COMAL was first proposed as a programming language for use in schools over 15 years ago in Denmark, but is still only known and used by pockets of enthusiasts. This bibliography should serve both to identify the many introductory articles, at least one of which should be accessible to almost every reader, and also provide pointers for those who wish to go further into the literature.

In the early 1970's, Borge Christensen translated the control structures of Pascal into BASIC's simple notational style, and added some other useful features such as long identifiers and named procedures. The result was COMAL.

He published his first articles in English language journals as early as 1975 [23,24]. From Denmark the language spread to England. From 1980 onwards, a number of publications appeared introducing the language, and proposing its adoption. These outlined the motivations, the history, the development, and applications of the language. The articles by Atherton [5, 6, 7, 8, 9, 11], Benwell [16], Bramer [18, 19, 20], Christensen [26, 28], and Marshall [56] are examples of such introductions.

COMAL was proposed as an alternative to BASIC both for home computers [3], and particularly for use in schools [34], and even for training professional programmers [37]. Atherton [13] reviewed some attempts to establish standards for BASIC, and suggested a European committee to guide the development of COMAL.

It was adopted by the Irish Government as the official programming language to be used in second level schools. This led to a series of publications in Riomhiris na Scol, the Journal of the Computer Education Society of Ireland. The article by Kelly [42] outlines both the history of the language, and the motivation for its adoption in Ireland. He includes a sample program to give a `flavour' of the language.

COMAL also reached the USA, possibly with some help from Ryan [69], where a number of articles were published introducing the language, and proposing it as an alternative to BASIC [22, 50, 70], particularly for educational use [2, 15, 17].

Not all contributions in the literature are so pro-COMAL, however.

In England, White [71] saw it as a possible threat to BBC and British Government plans for schools, both of which were centered on BASIC. Bull [21], referring to an article by Bramer [19], suggested that there was no need for COMAL, as it was just the draft BASIC standard under another name. Fox [35] also challenged the Comalites, particularly Atherton, claiming that it is too full of complexities and too difficult to learn to be of any real benefit.

In defence, Christensen appealed the decision to put BASIC on the BBC micro [25], and Atherton backed him up in this [10]. When this appeal failed, Atherton showed how BBC Basic could be made to emulate COMAL [14].

Following a similar pattern in Ireland, McCallion [58] gave a detailed description of a newly issued structured BASIC for the Apple ][, and suggested that it was preferable to COMAL.

Some articles openly publicised particular commercial products. Miskelly [60] advocates his machine, the Piccolo, which was specially built for the education market. Wright [73, 74] and Gerrard [36] introduce COMAL for Commodore machines, while Miles [59] announces a cartridge version for the Commodore 64. Norris [66] introduces Acornsoft COMAL for the BBC micro.

Another series of articles dealt with extensions and enhancements to the language. Some of these attempted to supply for the lack of graphics in earlier versions. Norris [65] introduced the techniques for accessing the graphic routines in the Apple ROM from COMAL. Murphy [62, 63] produced a library of procedures for graphics and sound, including barcharts and even traditional Irish music.

High resolution graphics finally became available with the Commodore-64 version, and Kelly [43] and Lindsay [51, 54] demonstrated what could be done with this. A PC-based version of COMAL, using CGA and VGA cards, has now become available [4].

COMAL's kernal of keywords has been extended to include the basic instructions needed for process control. A demonstration of controlling a model washing machine is given in [40].

An object-oriented version of the language has been developed, running under either MSDOS or OS/2. UniComal, as it is called, can also use modules written in C or assembler [72].

Other topics covered here include disk directories [53], the use of COMAL for simulator programs [57], a PRINT USING facility [61], and the structure of the interpreter [67].

Some of the published work has been in the form of tutorials. M. Christiansen explained the characteristics and uses of closed procedures [32]. B. Christensen gave a tutorial introduction in three articles [29, 30, 31].

In Ireland, Apple won a contract to supply COMAL to schools, and published a tutorial to go with it [1]. Kelly produced a six part tutorial [44, 45, 46, 47, 48, 49].

Finally, there are a number of full books on the language, following the same geographical and chronological order as the earlier articles. The formal definition of COMAL-80 was published in Denmark in 1980 [68].

Atherton [12] and Christensen [27] were both published in Britain. Kelly's book [41] was aimed at the Irish market. Lindsay [52] produced a reference manual for the standard COMAL kernel, including a definition of the kernel. This, and Gratte [39], were both published in the USA. Lindsay [55] also produced a book on the use of graphics in Commodore COMAL.


1. Anon. COMAL-80 Tutorial. Cork: Apple Computer, 1982.

2. Anon. ``COMAL-80 Standardization Meeting''. Computing Teacher, Vol. 11 (7) March 1984, pp. 8-9.

3. Anon. ``Modern Languages'' IN: The Home Computer Advanced Course, No. 57. London: Orbis Publishing Ltd., 1985, pp. 1121-1123.

4. Anon. ``The alternative for BASIC: suitable for a beginner and a professional''. Personal Computer (West Germany), No. 10, October 1988, pp. 77-81.

5. Atherton, R. ``COMAL `Will soon be widely used in Education' ''. Computer Weekly, Vol. 30 (741) 22 January 1981, p. 10.

6. Atherton, R. ``A COMAL Lesson in Problems, Programs aimed at Pupils''. Computing, Vol. 9 (9) 27 February 1981, pp. 22-23.

7. Atherton, R. ``Schools: lesson in languages''. Computing, Vol. 9 (18) 30 April 1981, pp. 14-15.

8. Atherton, R. ``Requirement for a General Purpose High-Level Programming Language for Schools''. Computer Education, No. 38 June 1981, p. 14.

9. Atherton, R. ``COMAL and Structured Languages leave primitive Basics behind''. Practical Computing, Vol. 4 (6) June 1981, pp. 98-101.

10. Atherton, R. ``The New Languages (Pascal, Comal)''. Computing Bulletin, Series 2, No. 29, September 1981, pp. 21-22.

11. Atherton, R. ``Not just two more languages''. Educational Computing, Vol.2 (11) December 1981, pp. 42-43.

12. Atherton, R. "Structured Programming with COMAL-80". Chichester: Ellis Horwood, 1982.

13. Atherton, R. ``Software standards in BASIC and COMAL''. IN: Smith C. (Ed.), Microcomputers in Education. Wiley: New York, 1982, pp. 83-98.

14. Atherton, R. ``Why Structured Programming?''. Micro User, Vol. 1 (4) June 1983, pp. 25-26.

15. Beechhold, H.F. ``Common Algorithmic Language COMAL an alternative to BASIC''. Collegiate Microcomputer, Vol. 1 (4) November 1983, pp. 325-328.

16. Benwell, N. ``Comal - The Way Ahead''. Educational Computing, Vol. 2 (8) September 1981, pp. 64-65.

17. Boddie, J.B. ``A tour of Babel (Programming languages)''. Computing Teacher, Vol. 12 (4) December 1984/January 1985, pp. 8-11.

18. Bramer, M.A. COMAL-80 - Adding Structure to BASIC. Open University Computer Assisted Learning Research Group. Technical Report No. 3, 1980.

19. Bramer, M.A. ``Adding Structure to BASIC - The Programming Language COMAL-80''. Computer Education, No. 37 February 1981, pp. 2-6.

20. Bramer, M.A. ``Comal 80 - adding structure to BASIC''. Computer and Education, Vol. 6 (2) 1982, pp. 179-192.

21. Bull, G. ``Response Time''. Computer Education, No.39 November 1981, pp. 31-32.

22. Butterfield, J. ``Update on COMAL: a SuperBASIC''. Compute. Journal for Progressive Computing, Vol.6 (11) November 1984, pp. 102-106.

23. Christensen, B.R. ``The Programming Language COMAL - Denmark''. International World of Computer Education, Vol. 1 (8) April 1975, pp. 26-29.

24. Christensen, B.R. ``The Programming Language COMAL''. Computer Education, No. 24 November 1976, pp. 3-4.

25. Christensen, B.R. ``Programming Languages for Beginners - The Global Challenge''. Computing Bulletin, Series 2, No. 29 September 1981, pp. 20-22.

26. Christensen, B. ``COMAL-80''. Personal Computer World, Vol. 4 (11) November 1981, pp. 77-79.

27. Christensen, B. Beginning COMAL. Chichester: Ellis Horwood, 1982.

28. Christensen, B. ``COMAL - an educational alternative'' IN: Smith C. (Ed.), Microcomputers in Education. Wiley: New York, 1982, pp. 75-81.

29. Christensen, B. ``Structured Programming using COMAL 80''. Educational Computing, Vol. 3 (2) March 1982, pp. 33-34.

30. Christensen, B. ``Structured Programming using COMAL 80 - Mr. Uggley asks for more''. Educational Computing, Vol. 3 (3) April 1982, p. 33.

31. Christensen, B. ``Mr. Uggley's ranks are filed''. Educational Computing, Vol. 3 (4) May 1982, pp. 36-37.

32. Christiansen, M. ``Closed Procedures in Comal-80''. Practical Computing, Vol. 4 (11) November 1981, pp. 91-92.

33. Clack, J. ``Comal for Structured Programming''. Colloquium on Languages for programming microprocessors, London, 1st October 1982. (IEE 1982) p.7/1-5.

34. Elliot, R.J. ``Languages''. Personal Computer World, Vol. 8 (11) November 1985, pp. 184-187.

35. Fox, R. ``Who Needs Comal''. Practical Computing, Vol. 5 (2) February 1982, p. 85.

36. Gerrard, P. ``Watch Your Language''. Which Micro and Software Review, January 1984, p. 95.

37. Grainger B.D. ``Educating programmers for Industry with COMAL and the Commodore 64'' IN: Ramsden E. (Ed.), Microcomputers in Education 2. Chichester: Ellis Horwood, 1984, pp. 103-108.

38. Grainger, B. ``Converting BASIC to COMAL: The Complete Reference''. Commodore User, Vol. 2 (2) November 1984, p. 52.

39. Gratte, I. Starting with COMAL. Englewood Cliffs: Prentice-Hall, 1985.

40. Hojsholt-Poulsen, L. ``Lego with COMAL: an interactive process control and learning environment''. IN: Proceedings of the IFIP 1st European Conference on Computers in Education. Lausanne, Switzerland, 24-29 July 1988, pp. 405-409.

41. Kelly, J. Foundations in Computer Studies with COMAL. Dublin: Educational Company, 1983.

42. Kelly, J. ``Why COMAL''. Riomhiris na Scol, Vol. 6 (1) January 1983 (no pagenumbers).

43. Kelly, J. ``COMAL Graphics''. Riomhiris na Scol, Vol. 8 (1) October 1984, pp. 17-18.

44. Kelly, J. ``COMAL Tutorial 1''. Riomhiris na Scol, Vol. 8 (2) January 1985, pp. 17-18.

45. Kelly, J. ``COMAL Tutorial 2''. Riomhiris na Scol, Vol. 8 (4) May 1985, p. 14.

46. Kelly, J. ``COMAL Tutorial 3''. Riomhiris na Scol, Vol. 9 (1) October 1985 (no page numbers).

47. Kelly, J. ``COMAL Tutorial 4''. Riomhiris na Scol, Vol. 9 (2) January 1986, pp. 14-15.

48. Kelly, J. ``COMAL Tutorial 5''. Riomhiris na Scol, Vol. 9 (3) April 1986, pp. 20-23.

49. Kelly, J. ``COMAL Tutorial 6''. Riomhiris na Scol, Vol. 10 (1) November 1986, p. 10.

50. Kuiper, T. ``Learning Comal''. Riomhiris na Scol, Vol. 8 (2) January 1985, pp. 15-16 (Reprinted from COMAL Today, Issue 3).

51. Lindsay, L. ``COMAL Graphics''. Commodore, Vol. 4 (6) 1983, pp. 87-93.

52. Lindsay, L. The COMAL Handbook. 2nd Edition. Reston, Va.: Reston Publishing Company, 1984.

53. Lindsay, L. ``Captain COMAL Meets the Disk Directory''. Commodore, Vol. 5 (2) May-June 1984, pp. 29-33.

54. Lindsay, L. ``Sprites and COMAL on the Commodore 64''. Commodore, Vol. 5 (1) February 1984, pp. 72-75.

55. Lindsay, L. Commodore 64 Graphics with COMAL. Reston, Va.: Reston Publishing Company, 1985.

56. Marshall, G. ``Programming Languages [COMAL]''. Computing Today, Vol. 3 (3) May 1981, pp. 19-21.

57. Marshall, G. ``Languages in Use''. Computing Today, Vol. 5 (7) September 1983, pp. 21-25.

58. McCallion, T. ``Structured BASIC versus COMAL''. Riomhiris na Scol, Vol. 6 (3) May 1983 (no pagenumbers).

59. Miles, B. ``Comprehensible COMAL''. Personal Computer News, Issue 77, September 8 1984, p. 35.

60. Miskelly, J. ``A Language to take away a Lot of Fuss''. Computing, Vol. 9 (41) 8 October 1981, p. 25.

61. Moran, P. ``A Line of Pints! - with COMAL''. Riomhiris na Scol, Vol. 8 (3) March 1985, p. 25.

62. Murphy, C. and O'Gorman, J.J. ``COMAL Enhancements''. Riomhiris na Scol, Vol. 7 (2) November 1983, p. 7.

63. Murphy, C. and O'Gorman, J.J. ``Further COMAL Library Routines''. Riomhiris na Scol, Vol. 7 (4) May 1984, pp. 5-6.

64. Murphy, C. ``Sight and Sound in COMAL''. Riomhiris na Scol, Vol. 8 (2) January 1985, pp. 16-17.

65. Norris, M. ``Low-Res Graphics in COMAL''. Riomhiris na Scol, Vol. 6 (1) January 1983 (no pagenumbers).

66. Norris, M. ``Acornsoft COMAL''. Riomhiris na Scol, Vol. 7 (4) May 1984, p. 4.

67. O'Gorman, J.J. ``The COMAL Operating System''. Riomhiris na Scol, Vol. 8 (3) March 1985, pp. 25-26.

68. Osterby, T. (Ed.). COMAL 80 (Nucleus) Definition. Technical University of Denmark, March 1980.

69. Ryan, K. ``COMAL System for Irish Secondary Schools''. IN: Proceedings of National Educational Computing Conference, Kansas City, 27-30 June 1982, pp. 373-378.

70. Sonderstrup, S. and Pelle, M. ``COMAL 80 - A New Language?''. Dr. Dobb's Journal, Vol. 6 (6) June 1981, pp. 46-47.

71. White, P. ``COMAL to hit Schools Plan''. Computing, Vol. 9 (28) 9 July 1981, p. 10.

72. Woolnough, R. ``Tiny Danish firm gets object-oriented''. Electronic Engineering Times, No. 533, 10 April 1989, p. 27.

73. Wright, L. ``COMAL for the PET/CBM''. Micro: The 6502/6809 Journal, No. 46, March 1982, p. 98.

74. Wright, L. ``Compass: COMAL for the Commodore 64''. The 6502/6809 Journal, No. 74, August 1984, pp. 62-63.