The Bird-Meertens Formalism as a Parallel Model

The expense of developing and maintaining software is the major obstacle to the routine use of parallel computation. Architecture independent programming offers a way of avoiding the problem, but the requirements for a model of parallel computation that will permit it are demanding. The Bird-Meertens formalism is an approach to developing and executing data-parallel programs; it encourages software development by equational transformation; it can be implemented efficiently across a wide range of architecture families; and it can be equipped with a realistic cost calculus, so that trade-offs in software design can be explored before implementation. It makes an ideal model of parallel computation.

[1]  S. Peyton-jones,et al.  Implementation of Functional Languages , 1997, Lecture Notes in Computer Science.

[2]  Wentong Cai,et al.  A Cost Calculus for Parallel Functional Programming , 1995, J. Parallel Distributed Comput..

[3]  D. L. Métayer,et al.  Mechanical analysis of program complexity , 1985, SLIPE '85.

[4]  Richard S. Bird,et al.  An introduction to the theory of lists , 1987 .

[5]  Leslie G. Valiant,et al.  A bridging model for parallel computation , 1990, CACM.

[6]  Nicholas Carriero,et al.  Applications experience with Linda , 1988, PPoPP 1988.

[7]  David Gelernter,et al.  Generative communication in Linda , 1985, TOPL.

[8]  Jeremy Gibbons Algebras for tree algorithms , 1991 .

[9]  Guy E. Blelloch,et al.  Scans as Primitive Parallel Operations , 1989, ICPP.

[10]  Gary Sabot The paralation model - architecture-independent parallel programming , 1988 .

[11]  VishkinUzi,et al.  Randomized and deterministic simulations of PRAMs by parallel machines with restricted granularity of parallel memories , 1984 .

[12]  Nicholas Carriero,et al.  Matching Language and Hardware for Parallel Computation in the Linda Machine , 1988, IEEE Trans. Computers.

[13]  Leslie G. Valiant,et al.  General Purpose Parallel Architectures , 1991, Handbook of Theoretical Computer Science, Volume A: Algorithms and Complexity.

[14]  Guy E. Blelloch,et al.  Vector Models for Data-Parallel Computing , 1990 .

[15]  J. Michael Spivey A Categorial Approch to the Theory of Lists , 1989, MPC.

[16]  Jr. Nicholas John Carriero Implementation of tuple space machines , 1987 .

[17]  Nicholas Carriero,et al.  Applications experience with Linda , 1988, PPEALS '88.

[18]  Murray Cole,et al.  Algorithmic Skeletons: Structured Management of Parallel Computation , 1989 .

[19]  Richard S. Bird,et al.  Formal Derivation of a Pattern Matching Algorithm , 1989, Sci. Comput. Program..

[20]  Daniel Le Métayer Mechanical analysis of program complexity , 1985, ACM SIGPLAN Notices.

[21]  Richard S. Bird,et al.  Algebraic Identities for Program Calculation , 1989, Comput. J..

[22]  David Sands,et al.  Calculi for time analysis of functional programs , 1990 .

[23]  Abhiram G. Ranade,et al.  Fluent parallel computation , 1989 .

[24]  Leslie G. Valiant,et al.  Optimally universal parallel computers , 1988 .

[25]  Richard S. Bird,et al.  Lectures on Constructive Functional Programming , 1989 .

[26]  Alastair Allen,et al.  Transputer Systems Ongoing Research , 1992 .

[27]  Richard P. Brent,et al.  The Parallel Evaluation of General Arithmetic Expressions , 1974, JACM.

[28]  Grant Malcolm,et al.  Algebraic Data Types and Program Transformation , 1990 .

[29]  Richard S. Bird,et al.  A calculus of functions for program derivation , 1990 .

[30]  David Sands,et al.  Complexity Analysis for a Lazy Higher-Order Language , 1989, Functional Programming.