This article describes how array predicates were used to reduce the computational complexity of four APL primitive functions when one of their arguments is a permutation vector. The search primitives, indexof and set membership, and the sorting primitives, upgrade and downgrade, execute in linear time on such arguments. Our contribution, a method for static determination of array properties, lets us generate code that is optimized for special cases of primitives. Our approach eliminates runtime checks which would otherwise slow down the execution of all cases of the effected primitives. We use the same analysis technique to reduce the type complexity of certain array primitives.
Existing array region representation techniques are sensitive to the complexity of array subscripts....
In previous work we presented a model checking procedure for linear programs, i.e. programs in which...
A parallel program consists of sets of concurrent and sequential tasks. Often, a reduction (such as ...
We present a compiler and a typed intermediate language for a subset of APL. The intermediate langua...
APL is a dynamically typed language which deals with arrays whose type, number of dimensions (rank)...
Original article is available at: http://www.worldscinet.com Copyright World Scientific Publishing C...
Objective: To study novel ways of representing data arrays for potential application in a microcompu...
Although multicomputers are becoming feasible for solving large problems, they are difficult to prog...
Abstract. Arrays are a common and important class of data. At present, database systems do not provi...
We describe a variant of More's array theory which has an extra function we call promotion. This fun...
Array-oriented programming languages such as APL and J [1] pay special attention, to manipulating ar...
We present a novel programming language design that attempts to combine the clarity and safety of hi...
Abstract Array Algorithms are defined as functional algorithms where each step of the algorithm resu...
A variety of concepts, laws, and notations are presented which facilitate reasoning about arrays. Th...
The array programming paradigm adopts multidimensional arrays as the fundamental data structures of ...
Existing array region representation techniques are sensitive to the complexity of array subscripts....
In previous work we presented a model checking procedure for linear programs, i.e. programs in which...
A parallel program consists of sets of concurrent and sequential tasks. Often, a reduction (such as ...
We present a compiler and a typed intermediate language for a subset of APL. The intermediate langua...
APL is a dynamically typed language which deals with arrays whose type, number of dimensions (rank)...
Original article is available at: http://www.worldscinet.com Copyright World Scientific Publishing C...
Objective: To study novel ways of representing data arrays for potential application in a microcompu...
Although multicomputers are becoming feasible for solving large problems, they are difficult to prog...
Abstract. Arrays are a common and important class of data. At present, database systems do not provi...
We describe a variant of More's array theory which has an extra function we call promotion. This fun...
Array-oriented programming languages such as APL and J [1] pay special attention, to manipulating ar...
We present a novel programming language design that attempts to combine the clarity and safety of hi...
Abstract Array Algorithms are defined as functional algorithms where each step of the algorithm resu...
A variety of concepts, laws, and notations are presented which facilitate reasoning about arrays. Th...
The array programming paradigm adopts multidimensional arrays as the fundamental data structures of ...
Existing array region representation techniques are sensitive to the complexity of array subscripts....
In previous work we presented a model checking procedure for linear programs, i.e. programs in which...
A parallel program consists of sets of concurrent and sequential tasks. Often, a reduction (such as ...