Collection-oriented languages provide high-level constructs for describing computations over collections. These languages are becoming increasingly popular with the advent of massively parallel SIMD machines. Even on serial machines, collection-oriented languages are interesting because they allow the user to describe computation in a concise manner. In addition, these languages can easily be compiled on superpipelined, superscalar, and vector machines because they are so rich in simple loops. In this paper we implement Sabot's paralation model 7 , a collection-oriented language extension for expressing elementwise computation and explicit communication. We extend the Scheme programming language, a dialect of Lisp with lexical scope and rst-class procedures, basing our implementation on Sabot and Blelloch's original code written in Common Lisp. We have taken particular care to remove all unnecessary side-e ects. This re-packaging has taken two forms. First, many of the side-e...
Eric T. Freeman, Daniel P. Friedman