Advertisement

On subtyping in languages for symbolic computation systems

  • P. Di Blasio
  • M. Temperini
Part of the Texts and Monographs in Symbolic Computation book series (TEXTSMONOGR)

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.

Keywords

Computing Machinery Method Invocation Multiple Inheritance Subtyping Relation Method Mission 
These keywords were added by machine and not by the authors. This process is experimental and the keywords may be updated as the learning algorithm improves.

Preview

Unable to display preview. Download preview PDF.

Unable to display preview. Download preview PDF.

References

  1. 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.CrossRefGoogle Scholar
  2. 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.CrossRefGoogle Scholar
  3. 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.Google Scholar
  4. 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).Google Scholar
  5. 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.Google Scholar
  6. 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.Google Scholar
  7. 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).CrossRefGoogle Scholar
  8. 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.Google Scholar
  9. 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.CrossRefGoogle Scholar
  10. 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.MATHCrossRefGoogle Scholar
  11. 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.Google Scholar
  12. Danforth, S., Tomlinson, C. (1988): Type theories and object-oriented programming. ACM Comput. Surv. 20: 29–72.MathSciNetMATHCrossRefGoogle Scholar
  13. 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).CrossRefGoogle Scholar
  14. 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).CrossRefGoogle Scholar
  15. 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.CrossRefGoogle Scholar
  16. Hearn, A. C. (1987): Reduce-3 user’s manual. Rand Corporation, Mississauga, Ont.Google Scholar
  17. Jenks, R. D., Sutor, R. S. (1992): Axiom, the scientific computation. Springer, Berlin Heidelberg New York Tokyo.MATHGoogle Scholar
  18. 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.Google Scholar
  19. Limongelli, C., Temperini, M. (1992): Abstract specification of structures and methods in symbolic mathematical computation. Theor. Comput. Sci. 104: 89–107.MathSciNetMATHCrossRefGoogle Scholar
  20. Meyer, B. (1992): Eiffel: the language, 2nd edn. Prentice Hall, Englewood Cliffs.MATHGoogle Scholar
  21. 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.Google Scholar
  22. Stroustrup, B. (1991): The C++ programming language. Prentice Hall, Englewood Cliffs.Google Scholar
  23. Temperini, M. (1992): Design and implementation methodologies for symbolic computation systems. Ph.D. thesis, University “La Sapienza”, Rome, Italy.Google Scholar
  24. Wang, P., Pavelle, R. (1985): MACSYMA from F to G. J. Symb. Comput. 1: 69–100.MathSciNetMATHCrossRefGoogle Scholar
  25. 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).CrossRefGoogle Scholar
  26. Wolfram, S. (1991): Mathematica: a system for doing mathematics by computer. Addison-Wesley, Reading, MA.Google Scholar

Copyright information

© Springer-Verlag Wien 1997

Authors and Affiliations

  • P. Di Blasio
  • M. Temperini

There are no affiliations available

Personalised recommendations