Basic Polymorphic Typechecking

  • Luca Cardelli

Science of Computer Programming | , Vol 8: pp. 147-172

Polymorphic means to have many forms. As related to programming languages, it refers to data or programs which have many types, or which operate on many types. There are several arbitrary ways in which programs can have many types; we are mostly interested in a particularly orderly form of polymorphism called parametric polymorphism. This is a property of programs which are parametric with respect to the type of some of their identifiers. There are two major ways of achieving parametric polymorphism which are conceptually related but pragmatically very different: explicit and implicit polymorphism.