Learning Functional Programming in Go
上QQ阅读APP看书,第一时间看更新

FantasyLand JavaScript specification

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.