Vectors are Shaped Lists

C. Barry Jay

Shape theory supports abstraction of data structures independently of the data that is stored within them. For example, one may talk of a shape that stores real numbers, without knowing whether the shape is a tree or an array. Shape information is one of the keys to successful parallel programming, as it supports error detection, efficient data distribution and redistribution, and load balancing.

This talk will introduce our higher-order functional language Vec for vectors and arrays, and show how shape analysis yields these desired benefits, including a new divide-and-conquer algorithm.

If there is time, I will discuss our plans for extending Vec to support imperative features, so that we can embed native code from other languages.