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