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.