Abstract
Pattern-matching is a fundamental feature in many applications such as logic programming [5], [13], theorem proving [4], term rewriting and rule- based expert systems [3]. Usually, patterns size is not constrained and ambiguous patterns are allowed. This generality leads to a clear and concise programming style. However, it yields challenging problems in the compilation of such programming languages. In this work, we deal with such problems in order to improve time and space requirements of pattern-matching as well as termination properties of term evaluation.
Access this chapter
Tax calculation will be finalised at checkout
Purchases are for personal use only
Preview
Unable to display preview. Download preview PDF.
References
A. Augustsson, A Compiler for Lazy ML, Proc. ACM Conference on Lisp and Functional Programming, ACM, pp. 218–227, 1984.
J. Christian, Flatterms, Discrimination Nets and Fast Term Rewriting, Journal of Automated Reasoning, vol. 10, pp. 95–113, 1993.
D. Cooper and N. Wogrin, Rule-Based Programming with OPS5, Morgan Kaufmann, San Francisco, 1988.
N. Dershowitz and J. P. Jouannaud, Rewrite Systems, Handbook of Theoretical Computer Science, vol. 2, chap. 6, Elsevier Science Publishers, 1990.
A. J. Field and P. G. Harrison, Functional Programming, International Computer Science Series, 1988.
J. A Goguen and T. Winkler, Introducing OBJ3, Technical report SRI-CSL-88-9, Computer Science Laboratory, SRI International, 1998.
A. Gräf, Left-to-Right Tree Pattern-Matching, Proc. Conference on Rewriting Techniques and Applications, Lecture Notes in Computer Science, vol. 488, pp. 323–334, 1991.
C. M. Hoffman and M. J. O’Donnell, Pattern-Matching in Trees, Journal of ACM, vol. 29, no 1, pp. 68–95, 1982.
P. Hudak and al., Report on the Programming Language Haskell: a Non-Strict, Purely Functional Language, Sigplan Notices, Section S, May 1992.
A. Laville, Comparison of Priority Rules in Pattern Matching and Term Rewriting, Journal of Symbolic Computation, no 11, pp. 321–347, 1991.
N. Nedjah, C. D. Walter and S. E. Eldridge, Optimal Left-to-Right Pattern-Matching Automata, Proc. Conference on Algebraic and Logic Programming, Southampton, UK, Lecture Notes in Computer Science, Springer-Verlag, vol. 1298, pp. 273–285, 1997.
N. Nedjah, C. D. Walter and S. E. Eldridge, Efficient Automata-Driven Pattern-Matching for Equational programs, Software-Practice and Experience, John Wiley Eds., vol. 29, no 9, pp. 793–813, 1999.
M. J. O’Donnell, Equational Logic as Programming Language, MIT Press, 1985.
R. C. Sekar, R. Ramesh and I. V. Ramakrishnan, Adaptive Pattern-Matching, SIAM Journal, vol. 24, no 5, pp. 1207–1234, 1995.
D. A. Turner, Miranda: a Non Strict Functional Language with Plymorphic Types, Proc. Conference on Lisp and Functional Languages, ACM, pp. 1–16, 1985.
P. Wadler, Efficient Compilation of Pattern-Matching, In “The Implementation of Functional Programming Languages”, S.L. Peyton-Jones, Prentice-Hall International, pp. 78–103, 1987.
Author information
Authors and Affiliations
Editor information
Editors and Affiliations
Rights and permissions
Copyright information
© 2001 Springer-Verlag Berlin Heidelberg
About this paper
Cite this paper
Nedjah, N., de Macedo Mourelle, L. (2001). Improving Space, Time, and Termination in Rewriting-Based Programming. In: Monostori, L., Váncza, J., Ali, M. (eds) Engineering of Intelligent Systems. IEA/AIE 2001. Lecture Notes in Computer Science(), vol 2070. Springer, Berlin, Heidelberg. https://doi.org/10.1007/3-540-45517-5_97
Download citation
DOI: https://doi.org/10.1007/3-540-45517-5_97
Published:
Publisher Name: Springer, Berlin, Heidelberg
Print ISBN: 978-3-540-42219-8
Online ISBN: 978-3-540-45517-2
eBook Packages: Springer Book Archive