MULTILISP: a language for concurrent symbolic computation
ACM Transactions on Programming Languages and Systems (TOPLAS)
Communications of the ACM - Special issue on parallelism
Computer
An introduction to the theory of lists
Proceedings of the NATO Advanced Study Institute on Logic of programming and calculi of discrete design
The definition of Standard ML
Vector models for data-parallel computing
Vector models for data-parallel computing
A parallel Lisp language PaiLisp and its kernel specification
Proceedings of the US/Japan workshop on Parallel Lisp on Parallel Lisp: languages and systems
Data-parallel programming on MIMD computers
Data-parallel programming on MIMD computers
Algorithmic skeletons: structured management of parallel computation
Algorithmic skeletons: structured management of parallel computation
Report on the programming language Haskell: a non-strict, purely functional language version 1.2
ACM SIGPLAN Notices - Haskell special issue
An introduction to parallel algorithms
An introduction to parallel algorithms
Transforming high-level data-parallel programs into vector operations
PPOPP '93 Proceedings of the fourth ACM SIGPLAN symposium on Principles and practice of parallel programming
On the relation between functional and data parallel programming languages
FPCA '93 Proceedings of the conference on Functional programming languages and computer architecture
Plurals: a SIMD extension to EuLisp
Lisp and Symbolic Computation
Efficient compilation of high-level data parallel algorithms
SPAA '94 Proceedings of the sixth annual ACM symposium on Parallel algorithms and architectures
Supporting dynamic data structures on distributed-memory machines
ACM Transactions on Programming Languages and Systems (TOPLAS)
Foundations of parallel programming
Foundations of parallel programming
An equational object-oriented data model and its data-parallel query language
Proceedings of the 11th ACM SIGPLAN conference on Object-oriented programming, systems, languages, and applications
Parallelization in calculational forms
POPL '98 Proceedings of the 25th ACM SIGPLAN-SIGACT symposium on Principles of programming languages
The Paralation Model: Architecture-Independent Parallel Programming
The Paralation Model: Architecture-Independent Parallel Programming
Principal type-schemes for functional programs
POPL '82 Proceedings of the 9th ACM SIGPLAN-SIGACT symposium on Principles of programming languages
A Calculational Approach to Flattening Nested Data Parallelism in Functional Languages
ASIAN '96 Proceedings of the Second Asian Computing Science Conference on Concurrency and Parallelism, Programming, Networking, and Security
The Data-Parallel Categorical Abstract Machine
PARLE '93 Proceedings of the 5th International PARLE Conference on Parallel Architectures and Languages Europe
Parallel Programming Using Skeleton Functions
PARLE '93 Proceedings of the 5th International PARLE Conference on Parallel Architectures and Languages Europe
Data Parallel Implementation of Extensible Sparse Functional Arrays
PARLE '93 Proceedings of the 5th International PARLE Conference on Parallel Architectures and Languages Europe
STACS '87 Proceedings of the 4th Annual Symposium on Theoretical Aspects of Computer Science
Functional Parallel Programming with Explicit Processes: Beyond SPMD
Euro-Par '97 Proceedings of the Third International Euro-Par Conference on Parallel Processing
WSA '93 Proceedings of the Third International Workshop on Static Analysis
A SIMD Environment TUPLE for Parallel List Processing
Proceedings of the US/Japan Workshop on Parallel Symbolic Computing: Languages, Systems, and Applications
NESL: A Nested Data-Parallel Language (Version 2.6)
NESL: A Nested Data-Parallel Language (Version 2.6)
The Complexity of Parallel Computations
The Complexity of Parallel Computations
Reasoning about data-parallel pointer programs in a modal extension of separation logic
AMAST'06 Proceedings of the 11th international conference on Algebraic Methodology and Software Technology
Automatic parallelization of recursive functions using quantifier elimination
FLOPS'10 Proceedings of the 10th international conference on Functional and Logic Programming
Hi-index | 0.00 |
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.