OpenComal

Serbo-croatian version of this page here.

OpenComal is a highly portable and free implementation of the Comal programming language written by moi. Currently supported platforms are Unix, MsDos and Win32 (95, 98, NT, 2000, XP and whatever they come up with next :-)

Comal is a crossover between Basic and Pascal, with the best features of both and none of the drawbacks of either. Look at this sample program. This program takes a number and writes out the correct pronounciation in Dutch (handy uh? :-). Take a look at this screen shot.


Fri Mar 24 08:33:37 CET 2006 date
There is a new MacOS X version of OpenComal. Download the disk image and follow the instructions in the README_MAC file...
More news:We are working at setting up a Comal program repository. Look here.

From the documentation

In the early history of micro computing, resources (CPU, memory,
disk) were scarce, slow and expensive. Micro computers were
usually distributed with limited memory capacity and limited on
board software.  The famous-in-it's-own-time ZX80 (by Sinclair)
probably set an all time record low with 4K ROM and 1K RAM.

BASIC was the language of choice back then. Almost all micro
computers featured their own dialect of BASIC, usually present
in ROM. These BASICs were basic indeed. Most of the time they
lacked about everything necessary to develop well-structured
and maintainable programs.

This situation led to bad-programming habits spreading like
wildfire. Would-be programmers were not encouraged to produce
clear program code, and in order to make the programs smaller,
faster and more attractive many tricks were used like directly
modifying system variables (the notorious POKE instruction),
using multi statement lines, using GOTO's etc. etc.

The principles of structured programming were available of
course, but structured languages like PASCAL were not really
available for small micro's due to limitations in the micro's
resource capacity and the then available compiler technology.

Somewhere in Denmark a teacher named Borge Christensen
understood the potential dangers of the BASIC habits and he
leaded a team of people who were determined to modify an
available BASIC interpreter so as to create a new language which
should support structured programming concepts like PROCedures,
FUNCtions and GOTO-less loops. The first Comal (COMmon
Algorithmic Language) interpreter was born.

In 1992 I went on an unplanned sabbatical of four months or so. With all
this extra time on my hands, I decided to create a free Comal
interpreter with the following features:

	- Free software (although I did not know that phrase at that
	  time).
	- Containing numerous ethically justifiable extensions 
	  to the basic Comal specifications
	- Highly portable
	- Containing no built in limits to program and variable size
	  (which is somewhat of a challenge on MsDos).

I created OpenComal (then called Public Domain Comal (or PDComal)) on an
XT PC (8088 CPU) running MsDos using Turbo C. I did however fathom
porting to Unixes and other platforms, so everything was written in
pretty portable K&R C, with all operating system dependencies separated
out in a set of routines in one source file (e.g. pdclinux.c).

Over the last ten years, I have been tweaking with OpenComal a bit, but
not regularly. The Comal movement has all but disappeared, which is a
shame because I think it is a nice language to start programming with...

And right now, in 2002, I am on yet another (this time planned)
sabbatical, and I decided to rename PDComal to OpenComal, attach the GPL
to it, improve Linux keyboard/screen support (using ncurses) and release
it to the general public. Let's see what happens....


Last update Fri Mar 24 08:34:46 CET 2006 by josv at osp.nl