- A Technical Report
describing the STL hypertext project is available.
- Algorithm-Oriented Generic Libraries,
by David R. Musser and Alexander A. Stepanov,
is a research paper describing some key design principles for
building and documenting a software library based on generic
algorithms. It does not describe STL per se, but has examples from a
library that was STL's predecessor. A later version of this paper
appeared in Software--Practice & Experience, Vol. 24(7),
623-642 (July 1994).
This online version of the paper contains enhancements by Kenny
Zalewski to allow running animations of some of the sorting examples
and other sorting algorithms, using an animation program developed by
David Musser, Nathan Schimke, Alex Stepanov and Meng Lee. The
animation program was implemented using Xlib and a predecessor of STL.
- Generic Programming,
by David R. Musser and Alexander A. Stepanov,
Lecture Notes in Computer Science 358, Springer-Verlag, 1989, pp. 13-25.
Four kinds of abstraction---data, algorithmic, structural, and
representational---are discussed, with examples of their use in
building an Ada library of software components. The main topic
discussed is generic algorithms and an approach to their formal
specification and verification.
- The Ada Generic Library: Linear List Processing Packages,
by David R. Musser and Alexander A. Stepanov, Compass Series,
Springer-Verlag, 1989.
This 265 page book (available from the publisher) describes eight
Ada packages, with over 170 subprograms for various linear data
structures based on linked lists. Many of the principles underlying
STL were first formulated and put into practice in this Ada
library.
- Higher-Order Imperative Programming,
by Aaron Kershenbaum, David R. Musser and Alexander A. Stepanov,
Rensselaer Polytechnic Institute Computer Science Department
Technical Report 88-10, April 1988.
Contains many small examples of generic programming methods in Scheme.