This paper describes the design of a hybrid language which combines the features of an array processing language and lisp dialect in a consistent and useful manner. This language, APROL (Array PROcessing Lisp) is derived from the J dialect of APL and the Scheme dialect of Lisp. The base syntactic structure is taken from Scheme, while the array processing features are based on the J programming language. A prototype implementation has been made and some experiences with this implementation are described. This implementation uses J as an imbedded array processing engine in a Scheme intrepreter/compiler. The language as specified provides a set of data types and manipulation tools which is more diverse than found in either Scheme or J. APROL allows the programmer to apply array processing functions to lists of arrays in the Scheme style and list processing functions to arrays of lists in typical J style. The result is a language which not only brings array processing capabilities to Sche...
Dennis Holmes, John E. Howland