Tacit definition
Permission to copy without fee all or part of this material is granted provided that the copies are not made or distributed for direct commercial advantage, the ACM copyright notice and the title of the publication and its date appear, and notice is given that copying is by permission of the Association for Computing Machinery. To copy otherwise, or to republish, requires a fee and/or specific permission. ~ 1991 ACM 0-89791 -441-4/91 /0008/0202 ...$1 .50
Phrasal forms
Toronto NOTE: In this paper we use the linguistic terms verb and pronoun interchangeably with the mathematical terms function and variable. INTRODUCTION In standard APL [ISOSS] certain forms are ungrammatical, and new definitions could be adopted for them without conflict. Such definitions we shall call phrasal form [AHD76]. For example, if b and c are pronouns, the phrase b c is meaningless , and in APL2 [IBM851 the definition (c b), (c c), where c is the APL2 enclose function, is adopted for it.
Control of structure and evaluation
Scalar conformance controls the structure phase of expression evaluation. Program control of this phase is achieved through insertion and deletion of scalar levels of structure. The basic functions to do this are ENCLOSE and DISCLOSE with axis. Their application in some common cases is made easier with proposed extensions to BRACKET INDEX and INTERVAL. This approach provides the function of a RANK operator with greater flexibility while keeping data structure information with the data.
A number of simple expression transformations have proved useful experimentally. Two operators are defined which in their several invocations provide full and partial currying and commutation of left and right arguments; composition, power, and dual of functions; composition, conversion between dyadic and monadic function syntax.
The variations in the definitions of partitions have led to suggestions that more than one primitive operation may be needed. Extensions to EACH and ENCLOSE are proposed which provide a wide range of function while satisfying numerous identities. Since these two operations are each used in APL2 to create a level of structure, the extensions are appropriate.