A programming technique which aims to make 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 programs are often quite rich in structure. For example they may Be other programs, types or type constructors or even programming paradigms. (1997-11-22)