- ... language1
- Historically, homomorphisms are
closely connected to syntax-directed translations [1] and
correspond to compositional definitions [9].
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
- ...
only2
- Languages with multi-dispatch, e.g., CLOS , Cecil ,
or Dylan are not in widespread use.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
- ... respectively3
- As is
the case with all generic functions of
figure 4.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
- ... generic4
- This time generic means (static)
parametric polymorphism, whereas we imply (dynamic) inclusion
polymorphism in case of generic functions.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
- ...pretty_functions)5
- It is easy to shield the client
from the existence of function packages, by providing a tailored generic
function that creates a standard generic function with a fixed function
package (e.g., pretty_functions).
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
- ... package)6
- At this
point a runtime error may occur due to a missing specialized function.
Some exception handling or other kinds of gracefully dealing with such
a situation would be appropriate.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.