Proceedings of ACM SIGPLAN International Workshop on Libraries, Languages, and Compilers for Array Programming 2014
DOI: 10.1145/2627373.2627390
|View full text |Cite
|
Sign up to set email alerts
|

Compiling a Subset of APL Into a Typed Intermediate Language

Abstract: We present a compiler and a typed intermediate language for a subset of APL. The intermediate language treats all numeric data as multi-dimensional arrays and the type system makes explicit the ranks of arrays. Primitive operators are polymorphic in rank and in the type of the underlying data operated on.The frontend of the APL compiler deals with much of the gory details of the APL language, including infix resolution, resolution of identity items for reduce operations, resolution of default element values fo… Show more

Help me understand this report

Search citation statements

Order By: Relevance

Paper Sections

Select...
2
1
1

Citation Types

1
14
0

Year Published

2014
2014
2017
2017

Publication Types

Select...
3
1
1

Relationship

3
2

Authors

Journals

citations
Cited by 18 publications
(15 citation statements)
references
References 17 publications
1
14
0
Order By: Relevance
“…Figure 3 shows the TAIL syntax supported by the compiler. The syntax deviates somewhat from the grammar described in [11], which has been updated to work with character and boolean arrays.…”
Section: Tailmentioning
confidence: 99%
See 2 more Smart Citations
“…Figure 3 shows the TAIL syntax supported by the compiler. The syntax deviates somewhat from the grammar described in [11], which has been updated to work with character and boolean arrays.…”
Section: Tailmentioning
confidence: 99%
“…Our previous work on APLTAIL [11] compiles a subset of APL into a typed array intermediate language called TAIL. In this paper, we present a compiler from TAIL to Haskell source code, which employs the Accelerate library [6].…”
Section: Introductionmentioning
confidence: 99%
See 1 more Smart Citation
“…Finally, another approach, taken by languages in the APL family, is to extend the language operators in a way that guarantees that out-of-bounds indices cannot occur [7]. This typically introduces non-affine indexing that might hinder subsequent optimizations.…”
Section: Related Workmentioning
confidence: 99%
“…A somewhat orthogonal approach has been to extend the language operators such that size and bounds checking invariants always hold [12], the downfall being that non-affine indexing might appear. The Futhark strategy is instead to rely on advanced program analysis and compilation techniques to implement a pay-as-you-go scheme for programming massively parallel architectures.…”
Section: Related Workmentioning
confidence: 99%