Skip to main content

A Generic Programming Environment for High-Performance Mathematical Libraries

  • Conference paper
  • First Online:
Generic Programming

Part of the book series: Lecture Notes in Computer Science ((LNCS,volume 1766))

Abstract

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.

Supported by the Austrian Science Foundation FWF grant P11414-ÖTE “HPGP — High-Performance Generic Programming”

This is a preview of subscription content, log in via an institution to check access.

Access this chapter

Chapter
USD 29.95
Price excludes VAT (USA)
  • Available as PDF
  • Read on any device
  • Instant download
  • Own it forever
eBook
USD 39.99
Price excludes VAT (USA)
  • Available as PDF
  • Read on any device
  • Instant download
  • Own it forever
Softcover Book
USD 54.99
Price excludes VAT (USA)
  • Compact, lightweight edition
  • Dispatched in 3 to 5 business days
  • Free shipping worldwide - see info

Tax calculation will be finalised at checkout

Purchases are for personal use only

Institutional subscriptions

Preview

Unable to display preview. Download preview PDF.

Unable to display preview. Download preview PDF.

References

  1. D. Berry. Lessons from the Design of a Standard ML Library. Journal of Functional Programming, 3(4):527–552, October 1993.

    Article  Google Scholar 

  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. O. Caprotti, H. Hong, et al. On C++ Polymorphism for the STURM Library. Internal Note 94-001, RISC-Linz, 1994.

    Google Scholar 

  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. E. Gamma, R. Helm, R. Johnson, and J. Vlissides. Design Patterns — Elements of Reusable Object-Oriented Software. Addison-Wesley, Reading, MA, 1995.

    MATH  Google Scholar 

  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. 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. R. D. Jenks. Axiom — The Scientific Computation System. Springer, Berlin, 1992.

    MATH  Google Scholar 

  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. D. R. Musser and A. Saini. STL Tutorial & Reference Guide. Addison-Wesley, Reading, MA, 1996.

    Google Scholar 

  11. W. Schreiner et al. HPGP User and Reference Manual. Technical report, RISC-Linz, 1998. http://www.risc.uni-linz.ac.at/projects/basic/hpgp, to appear.

  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 

Download references

Author information

Authors and Affiliations

Authors

Editor information

Editors and Affiliations

Rights and permissions

Reprints and permissions

Copyright information

© 2000 Springer-Verlag Berlin Heidelberg

About this paper

Cite this paper

Schreiner, W., Danielczyk-Landerl, W., Marin, M., Stöcher, W. (2000). A Generic Programming Environment for High-Performance Mathematical Libraries. In: Jazayeri, M., Loos, R.G.K., Musser, D.R. (eds) Generic Programming. Lecture Notes in Computer Science, vol 1766. Springer, Berlin, Heidelberg. https://doi.org/10.1007/3-540-39953-4_20

Download citation

  • DOI: https://doi.org/10.1007/3-540-39953-4_20

  • Published:

  • Publisher Name: Springer, Berlin, Heidelberg

  • Print ISBN: 978-3-540-41090-4

  • Online ISBN: 978-3-540-39953-7

  • eBook Packages: Springer Book Archive

Publish with us

Policies and ethics