Evaluating functional programs on the FLAGSHIP machine
Proc. of a conference on Functional programming languages and computer architecture
Real-time concurrent collection on stock multiprocessors
PLDI '88 Proceedings of the ACM SIGPLAN 1988 conference on Programming Language design and Implementation
Lazy task creation: a technique for increasing the granularity of parallel programs
LFP '90 Proceedings of the 1990 ACM conference on LISP and functional programming
Compiling pattern matching by term decomposition
LFP '90 Proceedings of the 1990 ACM conference on LISP and functional programming
Small domains spell fast strictness analysis
POPL '90 Proceedings of the 17th ACM SIGPLAN-SIGACT symposium on Principles of programming languages
An abstract machine for parallel graph reduction
FPCA '89 Proceedings of the fourth international conference on Functional programming languages and computer architecture
GAML: a parallel implementation of Lazy ML
Proceedings of the 5th ACM conference on Functional programming languages and computer architecture
Efficient compilation of lazy evaluation
SIGPLAN '84 Proceedings of the 1984 SIGPLAN symposium on Compiler construction
Implementation of Lazy Pattern Matching Algorithms
ESOP '88 Proceedings of the 2nd European Symposium on Programming
ICALP '92 Proceedings of the 19th International Colloquium on Automata, Languages and Programming
ALICE a multi-processor reduction machine for the parallel evaluation CF applicative languages
FPCA '81 Proceedings of the 1981 conference on Functional programming languages and computer architecture
Multiprocessor execution of functional programs
Multiprocessor execution of functional programs
On the conversion of indirect to direct recursion
ACM Letters on Programming Languages and Systems (LOPLAS)
Fast strictness analysis based on demand propagation
ACM Transactions on Programming Languages and Systems (TOPLAS)
On the power and limitations of strictness analysis
Journal of the ACM (JACM)
A taxonomy of parallel strategies for deduction
Annals of Mathematics and Artificial Intelligence
Handbook of automated reasoning
Asynchronous and deterministic objects
Proceedings of the 31st ACM SIGPLAN-SIGACT symposium on Principles of programming languages
EQUALS – a fast parallel implementation of a lazy language
Journal of Functional Programming
Hi-index | 0.00 |
This paper describes EQUALS, a fast parallel implementation of a lazy functional language on a commercially available shared-memory parallel machine, the Sequent Symmetry. In contrast to previous implementations, we detect parallelism automatically by propagating exhaustive (normal form) demand. Another important difference between EQUALS and previous implementations is the use of reference counting for memory management instead of garbage collection. Our implementation shows that reference counting leads to very good scalability, low memory requirements and improved locality. We compare our results with sequntial SML/NJ as well as parallel (v, G-machine and GAML implementations.