The specificity rule for lazy pattern-matching in ambiguous term rewrite systems
Proceedings of the third European symposium on programming on ESOP '90
POPL '96 Proceedings of the 23rd ACM SIGPLAN-SIGACT symposium on Principles of programming languages
When is a functional program not a functional program?
Proceedings of the fourth ACM SIGPLAN international conference on Functional programming
An implementation of parallel pattern-matching via concurrent haskell
ACSC '02 Proceedings of the twenty-fifth Australasian conference on Computer science - Volume 4
Combining Inheritance and Parametric Polymorphism in a Functional Database Language
BNCOD 13 Proceedings of the 13th British National Conference on Databases: Advances in Databases
Pattern minimization problems over recursive data types
Proceedings of the 13th ACM SIGPLAN international conference on Functional programming
Hi-index | 0.00 |
Parallel pattern-matching (PPM) provides true commutative implementation of functions defined by cases in functional languages, because no argument is given precedence over any other. However, the requirement for concurrency (in general) to support these semantics means that current implementations incur a significant performance penalty over simple, traditional left-to-right semantics. We describe a source-level program transformation scheme that analyses a PPM definition and is often able to generate an equivalent definition that can be executed without concurrency. Where sequential implementation is not possible, the scheme is sometimes able to generate an equivalent definition that reduces the number of concurrent threads required to execute a definition. This transformation scheme promises to deliver a major improvement in the performance of PPM implementations.