Parallel functional programming on recursively defined data via data-parallel recursion

Susumu Nishimura, Atsushi Ohori

Research output: Contribution to journalArticlepeer-review

8 Citations (Scopus)


This article proposes a new language mechanism for data-parallel processing of dynamically allocated recursively defined data. Different from the conventional array-based data-parallelism, it allows parallel processing of general recursively defined data such as lists or trees in a functional way. This is achieved by representing a recursively defined datum as a system of equations, and defining new language constructs for parallel transformation of a system of equations. By integrating them with a higher-order functional language, we obtain a functional programming language suitable for describing data-parallel algorithms on recursively defined data in a declarative way. The language has an ML style polymorphic type system and a type sound operational semantics that uniformly integrates the parallel evaluation mechanism with the semantics of a typed functional language. We also show the intended parallel execution model behind the formal semantics, assuming an idealized distributed memory multicomputer.

Original languageEnglish
Pages (from-to)427-462
Number of pages36
JournalJournal of Functional Programming
Issue number4
Publication statusPublished - 1999 Jul
Externally publishedYes

ASJC Scopus subject areas

  • Software


Dive into the research topics of 'Parallel functional programming on recursively defined data via data-parallel recursion'. Together they form a unique fingerprint.

Cite this