Since my review in 1986 of Prospero Fortran 77,
Prospero have continued to upgrade the product, and have recently
released a major new version of the
compiler (now called Prospero Fortran for GEM). The compiler still
compiles the full ANSI standard, but now includes a number of
Prospero extensions to make it even more usable (many also available
in other compilers). The most significant improvement however, is
that of putting the compiler into a complete programming environment
— the workbench.
A programming session with a normal compiler is done
by loading an editor, loading the file to edit, editing it, saving,
exiting and loading the compiler. The compiler reads the file,
compiles it, exits, then you load the linker. It reads the compiled
file (the object file), links it, exits, then you load the program,
test it, then go back to the beginning to edit again. Tedious, but
the way everyone works. Prospero, however, now has a better way.
After loading the Workbench, you select the 'Edit FOR
file' from the menu (or Alt E), and load the source file. The editor
is a Wordstar key compatible editor with a few additions and is very
easy to use, being one of the best I have found so far, though
rather slow to update the screen. Make your changes, and then select
'Compile and Link' from the menu. The compiler comes into play,
reading the file directly from memory. Compilation progress and
errors are reported in a dialog, with an erroneous source line
displayed for context and an option to Continue or Abort. After
compilation (which can be separate), the linker is invoked which
reads the object and library files, writing the finished program to
the disk. Select the menu option for 'Run', and you can test it.
When complete, you simply exit your program, the workbench
re-appears, and you edit the source again to start another much
speeded-up cycle. As a superb bonus, Prospero include a source-level
debugger called Probe, which allows you to step through your program
one line at a time, each time seeing the source line, viewing and
altering the variables by name — with no need to know assembly.
The whole system works very well, much better than
even the best 'shell' programs like Metacomcos' MENU + . The
drawback of course is that you cannot use your own editor, but the
Prospero editor is quite adequate. It is still possible to edit
non-Fortran files — indeed with multiple file programs it is
necessary to edit a linker control file. I experimented with
interfacing assembler to the Fortran, and had no problems editing
the .ASM file. To make such things even easier, you can run other
programs from within the workbench, so I was able to run the
assembler, then link normally.
Last time I reviewed Pro-Fortran, I tried out a
16,000 line program called COPE on it, and found that because of the
strict adherence to the standard, and our sloppy programming, I
could not get it to compile without major changes. I tried again
this time with the latest version, and due to the extensions, was
able to compile everything with under ten corrections (half of which
were bugs waiting to be found!). Because of the size of the source,
compiling each file one by one (even using the compile from disk
facility) was very slow. Some sort of batch mode (MAKE?) would be a
perfect solution. Also due to the size (I think) I was unable to
link it all, but GST Link managed to.
I also had problems when the compiler or linker found
errors. 95% of the time all was okay, and the `Continue' option
worked, but every so often it crashed. I soon got into the habit of
pressing ALT-S to save my source (but still leaving it in memory for
editing) before starting to compile.
The manual is very good, and comes as three ring
bound volumes in an A5 box. The first volume covers the compiler
installation and use, aspects about this particular implementation,
and a complete language reference. While it could give more detail
in certain more technical areas, it covers everything very well, and
is a good example of what a manual should be like. The main dislike
is the lack of further explanation to the error messages — the
manual just repeats the compilers text — very helpful!
The second and third volumes cover the GEM interface
in superb detail. They are not just the simple repeat of the DRI
documentation, but actually explain things, not to absolute beginner
level, but enough for a technical user. Because the Fortran is
available for the IBM PC, it also covers GEM version 2, and is the
best reference I have seen.
Despite the tendency to crash every so often, I have
found Prospero Fortran for GEM to be a very enjoyable program to
work with, and very powerful as a development system with the source
level debugger. If you use Fortran, this is a program worth the
money and worth having. I only wish I could use the workbench with
other languages too!
Prospero Fortran for GEM costs £113 plus VAT and is
available for both Atari ST and MS-DOS machines.