2018-05-30: Artjoms Šinkarovs and Peter Hancock (Heriot-Watt)

Tue, 14 Oct 2025 16:51:42 +0000

Artjoms Šinkarovs and Peter Hancock (Heriot-Watt)

Multi-Dimensional Arrays and their Types

Abstract

Though Multi-Dimensional Arrays (MDAs) seem conceptually straightforward, it's not easy to come up with a mathematical theory of arrays that can be used within optimising compilers. We'd like to treat arrays as functions from indices to values with some domain restrictions. It is desirable that these domain restrictions are specified in a compact form, and are equipped with closed algebraic operations like intersection, union, etc. We are going to consider a few typical models like hyperrectangulars, grids and polyhedrons.

When typing array operations, ideally we'd like to find a balance between tracking all the shapes of arrays and allowing for generic array operations. This proves to be tricky, for reasons we'll explain.

We will propose, tentatively, an analysis of MDAs in terms of container functors. The aim is to supply concepts helpful when thinking about MDAs, e.g. when designing notations for coding with arrays. Some intriguing gadgetry shows up.

2018-05-30 11:00:00 UTC
LT1310