Distributed Execution of Functional Programs Using Serial Combinators

Paul Hudak, Benjamin Goldberg

Research output: Contribution to journalArticlepeer-review


A general strategy for automatically decomposing and dynamically distributing a functional program is discussed, suitable for parallel execution on multiprocessor architectures with no shared memory. The strategy borrows ideas from data flow and reduction machine research on one hand, and from conventional compiler technology for sequential machines on the other. One of the more troublesome issues in such a system is choosing the right granularity for the parallel tasks. As a solution we describe a program transformation technique based on serial combinators that offers in some sense just the “right” granularity for this style of computing, and that can be “fine-tuned” for particular multiprocessor architectures. We show via simulation the success of our approach.

Original languageEnglish (US)
Pages (from-to)881-891
Number of pages11
JournalIEEE Transactions on Computers
Issue number10
StatePublished - Oct 1985


  • Combinators
  • distributed computing
  • functional programming
  • graph reduction
  • lambda calculus
  • load-balancing
  • multiprocessing
  • parallel computing

ASJC Scopus subject areas

  • Software
  • Theoretical Computer Science
  • Hardware and Architecture
  • Computational Theory and Mathematics


Dive into the research topics of 'Distributed Execution of Functional Programs Using Serial Combinators'. Together they form a unique fingerprint.

Cite this