History
Parametric polymorphism was first introduced to programming languages in ML in 1976. Today it exists in Standard ML, OCaml, F#, Ada, Haskell, Visual Prolog, Scala, and others. Java, C#, Visual Basic .NET and Delphi have each recently introduced "generics" for parametric polymorphism. Some implementations of type polymorphism are superficially similar to parametric polymorphism while also introducing ad-hoc aspects. One example is C++ template specialization.
The most general form of polymorphism is "higher-rank impredicative polymorphism". Two popular restrictions of this form are restricted rank polymorphism (for example, rank-1 or prenex polymorphism) and predicative polymorphism. Together, these restrictions give "predicative prenex polymorphism", which is essentially the form of polymorphism found in ML and early versions of Haskell.
Read more about this topic: Parametric Polymorphism
Famous quotes containing the word history:
“In all history no class has been enfranchised without some selfish motive underlying. If to-day we could prove to Republicans or Democrats that every woman would vote for their party, we should be enfranchised.”
—Carrie Chapman Catt (18591947)
“Let us not underrate the value of a fact; it will one day flower in a truth. It is astonishing how few facts of importance are added in a century to the natural history of any animal. The natural history of man himself is still being gradually written.”
—Henry David Thoreau (18171862)
“If you look at history youll find that no state has been so plagued by its rulers as when power has fallen into the hands of some dabbler in philosophy or literary addict.”
—Desiderius Erasmus (c. 14661536)