Mainstream object-oriented languages, such as C++ and Java1 , provide only a restricted form of polymorphic methods, namely uni-receiver dispatch. In common programming situations...
Christopher Dutchyn, Paul Lu, Duane Szafron, Steve...
Metaprogramming is the process of specifying generic software source templates from which classes of software components, or parts thereof, can be automatically instantiated to pr...
A key benefit of generic programming is its support for producing modules with clean separation. In particular, generic algorithms are written to work with a wide variety of unmod...
Peter Pirkelbauer, Sean Parent, Mat Marcus, Bjarne...
Writing deterministic programs is often difficult for problems whose optimal solutions depend on unpredictable properties of the programs’ inputs. Difficulty is also encounter...
Abstraction and application, tupling and projection: these provide the ‘software engineering’ superstructure for programs, and our familiar type systems ensure that these opera...