A Generic Programming Environment for High-Performance Mathematical Libraries

  • Wolfgang Schreiner
  • Werner Danielczyk-Landerl
  • Mircea Marin
  • Wolfgang Stöcher
Conference paper
Part of the Lecture Notes in Computer Science book series (LNCS, volume 1766)


We report on a programming environment for the development of generic mathematical libraries based on functors (parameterized modules) that have rigorously specified but very abstract interfaces. We focus on the combination of the functor-based programming style with software engineering principles in large development projects. The generated target code is highly efficient and can be easily embedded into foreign application environments.


functors specifications computer algebra generic libraries 


Unable to display preview. Download preview PDF.

Unable to display preview. Download preview PDF.


  1. 1.
    D. Berry. Lessons from the Design of a Standard ML Library. Journal of Functional Programming, 3(4):527–552, October 1993.CrossRefGoogle Scholar
  2. 2.
    CA Group. The Scratchpad II Computer Algebra Sytem Interactive Environment Users Guide. Draft 1.2, TJ Watson Research Center, Yorktown Heights, NY, 1988.Google Scholar
  3. 3.
    O. Caprotti, H. Hong, et al. On C++ Polymorphism for the STURM Library. Internal Note 94-001, RISC-Linz, 1994.Google Scholar
  4. 4.
    W. Danielczyk-Landerl. Syntax Processing and Code Generation for a Generic Programming Language. Master’s thesis, RISC-Linz, 1998. To appear.Google Scholar
  5. 5.
    E. Gamma, R. Helm, R. Johnson, and J. Vlissides. Design Patterns — Elements of Reusable Object-Oriented Software. Addison-Wesley, Reading, MA, 1995.zbMATHGoogle Scholar
  6. 6.
    H. Gast, S. Schupp, and R. Loos. Completing the Compilation of SuchThat v0.7. Technical Report 97-12, Rensselaer Polytechnic Institute, December 1997.Google Scholar
  7. 7.
    H. Hong, A. Neubacher, et al. The STURM Library Manual — A C++ Library for Symbolic Computation. Technical Report 94-30, RISC-Linz, April 1994.Google Scholar
  8. 8.
    R. D. Jenks. Axiom — The Scientific Computation System. Springer, Berlin, 1992.zbMATHGoogle Scholar
  9. 9.
    X. Leroy. Applicative functors and fully transparent higher-order modules. In POPL’ 95, pages 142–153, San Francisco, CA, January 22–25, 1995. ACM Press.Google Scholar
  10. 10.
    D. R. Musser and A. Saini. STL Tutorial & Reference Guide. Addison-Wesley, Reading, MA, 1996.Google Scholar
  11. 11.
    W. Schreiner et al. HPGP User and Reference Manual. Technical report, RISC-Linz, 1998., to appear.
  12. 12.
    W. Windsteiger and B. Buchberger. GRÖBNER: A Library for Computing Gröbner Bases based on SACLIB. Technical Report 93-72, RISC-Linz, 1993.Google Scholar

Copyright information

© Springer-Verlag Berlin Heidelberg 2000

Authors and Affiliations

  • Wolfgang Schreiner
    • 1
  • Werner Danielczyk-Landerl
    • 1
  • Mircea Marin
    • 1
  • Wolfgang Stöcher
    • 1
  1. 1.Research Institute for Symbolic Computation (RISC-Linz)Johannes Kepler UniversityLinzAustria

Personalised recommendations