QL APL
APL is a very high-level language used for financial and mathematical modelling, although it can be used for many other purposes. It is particularly noted for its ability to process arrays as easily and quickly as scalar variables.
APL was named after the book 'A programming language' by Kenneth E. Iverson (1962) and is a high-level interpreter language designed for non-computer professionals.
APL provides extremely powerful, but simple array handling facilities, which dispense with counts and loops, resulting in very compact code - for example, to add all of the elements in two arrays (A) and (B), you would simply use:
"A + B"
Two versions of APL were produced - the symbolic version (which is based on the standard APL statements made up of Greek letters and overstrike characters, and not easy to use on a standard English keyboard) and a Keyword version which allows the use of proper keyword functions for each APL statement.
MicroAPL Limited produced both versions for the QL, which are based on the IBM compatible version of APL by the same company.
The symbolic version used the conventional APL character set; the other replaced the special symbols by mnemonic keywords, such as "index" for the iota. The implementation is complete for the original version of the language.
QL APL runs on an unexpanded machine with the aid of a ROM cartridge. This contains the parser and is the only part of the program to differ between the two versions. The program can run on any emulator or QL-compatible system which emulates the ROM port, since that code on the cartridge is not relocatable.
Both versions occupied 95K of memory and did not implement some of the more advanced APL.68000 features, nor multi-user filing features. However there were extensions to take account of the QL's in-built hardware, such as colour, windows, redirection of output, sound and graphics. Thankfully, the keyword version implements the IF command which works the same way as the APL '/' operator, but with the arguments reversed, so that it makes more logical sense to an inexperienced programmer.
A copy of the Keyword version ROM was found in 2018 and thanks to MicroAPL Limited this has now been released as freeware. Unfortunately, the QL specific source codes and manual appear to be missing.
The source code of the APL interpreter itself is still held by MicroAPL (it continued to be maintained and enhanced for the next 30 years and was the basis of their PC, Macintosh and Linux 'APLX' products); but the source code for the QL front end went missing a long time ago.
More information about programming in MicroAPL is available from the APL Wiki. Whilst the original APL.68000 language reference manual forms the core of the tutorial, some of the later stages of the tutorial cover the second-generation features known as APL2 (which we don't believe are supported by the QL version).
Title: QL APL
Language: Unknown
Author: Richard Nabavi and others
Publisher: MicroAPL Limited
Year of Publication: 1985
Platforms Suitable for: All Sinclair QLs and emulators
Commercial Status: Freeware
Price as at March 1985: £99.95
Reviews: Sinclair User Aug 85
Sources Available from: n/a
Latest Version available from: Sinclair QL Homepage