MULTILISP: a language for concurrent symbolic computation
ACM Transactions on Programming Languages and Systems (TOPLAS)
Algebraic theory of processes
Speedup Versus Efficiency in Parallel Systems
IEEE Transactions on Computers
The semantics of programming languages: an elementary introduction using structural operational semantics
Implementation of a portable nested data-parallel language
PPOPP '93 Proceedings of the fourth ACM SIGPLAN symposium on Principles and practice of parallel programming
A natural semantics for lazy evaluation
POPL '93 Proceedings of the 20th ACM SIGPLAN-SIGACT symposium on Principles of programming languages
First-class schedules and virtual maps
FPCA '95 Proceedings of the seventh international conference on Functional programming languages and computer architecture
GUM: a portable parallel implementation of Haskell
PLDI '96 Proceedings of the ACM SIGPLAN 1996 conference on Programming language design and implementation
GOFFIN: higher-order functions meet concurrent constraints
Science of Computer Programming - Special issue on concurrent constraint programming
Communication and Concurrency
PARLE '91 Proceedings of Parallel Architectures and Languages - Volume II
Evaluation Annotations for Hope+
Proceedings of the 1989 Glasgow Workshop on Functional Programming
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)
Algorithm + strategy = parallelism
Journal of Functional Programming
A Single-Step Term-Graph Reduction System for Proof Assistants
Applications of Graph Transformations with Industrial Relevance
Hi-index | 0.00 |
Parallel programs must describe both computation and coordination, i.e. what to compute and how to organise the computation. In functional languages equational reasoning is often used to reason about computation. In contrast, there have been many different coordination constructs for functional languages, and far less work on reasoning about coordination. We present an initial semantics for GpH, a small extension of the Haskell language, that allows us to reason about coordination. In particular we can reason about work, average parallelism and runtime. The semantics captures the notions of limited (physical) resources, the preservation of sharing, and speculative evaluation. We show a consistency result with Launchbury's well-known lazy semantics.