steps toward an apl compiler
Compilation of APL programs could yield a dramatic improvement in performance for some kinds of programs, provided that the compiler could simplify the processing to the actual requirements of the particular algorithm. Other optimization approaches have been unable to achieve the performance improvements that seem to be possible. Compilation aided by declarations has been demonstrated, but it is undesirable to require declarations if most of the information they contain can be deduced by inspection of the program. Certain changes and restrictions to the language would make such deduction feasible by simplifying the analysis of control flow and removing apparent interfaces between programs that are not actually used as interfaces. Some of the proposed language changes are regarded as improvements because they facilitate deductions about programs by humans and therefore contribute to program readability and reliability. The other restrictions are inconvenient when debugging a program, but the impact is minimal because compilation of APL would be appropriate mainly for production programs that already have been tested.
compilation program yield performance process requirements algorithm optimality informal inspection change language analysis control flow interfaces readability reliability debugging minimal product