MacharSoft COMAL Users' Forum - T Kuiper

Tom Kuiper (JPL, Pasadena, USA) - UniCOMAL and UNIX

In the years since I last had any contact with UniCOMAL in Denmark, I have made the transition from DOS to Linux and, as needed, converted COMAL programs to Tcl/Tk. However, I still have a lot of COMAL code for which, from time to time, I run a DOS emulator or boot in DOS. However, a UNIX and X11 compatible version of COMAL would be a very nice thing to have.

For an example of old UniCOMAL used in scientific research, you might like to have a look at the Astrophysical Journal, vol. 433, pp. 712-718, 1994. This is code that I would not convert, especially if the COMAL modules could be called from C! Another article featuring a COMAL program in a research situation is "Computing 70-M Efficiency"

I don't run COMAL very often anymore, because in the last two years I've been concentrating on developing data acquisition software. I have found Tcl/Tk invaluable for that.

When I was doing (and hopefully will soon again do) science, I used DOS emulators under UNIX to run my old COMAL programs. SoftPC under HP-UX runs reliably. I can't specifically recall any COMAL program freezing up. The main problem there is that HP does not provide DOS file system support, which limits the amount of usable disk space to what I allocated in a disk image file. I cannot, for example, mount a SCSI DOS-formatted hard disk. This is a serious limitation.

Under an old Slackware version of Linux (1.2.something), I ran 'dosemu' pretty reliably under X-Windows. I seldom tried to run the console version. I found that 'dosemu' could be quite slow to come up. At first, I thought it hung while loading, but later discovered that I just needed patience (a few minutes, sometimes). Linux is nice because it supports DOS file systems, so I could run my COMAL programs quite easily. The text-based stuff never gave me any trouble. I vaguely recall some oddities with graphics output, but don't recall the details. I never tried very hard to optimize my dosemu.conf!

Alas, I can't repeat the experience because I allowed myself to be offered a Caldera version of Linux, under which I never got 'dosemu' to work right. This is still true after trying Caldera Open Linux 1.1. I haven't pursued it very vigorously. I'm just now starting to try out Debian Linux, about which I heard good things, but I haven't gotten very far yet.

Tcl and Tk - Editor's Notes

Tcl is an interpreter for a tool command language. It consists of a library package that is embedded in tools (such as editors, debuggers, etc.) as the basic command interpreter. Tcl provides (a) a parser for a simple textual command language, (b) a collection of built-in utility commands, and (c) a C interface that tools use to augment the built-in commands with tool-specific commands. Tcl is particularly attractive when integrated with the widget library of a window system: it increases the programmability of the widgets by providing mechanisms for variables, procedures, expressions, etc.; it allows users to program both the appearance and the actions of the widgets; and it offers a simple but powerful communication mechanism between interactive programs. Tcl was developed at the Sprite project at the University of California at Berkeley, 1990, by John Ousterhout and his team.

Tk is a toolkit for X11. The overall functions provided by Tk are similar to those of the standard toolkit Xt. However, Tk is implemented using Tcl, a lightweight interpretive command language. This means that Tk's functions are available not just from C code compiled into the application, but also via Tcl commands ussued dynamically while the application runs. Tcl commands are used for binding keystrokes and other events to application-specific actions, for creating and configuring widgets, and for dealing with geometry managers and the selection. The use of an interpretive language means that any aspect of the user interface may be changed while an application executes. (From the abstract of John Ousterhout's paper on Tk from the 1991 Winter USENIX Conference.)

The current home sites for Tcl/Tk are at Ousterhout's new company Scriptics Corporation and SunScript. The latest versions run under UNIX, Windows 3.1/95/NT and Macintosh. There is also a plug-in for Netscape.


Edited 19-June-2001