
Inside My World – Ode to Functor and Monad - jle
http://blog.jle.im/entry/inside-my-world-ode-to-functor-and-monad
======
AnimalMuppet
Outstanding explanation.

I think it's so good partly because I had come up with a similar explanation
;-) but it turns out that my explanation for a Monad was actually more
correctly the explanation for a Functor :-(

I might tweak it slightly: Explain that a Monad really is an algebraic monad,
_and that it really needs to be that_ , not just because that's what the
function signatures wind up being, but because Haskell is, under the hood,
expecting it to satisfy the monad identities. (Or do I have that wrong?)

~~~
Fishkins
In one of the Reactive Programming Scala class on Coursera, one of the
teachers said types only need to satisfy 2 of the 3 Monad laws to be useful in
for comprehensions (similar to do blocks in Haskell), so it didn't actually
matter whether they satisfied the 3rd law. Monads do need to have at least
those 2 properties, though. (I don't remember at the moment whether it was the
right or left identity law that was unnecessary)

------
jle
Hi, author here; experimenting with some ways to explain two very useful
concepts that I feel don't get enough mainstream popularity, despite being
applicable to many languages :) Let me know if there are any obvious mistakes,
awfully written sections, or questions :)

