Type classes in Haskell
Haskell is strongly typed and fully supports the HM type type system. Haskell has an additional layer above what we normally think of a type. Recall that a type defines the structure of the data stored in a variable of that type (string, int, user defined struct, and so on). A type class allows us to be more specific and specify not only what the data is, but also how it behaves.
Type classes define the sets of operations. A particular object may be an instance of a class and will have a method corresponding to each operation. Type classes may be arranged hierarchically, forming notions of superclasses and sub classes and permitting inheritance of operations/methods. A default method may also be associated with an ...
Become an O’Reilly member and get unlimited access to this title plus top books and audiobooks from O’Reilly and nearly 200 top publishers, thousands of courses curated by job role, 150+ live events each month,
and much more.
Read now
Unlock full access