Compiling APL: the Yorktown APL translator
IBM Journal of Research and Development
An APL compiler
Implementing Haskell overloading
FPCA '93 Proceedings of the conference on Functional programming languages and computer architecture
Compiler transformations for high-performance computing
ACM Computing Surveys (CSUR)
An introduction to STSC's APL compiler
APL '85 Proceedings of the international conference on APL: APL and the future
APL '85 Proceedings of the international conference on APL: APL and the future
Efficient dynamic dispatch without virtual function tables: the SmallEiffel compiler
Proceedings of the 12th ACM SIGPLAN conference on Object-oriented programming, systems, languages, and applications
APL '98 Proceedings of the APL98 conference on Array processing language
Garbage Collection of Linked Data Structures
ACM Computing Surveys (CSUR)
A comparative study of the NAS MG benchmark across parallel languages and architectures
Proceedings of the 2000 ACM/IEEE conference on Supercomputing
A Case Study: Effects of WITH-Loop-Folding on the NAS Benchmark MG in SAC
IFL '98 Selected Papers from the 10th International Workshop on 10th International Workshop
HPF vs. SAC - A Case Study (Research Note)
Euro-Par '00 Proceedings from the 6th International Euro-Par Conference on Parallel Processing
A programming language
ACM SIGAPL APL Quote Quad
On optimising shape-generic array programs using symbolic structural information
IFL'06 Proceedings of the 18th international conference on Implementation and application of functional languages
Descriptor-free representation of arrays with dependent types
IFL'08 Proceedings of the 20th international conference on Implementation and application of functional languages
Asynchronous adaptive optimisation for generic data-parallel array programming
Concurrency and Computation: Practice & Experience
Hi-index | 0.00 |
In order to achieve a high level of abstraction, array-oriented languages provide language constructs for defining array operations in a shape-invariant way. However, when trying to compile such generic array operations into efficiently executable code, static knowledge of exact shapes is essential. Therefore, modern compilers try to infer the shapes of all arrays used in a program.Unfortunately, shape inference is generally undecidable. Therefore,most compilers either rule out all programs for which shape inference fails, or they perform no shape inference at all. In the first case the expressive power of the language is restricted, in the latter the generated code has a weak runtime performance.This paper presents a new compilation scheme for the language Sac which combines these two approaches in order to avoid their individual shortcomings. A preliminary performance evaluation demonstrates the benefits of this compilation scheme.