November 2017
Intermediate to advanced
670 pages
17h 35m
English
Below is a decision matrix that can be used to evaluate which generics implementation is best.

There are many aspects to consider when we think about how to implement generics. For example, let's consider the difference between Haskell's parametric polymorphism and C++'s ad hoc polymorphism.
In Haskell, polymorphic functions are defined uniformly for all types. We could call this compile time polymorphism.
In C++, dynamic polymorphism, via substitution, virtual functions and interfaces enable polymorphic behavior, but whether our implementation works for any particular type is decided at runtime when the concrete ...
Read now
Unlock full access