Generic programming is about making programs more adaptable by making
them more general. Generic programs often embody non-traditional kinds
of polymorphism; ordinary programs are obtained from them by suitably
instantiating their parameters. In contrast with normal programs, the
parameters of a generic program are often quite rich in structure; for
example, they may be other programs, types or type constructors, class
hierarchies, or even programming paradigms.
Generic programming techniques have always been of interest, both to
practitioners and to theoreticians, but only recently have generic
programming techniques become a specific focus of research in the
functional and object-oriented programming language communities.
Generic Programming comprises the edited proceedings of the Working
Conference on Generic Programming, which was sponsored by the
International Federation for Information Processing (IFIP) and held in
Dagstuhl, Germany in July 2002. With contributions from leading
researchers around the world, this volume captures the state of the art
in this important emerging area.