I gave a talk on this subject at London Haskell in November 2012. A video of the talk is on YouTube and slides are on GitHub. In this series of posts I’ll explain why Haskell’s data types are called algebraic - without mentioning category theory or advanced math. The algebra you learned in high school starts with numbers (e.g. 1, 2, 3 …) and operators (e.g. addition and multiplication). The operat