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.
Access this chapter
Tax calculation will be finalised at checkout
Purchases are for personal use only
Preview
Unable to display preview. Download preview PDF.
Similar content being viewed by others
References
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.
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.
Mary Fernandez. Simple and effective link-time optimization of Modula-3 programs. In SIGPLAN Conference on Programming Language Design and Implementation, 1995.
Michael Franz. Code-Generation On-the-Fly: A Key to Portable Software, Doctoral Dissertation No. 10497, ETH Zurich. Verlag der Fachvereine, Zürich, 1994.
Holger Gast. With Scheme from SUCHTHAT to C++. Studienarbeit, RPI, Universität Tübingen, 1998.
Deepak Kapur and David Musser. Tecton: a framework for specifying and verifying generic system components. Technical Report 92-20, RPI, Troy, 1992.
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.
Thomas Kistler and Michael Franz. A tree-based alternative to java byte-codes. International Journal of Parallel Programming, 27(1):21–34, 1999.
Donald E. Knuth. The Art of Programming, volume 2. Addison-Wesley, 1997.
Rüdiger Loos. Algebraic descriptions as programs. SIGSAM Bulletin, 23:16–24, 1972.
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.
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.
Oriel Maute. Lexikalische analyse von operatoren bei benutzerdefinierter operatormenge. Zusammenfassung, Studienarbeit, Universität Tübingen, Feb 1998.
David Musser. Algorithms for Polynomial Factorization. PhD thesis, University of Wisconsin, Madison, 1971.
David Musser and Alexander Stepanov. Algorithm-oriented generic libraries. Software-practice and experience, 27(7):623–642, Jul 1994.
David R. Musser. The Tecton concept description language. http://www.cs.rpi.edu/~musser/gp/tecton/tecton1.ps.gz, July 1998.
David R. Musser. Tecton description of STL container and iterator concepts. http://www.cs.rpi.edu/?musser/gp/tecton/container.ps.gz, August 1998.
David R. Musser, Sibylle Schupp, and Rüdiger Loos. Requirements-oriented programming. In this volume.
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.
Sibylle Schupp. Generic Programming—SuchThat One Can Build an Algebraic Library. PhD thesis, University Tübingen, 1996.
Steffen Seitz. Compiling rewrite rules into algorithms. Master’s thesis, Diplomarbeit, Universität Karlsruhe, 1985.
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.
Roland Weiss. SCM2CPP—an intelligent and configurable backend for SUCHTHAT. Diplomarbeit, Universität Tübingen, 1997.
Author information
Authors and Affiliations
Editor information
Editors and Affiliations
Rights 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