John A De Goes Type Classes are a powerful tool for abstraction in functional programming. But they are poorly understood, and often abused, he says. In the simplest possible case, a type class is a function from a type to a set of lawful operations on values of that type.
Sort: