We are currently experimenting with an alternative array infrastructure for Haskell, which aims at high-performance sequential and parallel array processing. The programming interface is inspired by NESL's vector data type. However, we have lifted many of the restrictions from NESL, so that arrays may not only be nested, but they may contain values of arbitrary product, sum, and recursive types. Our implementation method, which is based on an extended and improved flattening transformation, aims at a wide range of architectures, including vector processors, shared memory, and distributed memory machines. First experiments indicate that the extension can provide an efficient implementation of polymorphic arrays for sequential Haskell. This talk gives an overview of the compilation route, the applied techniques, and discusses some open problems and planned future work.
Host: Robert Harper
Appointments: Debbie Cavlovich