Generic function
From Wikipedia, the free encyclopedia
Not to be confused with generalized function.
In certain systems for object-oriented programming such as the Common Lisp Object System and Dylan, a generic function is an entity made up of all methods having the same name.
Generic functions correspond roughly to what Smalltalk calls messages; but when a generic function is called, method dispatch occurs on the basis of all arguments, not just a single privileged one. See under multiple dispatch for more. This is also known as a multimethod.
An other, completely separate definition of generic function is a function that uses parametric polymorphism. This is the definition used when working with a language like OCaml. An example of a generic function is
id: a->a let id a = a
which takes an argument of any type and returns something of that same type.