3 ms·
Functors have fmap. Pointeds have pure. Monads have fmap, pure and join/flatten. So what's missing from "functors that can flatten" is pure, and monads are more
by tuukkah 8y ago
Functors have fmap. Pointeds have pure. Monads have fmap, pure and join/flatten. So what's missing from "functors that can flatten" is pure, and monads are more precisely "pointed functors that can flatten".
This is the canonical source: https://wiki.haskell.org/Typeclassopedia https://wiki.haskell.org/Typeclassopedia