parametric polymorphism ==>
polymorphism
<theory, programming> A concept first identified by Christopher Strachey 
(1967) and developed by Hindley and Milner, allowing types such as list of 
anything. E.g. in Haskell:
 
 	length :: [a] -> Int
 is a function which operates on a list of objects of any type, a (a is a 
							type variable). This is known as parametric 
							polymorphism. Polymorphic typing allows strong type 
							checking as well as generic functions. ML in 1976 
							was the first language with polymorphic typing.
Ad-hoc polymorphism (better described as overloading) is the ability to use the 
same syntax for objects of different types, e.g. "+" for addition of reals and 
integers or "-" for unary negation or diadic subtraction. Parametric 
polymorphism allows the same object code for a function to handle arguments of 
many types but overloading only reuses syntax and requires different code to 
handle different types.
 
See also generic type variable.
 
In object-oriented programming, the term is used to describe a variable that may 
refer to objects whose class is not known at compile time and which respond at 
run time according to the actual class of the object to which they refer.
 
(2002-08-08)
 
  
 
  
Nearby terms: 
							Poly/ML « polymorphic « polymorphic lambda-calculus 
							« 
							polymorphism » polynomial » polynomial-time » 
							polynomial-time algorithm
 
							
					  |