A generic or polymorphic function is one that performs a given operation for a variety of argument data types.
Example: + in Lisp:
(defun + (x y)
(if (and (integerp x) (integerp y))
(iplus x y)
(if (and (floatp x) (floatp y))
(fplus x y)
...) ) )
The + function in Lisp will also perform type coercion as needed.
The CLOS implementation of object-oriented programming in Lisp
combines the ideas of messages and generic functions. In effect, the
programmer is allowed to overload functions -- even system functions
such as + -- to specialize them for user data types.
Contents    Page-10    Prev    Next    Page+10    Index