Parallel Programming with Pure Functional Languages

The use of pure functional languages is often quoted as facilitating the production of parallel algorithms. In this paper we examine the claim that programs written in pure functional languages can be easily transformed into programs which are suitable for implementation on a parallel machine. In particular, we investigate the transformation of a program to a form which is suitable for implementation on a pipelined process network, and then annotate the resulting network using a declarative language called Caliban.

[1]  Geoffrey L. Burn,et al.  Evaluation transformers - a model for the parallel evaluation of functional languages (extended abstract) , 1987, FPCA.

[2]  D. A. Turner,et al.  A new implementation technique for applicative languages , 1979, Softw. Pract. Exp..

[3]  Paul H. J. Kelly Functional programming for loosely-coupled multiprocessors , 1989, Research monographs in parallel and distributed computing.

[4]  P. H. Hartel,et al.  Performance analysis of storage management in combinator graph reduction , 1989 .

[5]  Benjamin Goldberg Buckwheat: graph reduction on a shared-memory multiprocessor , 1988, LFP '88.

[6]  Daniel Le Métayer,et al.  A new computational model and its discipline of programming , 1986 .

[7]  David May,et al.  A Tutorial Introduction To Occam Programming , 1987 .

[8]  Marina C. Chen A parallel language and its compilation to multiprocessor machines or VLSI , 1986, POPL '86.

[9]  Paul Hudak,et al.  Serial Combinators: "Optimal" Grains of Parallelism , 1985, FPCA.

[10]  Robert H. Halstead,et al.  Lazy task creation: a technique for increasing the granularity of parallel programs , 1990, LISP and Functional Programming.

[11]  Paul Hudak,et al.  Para-functional programming: a paradigm for programming multiprocessor systems , 1986, POPL '86.

[12]  Rachel Harrison Pure functional languages and parallelism , 1991 .

[13]  Peter Henderson,et al.  Functional programming - application and implementation , 1980, Prentice Hall International Series in Computer Science.

[14]  Milos D. Ercegovac,et al.  vFP: An Environment for the Multi-level Specification, Analysis, and Synthesis of Hardware Algorithms , 1985, FPCA.

[15]  Mary Sheeran,et al.  muFP, a language for VLSI design , 1984, LFP '84.

[16]  兰芳 IMS T800 Transputer , 1989 .