This paper aims to foster cross-fertilisation between programming language and compiler research performed on different array programming language infrastructures. We study how to enable better comparability of concepts and techniques by looking into generic translations between array languages. Our approach is based on the idea of a basic core language Heh which only captures the absolute essentials of array languages: multi-dimensional arrays and shape-invariant operations on them. Subsequently, we investigate how to map these constructs into several existing languages:
SaC, APL, Julia, Python, and C. This approach provides us with some first understanding on how the peculiarities of these languages affect their suitability for expressing the basic building-blocks of array languages. We show that the existing tool-chains by-and-large are very sensitive to the way code is specified. Furthermore, we expose several fundamental programming patterns where optimisations missing in one or the other tool chain inhibit fair comparisons and, with it, cross-fertilisation.
Tue 19 JunDisplayed time zone: Eastern Time (US & Canada) change
10:00 - 10:35 | |||
10:00 35mTalk | A Rosetta Stone for Array Languages ARRAY Artjoms Šinkarovs Heriot-Watt University, UK, Robert Bernecky Snake Island Research, Hans-Nikolai Vießmann Heriot-Watt University, UK, Sven-Bodo Scholz Heriot-Watt University |