THINGS THAT ARE THINGS, BUT NOT OTHER THINGS
summary
Shows exact counterexamples: a function parameterized on its input becomes a contravariant type so Predicate is a type constructor but not a functor; pairing a value with an index X is a functor but needs X to be a semigroup for apply and a monoid for applicative, so Labeled (non‑combinable labels) is functor‑not‑apply and Weighted (positive int weight, no zero) is apply‑not‑applicative; using a phantom A breaks flatMap so Flag is applicative but not monadic.
AI-written summary · about
chapters (9)
- 0:00Start
- 1:14Overview
- 4:44Breaking Function
- 7:01Products are functors
- 8:32Apply
- 19:41Breaking Product
- 24:24Breaking flagged data
- 25:30Key takeaways
- 27:59Weighted data
related talks
11mHigher order Abstractions
35mThe Functor, Applicative, Monad talk
48mMighty Morphin Data Types
45mA categorical view of computational effects
54mCategory Theory Through Functional Programming (part 3/3)
01h 16mFunctional Composition Beyond Monads
56mCategory Theory Through Functional Programming (part 2/3)
58mMonoids, Monads, and Applicative Functors: Repeated Software Patterns
