An APL interpreter and system for a small computer
Manuel Alfonseca, M. L. Tavera, R. Casajuana · IBM Systems Journal · 1977
The implementation of an APL system on a small computer (System/7) presented the following challenges: 1. The limited set of machine language instructions, where bit handling, floating point, multiplication, and division operations do not appear, made it necessary to simulate most of them by means of software. In particular, a special decimal floating point representation was devised. 2. The small size of the main storage was a problem that we did not want to solve by reducing the power of the language. It was thus necessary to simulate a virtual memory allocation processor controlling a modular interpreter. 3. The implementation of a time-sharing system capable of supporting several terminals was solved in a nonstandard fashion, taking advantage of the fact that the interpreter continuously calls the virtual memory supervisor. This fact gives rise to a time-sharing system with variable time-slicing. 4. Disk file management and sensor-based i/o operations were problems that we decided to solve by making use of the shared variable concept. In solving the problems thus presented, the experimental APL/7 system12was built and is fully operational, including the sensorbased i/o operations. The extension of the system to sensor management makes it possible to analyze the suitability of APL for process control applications.