SuchThat — Generic Programming Works

  • Sibylle Schupp
  • Rüdiger Loos
Conference paper
Part of the Lecture Notes in Computer Science book series (LNCS, volume 1766)


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.


Complexity Parameter Generic Programming Generic Library Great Common Divisor Remainder Function 
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.


Unable to display preview. Download preview PDF.

Unable to display preview. Download preview PDF.


  1. 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. 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. 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. 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. 5.
    Holger Gast. With Scheme from SUCHTHAT to C++. Studienarbeit, RPI, Universität Tübingen, 1998.Google Scholar
  6. 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. 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. 8.
    Thomas Kistler and Michael Franz. A tree-based alternative to java byte-codes. International Journal of Parallel Programming, 27(1):21–34, 1999.CrossRefGoogle Scholar
  9. 9.
    Donald E. Knuth. The Art of Programming, volume 2. Addison-Wesley, 1997.Google Scholar
  10. 10.
    Rüdiger Loos. Algebraic descriptions as programs. SIGSAM Bulletin, 23:16–24, 1972.CrossRefGoogle Scholar
  11. 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. 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. 13.
    Oriel Maute. Lexikalische analyse von operatoren bei benutzerdefinierter operatormenge. Zusammenfassung, Studienarbeit, Universität Tübingen, Feb 1998.Google Scholar
  14. 14.
    David Musser. Algorithms for Polynomial Factorization. PhD thesis, University of Wisconsin, Madison, 1971.Google Scholar
  15. 15.
    David Musser and Alexander Stepanov. Algorithm-oriented generic libraries. Software-practice and experience, 27(7):623–642, Jul 1994.CrossRefGoogle Scholar
  16. 16.
    David R. Musser. The Tecton concept description language., July 1998.
  17. 17.
    David R. Musser. Tecton description of STL container and iterator concepts., August 1998.
  18. 18.
    David R. Musser, Sibylle Schupp, and Rüdiger Loos. Requirements-oriented programming. In this volume.Google Scholar
  19. 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. 20.
    Sibylle Schupp. Generic ProgrammingSuchThat One Can Build an Algebraic Library. PhD thesis, University Tübingen, 1996.Google Scholar
  21. 21.
    Steffen Seitz. Compiling rewrite rules into algorithms. Master’s thesis, Diplomarbeit, Universität Karlsruhe, 1985.Google Scholar
  22. 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. 23.
    Roland Weiss. SCM2CPP—an intelligent and configurable backend for SUCHTHAT. Diplomarbeit, Universität Tübingen, 1997.Google Scholar

Copyright information

© Springer-Verlag Berlin Heidelberg 2000

Authors and Affiliations

  • Sibylle Schupp
    • 1
  • Rüdiger Loos
    • 2
  1. 1.Rensselaer Polytechnic InstituteUSA
  2. 2.Universität TübingenTübingen

Personalised recommendations