GP /

ComprehendingGenericLibraries

(Related to Strongly Typed Generic Libraries.)

Paper: FP.Concepts = Type Classes

Background material:

Table 3. The roles of language features used for generic programming
LanguageAlgorithmConceptRefinementModelingConstraint
Haskellpolymorphic functiontype classsubclassinstancecontext
OCamlpolymorphic functionclass interfaceinheritinterfaceclass type
MLfunctorsignatureincludeimplicitparam sig
C++templatedocsdocsdocsdocs
Eiffelgeneric classdeferred classinheritinheritconformance
Javageneric methodinterfaceextendsimplementsextends
C#generic methodinterfaceinheritinheritinherit
Cecilparameterized methodabstract objectsubtypingsubtypingtype constraint
  @article{Garcia_Jarvi_etal:2007CompLangGen,
    author =       {Ronald Garcia and Jaakko J\"arvi and Andrew Lumsdaine
                    and Jeremy Siek and Jeremiah Willcock},
    title =        {An extended comparative study of language support
                    for generic programming},
    journal =      {J. Funct. Program.},
    volume =       17,
    number =       2,
    year =         2007,
    COMMENTissn =  {0956-7968},
    pages =        {145--205},
    doi =          {10.1017/S0956796806006198},
    publisher =    {Cambridge University Press}
  }