Equational logic as a programming language
Equational logic as a programming language
Comparison of priority rules in pattern matching and term rewriting
Journal of Symbolic Computation
Handbook of theoretical computer science (vol. B)
Report on the programming language Haskell: a non-strict, purely functional language version 1.2
ACM SIGPLAN Notices - Haskell special issue
SIAM Journal on Computing
Journal of the ACM (JACM)
Efficient automata-driven pattern-matching for equational programs
Software—Practice & Experience
Improving Space, Time, and Termination in Rewriting-Based Programming
Proceedings of the 14th International conference on Industrial and engineering applications of artificial intelligence and expert systems: engineering of intelligent systems
Left-to-Right Tree Pattern Matching
RTA '91 Proceedings of the 4th International Conference on Rewriting Techniques and Applications
Optimal Left-to-Right Pattern-Matching Automata
ALP '97-HOA '97 Proceedings of the 6th International Joint Conference on Algebraic and Logic Programming
LFP '84 Proceedings of the 1984 ACM Symposium on LISP and functional programming
Efficient pattern matching for non-strongly sequential term rewriting systems
IEA/AIE'2003 Proceedings of the 16th international conference on Developments in applied artificial intelligence
Compiling pattern matching to good decision trees
Proceedings of the 2008 ACM SIGPLAN workshop on ML
Complete pattern matching: recursivity versus multi-threading
VECPAR'04 Proceedings of the 6th international conference on High Performance Computing for Computational Science
Hi-index | 0.00 |
We propose a practical technique to compile pattern matching for prioritised overlapping patterns in equational languages into a minimal, deterministic, adaptive, matching automaton. Compared with left-to-right matching automata, adaptive ones have a smaller size and allow shorter matching time. They may improve termination properties as well. Here, space requirements are further reduced by using directed acyclic graphs (dags) automata that shares all the isomorphic subautomata. We design an efficient method to identify such subautomata and hence avoid duplicating their construction while generating the minimised dag automaton.