Structuring Arrays with Algebraic Shapes
Static type systems help prevent errors, improve abstractions, and enable optimisations. There is a whole spectrum of type systems for general-purpose languages, covering a wide range of safety guarantees and expressivity. Despite this, type systems for array programming languages are usually at one of two extremes. In the majority of cases they are nearly untyped, only distinguishing array types by element type or number of dimensions. Otherwise, they tend to reach for powerful dependent types. However, it is difficult to extend existing solutions with a dependent type system, and some problems become undecidable when we do so. Practical array programming – in data science, machine learning and the like – sticks to the bliss of dynamic typing.
Authors
- Alan Mycroft (ORCID: https://orcid.org/0000-0001-7013-8572)
- Dominic Orchard (ORCID: https://orcid.org/0000-0002-7058-7842)
- Jakub Bachurski (ORCID: https://orcid.org/0009-0000-7210-3760)
Institutions
- University of Kent (GB)
- University of Cambridge (GB)
Publication Details
- Published
- 2025-06-13
- DOI
- https://doi.org/10.1145/3736112.3736141
- Citations
- 1
- Primary Topic
- Cellular Automata and Applications
- Type
- article
- Field-Weighted Citation Impact
- 1.50