Producing good code for the case statement
Software—Practice & Experience
Proc. of a conference on Functional programming languages and computer architecture
Compiling lazy pattern matching
LFP '92 Proceedings of the 1992 ACM conference on LISP and functional programming
Compiling pattern matching by term decomposition
Journal of Symbolic Computation
PLDI '94 Proceedings of the ACM SIGPLAN 1994 conference on Programming language design and implementation
Interprocedural conditional branch elimination
Proceedings of the ACM SIGPLAN 1997 conference on Programming language design and implementation
Constant propagation with conditional branches
POPL '85 Proceedings of the 12th ACM SIGACT-SIGPLAN symposium on Principles of programming languages
A compact, machine-independent peephole optimizer
POPL '79 Proceedings of the 6th ACM SIGACT-SIGPLAN symposium on Principles of programming languages
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
MK Pattern Match Compilation and Partial Evaluation
Selected Papers from the Internaltional Seminar on Partial Evaluation
Compiling a functional language
LFP '84 Proceedings of the 1984 ACM Symposium on LISP and functional programming
When Do Match-compilation Heuristics Matter?
When Do Match-compilation Heuristics Matter?
ICFP '03 Proceedings of the eighth ACM SIGPLAN international conference on Functional programming
Formal validation of pattern matching code
PPDP '05 Proceedings of the 7th ACM SIGPLAN international conference on Principles and practice of declarative programming
Efficient manipulation of binary data using pattern matching
Journal of Functional Programming
Mixing signals and modes in synchronous data-flow systems
EMSOFT '06 Proceedings of the 6th ACM & IEEE International conference on Embedded software
Ablego: a function outlining and partial inlining framework: Research Articles
Software—Practice & Experience
Efficient implementation of tuple pattern based retrieval
Proceedings of the 2007 ACM SIGPLAN symposium on Partial evaluation and semantics-based program manipulation
Extensible pattern matching via a lightweight language extension
ICFP '07 Proceedings of the 12th ACM SIGPLAN international conference on Functional programming
Pattern minimization problems over recursive data types
Proceedings of the 13th ACM SIGPLAN international conference on Functional programming
Compiling pattern matching to good decision trees
Proceedings of the 2008 ACM SIGPLAN workshop on ML
Proceedings of the 36th annual ACM SIGPLAN-SIGACT symposium on Principles of programming languages
Synchronous Dataflow Pattern Matching
Electronic Notes in Theoretical Computer Science (ENTCS)
Proceedings of the 15th ACM SIGPLAN international conference on Functional programming
From notation to semantics: there and back again
MKM'06 Proceedings of the 5th international conference on Mathematical Knowledge Management
PADL'10 Proceedings of the 12th international conference on Practical Aspects of Declarative Languages
Matching objects with patterns
ECOOP'07 Proceedings of the 21st European conference on Object-Oriented Programming
Compiling contextual objects: bringing higher-order abstract syntax to programmers
PLPV '13 Proceedings of the 7th workshop on Programming languages meets program verification
Producing certified functional code from inductive specifications
CPP'12 Proceedings of the Second international conference on Certified Programs and Proofs
Reconciling exhaustive pattern matching with objects
Proceedings of the 34th ACM SIGPLAN conference on Programming language design and implementation
Proceedings of the 12th international conference on Generative programming: concepts & experiences
Hi-index | 0.03 |
We present improvements to the backtracking technique of pattern-matching compilation. Several optimizations are introduced, such as commutation of patterns, use of exhaustiveness information, and control flow optimization through the use of labeled static exceptions and context information. These optimizations have been integrated in the Objective-Caml compiler. They have shown good results in increasing the speed of pattern-matching intensive programs, without increasing final code size.