Abstract
The development of new software systems for symbolic computation, and for computer algebra in particular, has surged ahead in recent years. New systems have been developed from scratch, while others have been renewed and increased in power (Wang and Pavelle 1985, Hearn 1987, Char et al. 1991, Jenks and Sutor 1992, Buchberger et al. 1993). The new generation of symbolic computation systems was developed keeping in mind the evolution of powerful interfaces, allowing for the application of stated algorithms over established structures (Char et al. 1991, Wolfram 1991). However, symbolic computation and, in particular, computer algebra present particular necessities that need to be accomplished from a software engineering point of view. In some of these systems, the use of built-in programming languages has been considered as a tool for expressing new data structures and algorithms. Moreover, a large common software basis can be exploited as a library, in both developing algorithms and data structures, and enriching the library itself introducing new pieces of software. At present, the idea of constructing and maintaining libraries of mathematical software is being taken into consideration in the development of the SACLIB system (Buchberger et al. 1993]), which is still in progress.
Access this chapter
Tax calculation will be finalised at checkout
Purchases are for personal use only
Preview
Unable to display preview. Download preview PDF.
Similar content being viewed by others
References
Abdali, S. K., Cherry, G. W., Soiffer, N. (1986): An object oriented approach to algebra system design. In: Char, B. W. (ed.): Proceedings ACM Symposium on Symbolic and Algebraic Computation, Symsac’ 86, July 21–23, 1986, Waterloo, Ontario. Association for Computing Machinery, New York, pp. 24–30.
Agrawal, R., DeMichiel, L. G., Lindsay, B. G. (1991): Static type checking of multimethods. In: Paepke, A. (ed.): Proceedings ACM Conference on Object-Oriented Programming Systems, Languages and Applications, OOPSLA’ 91, Phoenix, Arizona, Oct. 6–11, 1991. Association for Computing Machinery, New York, pp. 113–128.
Baumgartner, G., Stansifer, R. (1990): A proposal to study type systems for computer algebra. Tech. Rep. 90-87.0, RISC Linz, Johannes Kepler University, Linz.
Bobrow, D. G., DeMichiel, L. G., Gabriel, P., Keene, S. E., Kiczales, G., Moon, D. A. (1988): Common Lisp object system specification, X3JI3 doc. 88-002R, ANSI Common Lisp Standard Committee (also in SIGPLAN Not. 23/9).
Bruce, K. B. (1993): Safe type checking in a statically-typed object-oriented programming language. In: Proceedings Symposium on Principles of Programming Languages, Charleston, South Carolina, Jan. 10–13, 1993. Association for Computing Machinery, New York, pp. 285–298.
Buchberger, B., Collins, G. E., Encarnacion, M., Hong, H. (1993): A SACLIB 1.1 user’s guide. Tech. Rep. 93-19, RISC Linz, Johannes Kepler University, Linz.
Cardelli, L. (1984): A semantics of multiple inheritance. In: Kahn, G., MacQueen, D., Plotkin, G. (eds.): Symposium on Semantics of Data Type. Springer, Berlin Heidelberg New York Tokyo, pp. 51–67 (Lecture notes in computer science, vol. 173).
Cardelli, L., Donahue, J., Galssman, L., Jordan, M., Kalsow, B., Nelson, G. (1988): Modula-3 report. Tech. Rep. SRC-31, DEC Systems Research Center, Palo Alto, CA.
Castagna, G., Ghelli, G., Longo, G. (1992): A calculus for overloaded functions with subtyping. In: Proceedings ACM Conference on LISP and Functional Programming, San Francisco, California, Jun. 22–24, 1992. Association for Computing Machinery, New York, pp. 182–192.
Char, B. W., Geddes, K. O., Gonnet, G. H., Leong, B. C., Monagan, M. B., Watt, S. M. (1991): Maple V language reference manual. Springer, Berlin Heidelberg New York Tokyo.
Cook, W., Hill, W., Canning, P. (1990): Inheritance is not subtyping. In: Hudak, P. (ed.): Proceedings Symposium on Principles of Programming Languages, San Francisco, California, Jan. 17–19, 1990. Association for Computing Machinery, New York, pp. 125–135.
Danforth, S., Tomlinson, C. (1988): Type theories and object-oriented programming. ACM Comput. Surv. 20: 29–72.
DiBlasio, P., Temperini, M. (1993): Subtyping inheritance in languages for symbolic computation systems. In: Miola, A. (ed.): Design and implementation of symbolic computation systems. Springer, Berlin Heidelberg New York Tokyo, pp. 107–121 (Lecture notes in computer science, vol. 722).
DiBlasio, P., Temperini, M., Terlizzi, P. (1997): Enhanced strict inheritance in TASSO-L. In: Miola, A., Temperini, M. (eds.): Advances in the design of symbolic computation systems. Springer, Wien New York, pp. 179–195 (this volume).
Ghelli, G. (1991): A static type system for message passing. In: Paepke, A. (ed.): Proceedings ACM Conference on Object-Oriented Programming Systems, Languages and Applications, OOPSLA’ 91, Phoenix, Arizona, Oct. 6–11, 1991. Association for Computing Machinery, New York, pp. 129–145.
Hearn, A. C. (1987): Reduce-3 user’s manual. Rand Corporation, Mississauga, Ont.
Jenks, R. D., Sutor, R. S. (1992): Axiom, the scientific computation. Springer, Berlin Heidelberg New York Tokyo.
Limongelli, C., Miola, A., Temperini, M. (1992): Design and implementation of symbolic computation systems. In: Gaffney, P. W., Houstis, E. N. (eds.): Proceedings IFIP TC2/WG2.5 Working Conference on Programming Environments for High Level Scientific Problem Solving, Karlsruhe, Germany, Sept. 23–27, 1991. North-Holland, Amsterdam, pp. 217–226.
Limongelli, C., Temperini, M. (1992): Abstract specification of structures and methods in symbolic mathematical computation. Theor. Comput. Sci. 104: 89–107.
Meyer, B. (1992): Eiffel: the language, 2nd edn. Prentice Hall, Englewood Cliffs.
Regio, M., Temperini, M. (1990): Type redefinition and polymorphism in object-oriented languages. In: Proceedings 3rd Conference on Technology of Object-Oriented Languages and Systems, TOOLS PACIFIC, Darling Harbour, Sydney, Nov. 28–30, 1990, pp. 93–102.
Stroustrup, B. (1991): The C++ programming language. Prentice Hall, Englewood Cliffs.
Temperini, M. (1992): Design and implementation methodologies for symbolic computation systems. Ph.D. thesis, University “La Sapienza”, Rome, Italy.
Wang, P., Pavelle, R. (1985): MACSYMA from F to G. J. Symb. Comput. 1: 69–100.
Wegner, P., Zdonic, S. (1988): Inheritance as an incremental modification mechanism or what like is and isn’t like. In: Gjessing, S., Nygaard, K. (eds.): ECOOP’ 88 European Conference on Object-Oriented Programming. Springer, Berlin Heidelberg New York Tokyo, pp. 55–77 (Lecture notes in computer science, vol. 322).
Wolfram, S. (1991): Mathematica: a system for doing mathematics by computer. Addison-Wesley, Reading, MA.
Editor information
Editors and Affiliations
Rights and permissions
Copyright information
© 1997 Springer-Verlag Wien
About this chapter
Cite this chapter
Di Blasio, P., Temperini, M. (1997). On subtyping in languages for symbolic computation systems. In: Miola, A., Temperini, M. (eds) Advances in the Design of Symbolic Computation Systems. Texts and Monographs in Symbolic Computation. Springer, Vienna. https://doi.org/10.1007/978-3-7091-6531-7_10
Download citation
DOI: https://doi.org/10.1007/978-3-7091-6531-7_10
Publisher Name: Springer, Vienna
Print ISBN: 978-3-211-82844-1
Online ISBN: 978-3-7091-6531-7
eBook Packages: Springer Book Archive