Ad-hoc Polymorphism
Appearance
Ad-hoc polymorphism is the capacity of a single function name or operator to denote different implementations depending on the types of its arguments. Unlike parametric polymorphism, where a single generic implementation operates uniformly over all types, ad-hoc polymorphism selects among multiple concrete implementations at the point of application. The term was coined by Christopher Strachey in 1967, who distinguished it from parametric polymorphism by noting that ad-hoc polymorphism is not