The evolution of APL

  title={The evolution of APL},
  author={Adin D. Falkoff and Kenneth E. Iverson},
  journal={ACM SIGPLAN Notices},
This paper is a discussion of the evolution of the APL language, and it treats implementations and applications only to the extent that they appear to have exercised a major influence on that evolution. Other sources of historical information are cited in References 1-3; in particular, The Design of APL [1] provides supplementary detail on the reasons behind many of the design decisions made in the development of the language. Readers requiring background on the current definition of the… 
A survey of extensions to APL
A survey of proposed extensions to the APL language is made with emphasis placed on the motivations for various proposals, the differences between them and the consequences of their adoption. Some
APL since 1978
The details of what are the most significant language features that made it through the occasionally unnatural selection imposed by the loss of habitats that disappeared with hardware, software platforms, and business models are discussed.
History of IBM's Technical Contributions to High Level Programming Languages
  • J. Sammet
  • Computer Science
    IBM J. Res. Dev.
  • 1981
IBM's technical contributions to high level programming languages from the viewpoint of specific languages and their contributions to the technology are discussed.
An Array and List Processing System
It is shown how using their common features as design principles, the mathematical power of APL and the flexibility of LISP are combined into a simple yet effective tool for diverse system engineering tasks.
The IBM Family of APL Systems
The developmental history of IBM subfamilies of APL systems is traced in this paper, focusing on the inter-relationships among them and the methods of implementation used by the various groups
The socio-technical beginnings of APL
This paper gives some of the history of the early implementations of APL, and concentrates on the system aspects of these implementations, paying special attention to the evolution of the workspace
Word, image and metaphor to name APL concepts in many tongues
APL notation uses symbols rather than words. But discussion and education require the use of words. A well-chosen term can make a new concept plain, or link it effectively to related topics. The
979 Acm Turing Award Lecture
In making i~s :seiec~iom {he Genera! Technk'at Achievemem Award (iota-. mittee cited Iverson for his pioneering etTbr~ m programming hmguages and mathematical notation restJltmg in what @e computing
Induction Operators and Intermediate Forms
Two features that operate on sequences and thus hide simple loops are added to typical compiler intermediate representations, which simplifies many optimizations and should be possible for loop analyzers to retrofit these operators to existing IRs.


An APL historical note
The APL\360 System was designed and imple-Ryniker, and myself helped tie everything together for the released system, and inspired many changes to the system including the implementation of dyadic query and circular functions.
An interpreter for Iverson notation
The current report contains an up-to-date definition of a subset of the language, based on recent work by Iverson and his colleagues, and critiques of the implementation and the language.
Formalism in programming languages
The speaker felt that there was no inherent l imitat ion in his system with respect to backup distance, and remarked that the bottom-up methods seemed to permit better handling of "ndrror recursion" and did feel, however, that the transformation was easier than conventional methods.
Some implications of shared variables
Current APL systems, such as APLSV, embody two shared variable facilities: one for establishing temporary interfaces between system components, and the other one for defining parts of the permanent interface between an APL program and the underlying processor.
APL comparison tolerance
An important aspect of the original implementation of APL\360 was the treatment of arithmetic functions as abstract functions defined on the continuous set of real numbers [1,2]. This had various
Algebra: an algorithmic treatment
This book treats the topics usually covered in a second course in high-school algebra using the notation of APL in place of conventional mathematical notation so that all expressions occurring in the
A programming language
  • K. Iverson
  • Computer Science
    AIEE-IRE '62 (Spring)
  • 1962
The paper describes a succinct problem-oriented programming language that relies heavily on a systematic extension of a small set of basic operations to vectors, matrices, and trees, and on a family of flexible selection operations controlled by logical vectors.
A Formal Description of SYSTEM/360
All SYSTEM/360 functional characteristics having programming significance are completely and concisely described. The description, which is formal rather than verbal, is accomplished by a set of
Experimental personalized array translator system
A system designed for intimate man-machine interaction in a general-purpose problem-solving environment is experimentally operational. The system utilizes an array-oriented symbolic source language
The design of APL
The paper gives the rationale for many specific design choices, including the necessary adjuncts for system management, and emphasizes and illustrating the principles underlying its design.