- Towards Hybrid Array Types in SAC
- CEUR Workshop Proceedings
- Pages (from-to)
- Document type
- Faculty of Science (FNWI)
- Informatics Institute (IVI)
Array programming is characterised by a formal calculus of (regular, dense) multidimensional arrays that defines the relationships between structural properties like rank and shape as well as data set sizes. Operations in the array calculus often impose certain constraints on the relationships of values or structural properties of argument arrays and guarantee certain relationships of values or structural properties of argument and result arrays. However, in all existing array programming languages these relationships are rather implicit and are neither used for static correctness guarantees nor for compiler optimisations.
We propose hybrid array types to make implicit relationships between array values, both value-wise and structural, explicit. We exploit the dual nature of such relations, being requirements as well as evidence at the same time, to insert them either way into intermediate code. Aggressive partial evaluation, code optimisation and auxiliary transformations are used to prove as many explicit constraints as possible at compile time. In particular in the presence of separate compilation, however, it is unrealistic to prove all constraints. To avoid the pitfall of dependent types, where it may be hard to have any program accepted by the type system, we use hybrid types and compile unverified constraints to dynamic checks.
- Proceedings title: SE-WS 2014: Software Engineering Workshops 2014: Gemeinsamer Tagungsband der Workshops der Tagung Software
Engineering 2014: 25.-26. Februar 2014 in Kiel, Deutschland
Place of publication: Aachen
Editors: K. Schmid, W. Böhm, R. Heinrich, A. Herrmann, A. Hoffmann, D. Landes, M. Konersmann, T. Ruhroth, O. Sander, V. Stolz, B. Trancón Widemann, R. Weißbach
If you believe that digital publication of certain material infringes any of your rights or (privacy) interests, please let the Library know, stating your reasons. In case of a legitimate complaint, the Library will make the material inaccessible and/or remove it from the website. Please Ask the Library, or send a letter to: Library of the University of Amsterdam, Secretariat, Singel 425, 1012 WP Amsterdam, The Netherlands. You will be contacted as soon as possible.