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 history the great moment is, when the savage is just ceasing to be a savage, with all his hairy Pelasgic strength directed on his opening sense of beauty;and you have Pericles and Phidias,and not yet passed over into the Corinthian civility. Everything good in nature and in the world is in that moment of transition, when the swarthy juices still flow plentifully from nature, but their astrigency or acridity is got out by ethics and humanity.”
—Ralph Waldo Emerson (18031882)
“What has history to do with me? Mine is the first and only world! I want to report how I find the world. What others have told me about the world is a very small and incidental part of my experience. I have to judge the world, to measure things.”
—Ludwig Wittgenstein (18891951)
“Psychology keeps trying to vindicate human nature. History keeps undermining the effort.”
—Mason Cooley (b. 1927)