hall@ittral.UUCP (Doug Hall) (07/12/85)
I have recently had the opportunity to use PROMAL, a compiler from Systems Management Associates, on my Apple //e. What follows is not a detailed review, but a brief summary of PROMAL's features. First of all, PROMAL (the Apple version) will only run on an Apple //e or Apple //c. It requires the 80 column card and extra memory. PROMAL runs under ProDOS, but it has its own environment for editing, compiling, and running programs. Standalone PROMAL applications to run under ProDOS can be developed, however. This requires the developers version of the system, and costs a bit more. PROMAL compiles down to an intermediate code which is interpreted at runtime. The executive is quite fast, however, and PROMAL programs consistantly run faster than Apple (UCSD) Pascal, which is also interpreted. In the benchmarks I've run, only Aztec C runs faster than PROMAL (3-5 times faster, but that's native code). Turbo Pascal is also faster, but that's not a fair comparison since Turbo runs on a Z-80 under CP/M. At any rate, PROMAL beats the heck out of BASIC, even compiled basic. The PROMAL editor is pretty good. It is a screen oriented editor which is basically modeless, and has most of the usual text editor features as well as handy programming features (auto-indent, etc). Function keys are implemented by using the open-apple key and any number (0-9). Each function key may also be reasssigned. The compiler is fast and generates small code. It can compile from memory, so you can leave the editor and compile without any disk activity. PROMAL uses the 64K extension as a "workspace" similar to a ramdisk. Include files and chaining are supported, but not separate compilation. There is no linker or assembler. PROMAL looks like a cross between C and Pascal. It has byte, integer, word (unsigned int), and real data types. It has arrays, but no structures or unions (records or sets for Pascal fans). It has all the major constructs such as for, while, repeat, case. It supports strings a la C (null terminated) and, like C, depends on an I/O library for many functions. Formatted i/o is very similar to the C implementation. The programming environment is sort of like a shell, and supports I/O redirection and a history feature with command line editing. As in the editor, function keys are implemented. All in all, it's pretty good. It's easy to use, easy to learn, and doesn't take half an hour to compile like some other compilers. I'll be glad to answer any other questions by mail. Hope this was of some help to someone. Doug Hall ITT Telecom, Raleigh, NC decvax!ittvax!ittral!hall
paulb@ttidcc.UUCP (Paul Blumstein) (07/17/85)
*** Don't Replace This Line \! *** Thorough Review! However, one may ask themselves why they would use a language that is peculiar to a machine and not used by a large community. You will not be able to transport programs, take your knowledge elsewhere, and will have the constant fear of PROMAL disappearing with the other myriads of computer languages. Paul Blumstein philabs!ttidca!paulb