It is my understanding that parametric polymorphism is a technique which allows uniform actions over a variety of data(types). Is my knowledge correct?
Is this example p
Wikipedia:
In programming languages and type theory, parametric polymorphism is a way to make a language more expressive, while still maintaining full static type-safety. Using parametric polymorphism, a function or a data type can be written generically so that it can handle values identically without depending on their type. Such functions and data types are called generic functions and generic datatypes respectively and form the basis of generic programming.
So a great example is the standard Java library collections.
For example, Collections.sort
is declared as:
public static > void sort(List list)
It can take a list of objects of type T
that is comparable to other T
's and sort the list, without worrying about what type T
actually is.
It is different from subtype polymorphism: subtype polymorphism is exemplified by the fact that sort
can take any sort of List
-- an ArrayList
, a LinkedList
, etc.