Prospero Fortran

Matthew Jones takes a look at the latest version of this language


Issue 32

Mar/Apr 88

Next Article >>

<< Prev Article



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.