I am reading the book Object Oriented Programming in Common Lisp from Sonja Keene.
In chapter 2, the author says:
The procedure for determining which methods to call and then calling them is called generic dispatch. It happens automatically whenever a generic function is called.
This reminds me of the Dynamic Dispatch definition which is (according to Wikipedia):
Dynamic dispatch is the process of selecting which implementation of a polymorphic operation to call at run time. It is commonly employed in, and considered a prime characteristic of, object-oriented programming languages and systems.
Unfortunately, the wikipedia does not have an entry about generic dispatch.
Thus, I would like ask:
1 - Are dynamic dispatch and generic dispatch basically the same thing? What are the similarities?
2 - And what are the differences? Is dynamic dispatch some sort of subset of generic dispatch due to the flexibility of CLOS?