The algebra (and calculus!) of algebraic data types
Note: This article assumes some introductory Haskell knowledge.
Introduction
Just as algebra is fundamental to the whole of mathematics, algebraic data types (ADTs) are fundamental to many common functional programming languages. They’re the primitives upon which all of our richer data structures are built, including everything from sets, maps, and queues, to bloom filters and neural networks.
Algebraic data types and mathematical algebra have some similar looking operations. In fact, it’s commo...
Read more at codewords.recurse.com