Category Theory Series

Provide a series of blog posts that explain category theory.

The primary source is Bartosz Milewski’s Category Theory for Programmers videos, Part 1, and his book, Category Theory for Programmers, supplemented with other materials as I need to better understand concepts.

This list is in the order of the videos, but will likely be modified as I either collapse or expand certain concepts.

What is a Category?
Programming Language Formal Semantics
Epimorphisms and Monomorphisms #next
Examples of Categories, Orders, and Monoids
Kleisli categories
Terminal and initial objects
Coproducts, sum types
Algebraic Data Types
Functors in Programming
Functoriality, Bifunctors
Monoidal Categories, Functoriality of ADTs
Function objects, Exponentials
Type Algebra, Curry-Howard-Lambek Isomorphism
Natural Transformations
Monoid in the Category of Endofunctors

This is expected to take several months to realize.

Series 2 and 3 may be eventually explained too.