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.