November 2017
Intermediate to advanced
670 pages
17h 35m
English
The FantasyLand project specifies interoperability of common algebraic structures:

Each data type in the hierarchical diagram is called an algebraic data type because each consists of algebra, that is, a set of values, a set of operators that it is closed under, and the rules it must obey.
Let's take a simple example, the Setoid.