Abstract
Term matching has become one of the most important primitive operations for symbolic computation. This paper describes the extension of the object-oriented symbolic computation system AlgBench with pattern matching and unification facilities. The various pattern objects are organized in subclasses of the class of the composite expressions. This leads to a clear design and to a distributed implementation of the pattern matcher in the subclasses. New pattern object classes can consequently be added easily to the system. Huet's and our simple mark and retract algorithm for standard unification as well as Stickel's algorithm for associative commutative unification have been implemented in an object-oriented style. Unifiers are selected at runtime. We extend Mathematica's type-constrained pattern matching by taking into account inheritance information from a user-defined hierarchy of object types. The argument unification is basically instance variable unification. The improvement of the pattern matching operation of a rule- and object-based symbolic computation system with unification in an object-oriented way seems to be very appropriate.
Research supported by the Swiss National Science Foundation
Preview
Unable to display preview. Download preview PDF.
References
A. Aho, J. Hopcroft, and J. Ullman. The Design and Analysis of Computer Algorithms. Addison-Wesley, 1974.
H. Ait-Kaci and R. Nasr. Login: A logic programming language with built-in in-heritance. J. of Logic Programming, 3:185–215, 1986.
P. America. Inheritance and subtyping in a parallel object-oriented language. In ECOOP'87, 1987.
H. Buerckert. Opening the AC-unification race. J. of Automated Reasoning, 4, 1988.
B.W. Char, K.O. Geddes, G.H. Gonnet, M.B. Monagan, and S.M. Watt. MAPLE: Reference Manual. University of Waterloo, 1988. 5th edition.
D. de Champeaux. About the Paterson-Wegman linear unification algorithm. J. of Computer and System Sciences, 32, 1986.
F. Fages. Associative commutative unification. J. of Symbolic Computation, 3:257–275, 1987.
R. Fateman. A review of Mathematica. J. of Symbolic Computation, May 1992.
M. Fay. First order unification in equational theories. In 4th CADE'79, 1979.
P. Hudak, S. Peyton-Jones, and P. Wadler. Report on the programming language Haskell. Technical report, Department of Computer Science, Yale University, August 1991.
R. Jenks and R. Sutor. AXIOM, The Scientific Computation System, Springer-Verlag, 1992.
M. Kay. Functional grammar. 5th Annual Meeting of the Berkeley Linguistics Society, Berkeley, California, 1979.
Roman E. Maeder. AlgBench: An object-oriented symbolic core system. In J. H. Davenport, editor, Proc. of Design and Implementation of Symbolic Computation Systems DISCO '92. To appear.
Roman E. Maeder. Programming in Mathematica. Addison-Wesley, second edition, 1991.
R. Milner, M. Tofte, and R. Harper. The definition of Standard ML. MIT Press, Cambridge, MA, 1990.
J.A. Robinson. A machine-oriented logic based on the resolution principle. J. of the ACM, 1965.
D. Turner. Miranda: A non-strict functional language with polymorphic types. In Functional Programming Languages and Computer Architecture FPCA '85, September 1985.
J. Vitter and R. Simons. New classes for parallel complexity: A study of unification and other complete problems for P. IEEE Transactions on Computers, C-35(5), May 1986.
Stephen Wolfram. Mathematica: A System for Doing Mathematics by Computer. Addison-Wesley, second edition, 1991.
Author information
Authors and Affiliations
Editor information
Rights and permissions
Copyright information
© 1993 Springer-Verlag Berlin Heidelberg
About this paper
Cite this paper
Grivas, G., Maeder, R.E. (1993). Matching and unification for the object-oriented symbolic computation system AlgBench . In: Miola, A. (eds) Design and Implementation of Symbolic Computation Systems. DISCO 1993. Lecture Notes in Computer Science, vol 722. Springer, Berlin, Heidelberg. https://doi.org/10.1007/BFb0013176
Download citation
DOI: https://doi.org/10.1007/BFb0013176
Published:
Publisher Name: Springer, Berlin, Heidelberg
Print ISBN: 978-3-540-57235-0
Online ISBN: 978-3-540-47985-7
eBook Packages: Springer Book Archive