Communicating sequential processes
Communicating sequential processes
MULTILISP: a language for concurrent symbolic computation
ACM Transactions on Programming Languages and Systems (TOPLAS)
Computer
GRIP—A high-performance architecture for parallel graph reduction
Proc. of a conference on Functional programming languages and computer architecture
The Dutch parallel reduction machine project
Future Generation Computer Systems
Multiprocessor execution of functional programs
International Journal of Parallel Programming
How to write parallel programs: a guide to the perplexed
ACM Computing Surveys (CSUR)
Mul-T: a high-performance parallel Lisp
PLDI '89 Proceedings of the ACM SIGPLAN 1989 Conference on Programming language design and implementation
A bridging model for parallel computation
Communications of the ACM
Parallel graph reduction with the (v , G)-machine
FPCA '89 Proceedings of the fourth international conference on Functional programming languages and computer architecture
The HDG-machine: a highly distributed graph-reducer for a transputer network
The Computer Journal - Special issue: Concurrent programming
Retire Fortran?: a debate rekindled
Communications of the ACM
Higher-order concurrency
Ports for objects in concurrent logic programs
Research directions in concurrent object-oriented programming
Lisp and Symbolic Computation
First-class schedules and virtual maps
FPCA '95 Proceedings of the seventh international conference on Functional programming languages and computer architecture
Programming parallel algorithms
Communications of the ACM
Concurrent programming in ERLANG (2nd ed.)
Concurrent programming in ERLANG (2nd ed.)
GUM: a portable parallel implementation of Haskell
PLDI '96 Proceedings of the ACM SIGPLAN 1996 conference on Programming language design and implementation
pHluid: the design of a parallel functional language implementation on workstations
Proceedings of the first ACM SIGPLAN international conference on Functional programming
A provable time and space efficient implementation of NESL
Proceedings of the first ACM SIGPLAN international conference on Functional programming
Developing a practical projection-based parallel Delaunay algorithm
Proceedings of the twelfth annual symposium on Computational geometry
POPL '96 Proceedings of the 23rd ACM SIGPLAN-SIGACT symposium on Principles of programming languages
COBRA fundamentals and programming
COBRA fundamentals and programming
An overview of the design of Distributed Oz
PASCO '97 Proceedings of the second international symposium on Parallel symbolic computation
Models and languages for parallel computation
ACM Computing Surveys (CSUR)
GOFFIN: higher-order functions meet concurrent constraints
Science of Computer Programming - Special issue on concurrent constraint programming
More types for nested data parallel programming
ICFP '00 Proceedings of the fifth ACM SIGPLAN international conference on Functional programming
An operational semantics for parallel lazy evaluation
ICFP '00 Proceedings of the fifth ACM SIGPLAN international conference on Functional programming
Functional Programming for Loosely-Coupled Multiprocessors
Functional Programming for Loosely-Coupled Multiprocessors
Communication and Concurrency
The Paralation Model: Architecture-Independent Parallel Programming
The Paralation Model: Architecture-Independent Parallel Programming
The Definition of Standard ML
Java 1.2 & Javascript for C/C++ Programmers
Java 1.2 & Javascript for C/C++ Programmers
Lazy Task Creation: A Technique for Increasing the Granularity of Parallel Programs
IEEE Transactions on Parallel and Distributed Systems
The Functional Imperative: Shape!
ESOP '98 Proceedings of the 7th European Symposium on Programming: Programming Languages and Systems
On the Distribution Implementation of Aggregate Data Structures by Program Transformation
Proceedings of the 11 IPPS/SPDP'99 Workshops Held in Conjunction with the 13th International Parallel Processing Symposium and 10th Symposium on Parallel and Distributed Processing
Distributed Programming in a Multi-Paradigm Declarative Language
PPDP '99 Proceedings of the International Conference PPDP'99 on Principles and Practice of Declarative Programming
Distributed Implementation of Programmed Graph Reduction
PARLE '89 Proceedings of the Parallel Architectures and Languages Europe, Volume I: Parallel Architectures
PARLE '91 Proceedings of Parallel Architectures and Languages - Volume II
Mobile Haskell: Compiling Lazy Functional Programs for the Java Virtual Machine
PLILP '98/ALP '98 Proceedings of the 10th International Symposium on Principles of Declarative Programming
Parallel Distributed Programming with Haskell + PVM
Euro-Par '97 Proceedings of the Third International Euro-Par Conference on Parallel Processing
Uniting Functional and Object-Oriented Programming
Proceedings of the First JSSST International Symposium on Object Technologies for Advanced Software
SFP '99 Selected papers from the 1st Scottish Functional Programming Workshop (SFP99)
Optimising Eden by transformation
Selected papers from the 2nd Scottish Functional Programming Workshop (SFP00)
Parallel composition and bulk synchronous parallel functional programming
Selected papers from the 2nd Scottish Functional Programming Workshop (SFP00)
A distributed operational semantics for a parallel functional language
Selected papers from the 2nd Scottish Functional Programming Workshop (SFP00)
Runtime system level fault tolerance for a distributed functional language
Selected papers from the 2nd Scottish Functional Programming Workshop (SFP00)
Controlling parallelism and data distribution in Eden
Selected papers from the 2nd Scottish Functional Programming Workshop (SFP00)
The nofib Benchmark Suite of Haskell Programs
Proceedings of the 1992 Glasgow Workshop on Functional Programming
A Haskell to Java Virtual Machine Code Compiler
IFL '97 Selected Papers from the 9th International Workshop on Implementation of Functional Languages
Comparative Cross-Platform Performance Results from a Parallelizing SML Compiler
IFL '02 Selected Papers from the 13th International Workshop on Implementation of Functional Languages
TS/Scheme: Distributed Data Structures in Lisp
Proceedings of the US/Japan Workshop on Parallel Symbolic Computing: Languages, Systems, and Applications
The Eden Coordination Model for Distributed Memory Systems
HIPS '97 Proceedings of the 1997 Workshop on High-Level Programming Models and Supportive Environments (HIPS '97)
Implementing distributed real-time control systems in a functional programming language
WPDRTS '96 Proceedings of the 4th International Workshop on Parallel and Distributed Real-Time Systems
The Compiler TwoL for the Design of Parallel Implementations
PACT '96 Proceedings of the 1996 Conference on Parallel Architectures and Compilation Techniques
A Paralation Model Implementation Based on a Concurrent Lisp Interpreter Community
PDP '96 Proceedings of the 4th Euromicro Workshop on Parallel and Distributed Processing (PDP '96)
Comparing Parallel Functional Languages: Programming and Performance
Higher-Order and Symbolic Computation
Algorithm + strategy = parallelism
Journal of Functional Programming
Programming Languages, Information Structures, and Machine Organization.
Programming Languages, Information Structures, and Machine Organization.
Functional Vs Object-Oriented Distributed Languages
Computer Aided Systems Theory - EUROCAST 2001-Revised Papers
Parallelism abstractions in eden
Patterns and skeletons for parallel and distributed computing
Comparing Parallel Functional Languages: Programming and Performance
Higher-Order and Symbolic Computation
Special Issue High Performance Parallel Functional Programming
Journal of Functional Programming
Loci: a rule-based framework for parallel multi-disciplinary simulation synthesis
Journal of Functional Programming
Parallel functional programming in Eden
Journal of Functional Programming
Haskell on a shared-memory multiprocessor
Proceedings of the 2005 ACM SIGPLAN workshop on Haskell
Dryad: distributed data-parallel programs from sequential building blocks
Proceedings of the 2nd ACM SIGOPS/EuroSys European Conference on Computer Systems 2007
Observing intermediate structures in a parallel lazy functional language
Proceedings of the 9th ACM SIGPLAN international conference on Principles and practice of declarative programming
An Institutional Theory for #-Components
Electronic Notes in Theoretical Computer Science (ENTCS)
A Debugger for Parallel Haskell Dialects
ICA3PP '08 Proceedings of the 8th international conference on Algorithms and Architectures for Parallel Processing
Runtime support for multicore Haskell
Proceedings of the 14th ACM SIGPLAN international conference on Functional programming
Parallel performance tuning for Haskell
Proceedings of the 2nd ACM SIGPLAN symposium on Haskell
Distributed aggregation for data-parallel computing: interfaces and implementations
Proceedings of the ACM SIGOPS 22nd symposium on Operating systems principles
To be or not to be ...lazy (In a Parallel Context)
Electronic Notes in Theoretical Computer Science (ENTCS)
Comparing alternative evaluation strategies for stream-based parallel functional languages
IFL'06 Proceedings of the 18th international conference on Implementation and application of functional languages
Parallel coordination made explicit in a functional setting
IFL'06 Proceedings of the 18th international conference on Implementation and application of functional languages
Distributed applications implemented in maude with parameterized skeletons
FMOODS'07 Proceedings of the 9th IFIP WG 6.1 international conference on Formal methods for open object-based distributed systems
A tutorial on parallel and concurrent programming in Haskell
AFP'08 Proceedings of the 6th international conference on Advanced functional programming
OSDI'08 Proceedings of the 8th USENIX conference on Operating systems design and implementation
Seq no more: better strategies for parallel Haskell
Proceedings of the third ACM Haskell symposium on Haskell
A domain-specific approach to heterogeneous parallelism
Proceedings of the 16th ACM symposium on Principles and practice of parallel programming
Proceedings of the fifth international workshop on High-level parallel programming and applications
Testing speculative work in a lazy/eager parallel functional language
LCPC'05 Proceedings of the 18th international conference on Languages and Compilers for Parallel Computing
Improving performance of distributed haskell in mosix clusters
ICCS'05 Proceedings of the 5th international conference on Computational Science - Volume Part III
IFL'03 Proceedings of the 15th international conference on Implementation of Functional Languages
Haskell vs. f# vs. scala: a high-level language features and parallelism support comparison
Proceedings of the 1st ACM SIGPLAN workshop on Functional high-performance computing
Implementing a high-level distributed-memory parallel haskell in haskell
IFL'11 Proceedings of the 23rd international conference on Implementation and Application of Functional Languages
Hi-index | 0.00 |
Parallel and distributed languages specify computations on multiple processors and have a computation language to describe the algorithm, i.e. what to compute, and a coordination language to describe how to organise the computations across the processors. Haskell has been used as the computation language for a wide variety of parallel and distributed languages, and this paper is a comprehensive survey of implemented languages. We outline parallel and distributed language concepts and classify Haskell extensions using them. Similar example programs are used to illustrate and contrast the coordination languages, and the comparison is facilitated by the common computation language. A lazy language is not an obvious choice for parallel or distributed computation, and we address the question of why Haskell is a common functional computation language.