TY - JOUR
T1 - Parallel functional programming on recursively defined data via data-parallel recursion
AU - Nishimura, Susumu
AU - Ohori, Atsushi
PY - 1999/7
Y1 - 1999/7
N2 - 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.
AB - 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.
UR - http://www.scopus.com/inward/record.url?scp=0033468357&partnerID=8YFLogxK
UR - http://www.scopus.com/inward/citedby.url?scp=0033468357&partnerID=8YFLogxK
U2 - 10.1017/S0956796899003457
DO - 10.1017/S0956796899003457
M3 - Article
AN - SCOPUS:0033468357
SN - 0956-7968
VL - 9
SP - 427
EP - 462
JO - Journal of Functional Programming
JF - Journal of Functional Programming
IS - 4
ER -