Skip to main content

SuchThat — Generic Programming Works

  • Conference paper
  • First Online:

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

Abstract

This paper introduces SuchThat, a language for experiments in generic programming. SuchThat forms the synthesis of two independently developed languages: Aldes, a language for algorithm descriptions, and Tecton, a specification language for generic components. The SuchThat language is characterized by its support of algorithmic requirements and dependent genericity. We discuss the underlying design decisions and show that the semantic interpretation of overloading plays a key role in determining optimal instantiations.

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

Buying options

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

Learn about institutional subscriptions

Preview

Unable to display preview. Download preview PDF.

Unable to display preview. Download preview PDF.

References

  1. George E. Collins and Rüdiger Loos. Specification and index of SAC-2 algorithms. Technical Report WSI-90-4, Wilhelm-Schickard-Institut für Informatik, 1990.

    Google Scholar 

  2. R.L. Constable, S.F. Allen, H.M Bromley, W.R. Cleaveland, J.F. Cremer, R.W. Harper, D.J. Howe, T.B. Knoblock, N.P. Mendler, P. Panangaden, J.T. Sasaki, and S.F. Smith. Implementing Mathematics with the Nuprl Proof Developement System. Graduate Texts in Mathematics. Prentice Hall, 1986.

    Google Scholar 

  3. Mary Fernandez. Simple and effective link-time optimization of Modula-3 programs. In SIGPLAN Conference on Programming Language Design and Implementation, 1995.

    Google Scholar 

  4. Michael Franz. Code-Generation On-the-Fly: A Key to Portable Software, Doctoral Dissertation No. 10497, ETH Zurich. Verlag der Fachvereine, Zürich, 1994.

    Google Scholar 

  5. Holger Gast. With Scheme from SUCHTHAT to C++. Studienarbeit, RPI, Universität Tübingen, 1998.

    Google Scholar 

  6. Deepak Kapur and David Musser. Tecton: a framework for specifying and verifying generic system components. Technical Report 92-20, RPI, Troy, 1992.

    Google Scholar 

  7. Deepak Kapur, David Musser, and Alexander Stepanov. Operators and algebraic structures. In Proc. of the Conference on Functional Programming Languages and Computer Architecture, Portsmouth, New Hampshire. ACM, 1981.

    Google Scholar 

  8. Thomas Kistler and Michael Franz. A tree-based alternative to java byte-codes. International Journal of Parallel Programming, 27(1):21–34, 1999.

    Article  Google Scholar 

  9. Donald E. Knuth. The Art of Programming, volume 2. Addison-Wesley, 1997.

    Google Scholar 

  10. Rüdiger Loos. Algebraic descriptions as programs. SIGSAM Bulletin, 23:16–24, 1972.

    Article  Google Scholar 

  11. Rüdiger Loos. Generalized polynomial remainder sequences. In Bruno Buchberger, George E. Collins, and Rüdiger Loos, editors, Computer Algebra. Symbolic and Algebraic Computation, pages 115–137. Springer-Verlag, 1982.

    Google Scholar 

  12. Rüdiger Loos and George Collins. Revised report on the algorithm description language ALDES. Technical Report WSI-92-14, Fakultät für Informatik, Universität Tübingen, 1992.

    Google Scholar 

  13. Oriel Maute. Lexikalische analyse von operatoren bei benutzerdefinierter operatormenge. Zusammenfassung, Studienarbeit, Universität Tübingen, Feb 1998.

    Google Scholar 

  14. David Musser. Algorithms for Polynomial Factorization. PhD thesis, University of Wisconsin, Madison, 1971.

    Google Scholar 

  15. David Musser and Alexander Stepanov. Algorithm-oriented generic libraries. Software-practice and experience, 27(7):623–642, Jul 1994.

    Article  Google Scholar 

  16. David R. Musser. The Tecton concept description language. http://www.cs.rpi.edu/~musser/gp/tecton/tecton1.ps.gz, July 1998.

  17. David R. Musser. Tecton description of STL container and iterator concepts. http://www.cs.rpi.edu/?musser/gp/tecton/container.ps.gz, August 1998.

  18. David R. Musser, Sibylle Schupp, and Rüdiger Loos. Requirements-oriented programming. In this volume.

    Google Scholar 

  19. David R. Musser, Sibylle Schupp, Christoph Schwarzweller, and Rüdiger Loos. Tecton Concept Library. Technical Report WSI-99-2, Fakultät für Informatik, Universität Tübingen, January 1999.

    Google Scholar 

  20. Sibylle Schupp. Generic ProgrammingSuchThat One Can Build an Algebraic Library. PhD thesis, University Tübingen, 1996.

    Google Scholar 

  21. Steffen Seitz. Compiling rewrite rules into algorithms. Master’s thesis, Diplomarbeit, Universität Karlsruhe, 1985.

    Google Scholar 

  22. Stephen M. Watt, Peter A. Broadbery, Samual S. Dooley, Pietro Iglio, Scott C. Morrison, Jonathan M. Steinbach, and Robert S. Sutor. A first report on the A# compiler. In Proc. International Symposium on Symbolic and Algebraic Computation (ISSAC’94), pages 25–31, 1994.

    Google Scholar 

  23. Roland Weiss. SCM2CPP—an intelligent and configurable backend for SUCHTHAT. Diplomarbeit, Universität Tübingen, 1997.

    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

Schupp, S., Loos, R. (2000). SuchThat — Generic Programming Works. 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_11

Download citation

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

  • 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