Hacker News new | ask | show | jobs
by coolsunglasses 4451 days ago
When I teach Haskell, I like to take a diversion from Applicatives to Monoids before going to Monads.

Understanding join is pretty valuable for understanding Monads too.

1 comments

You can do Applicative -> Alternative and study Alternatives as Monoids of Applicatives and then lay on the difference between (<*>) and (<>) as producing a seminearring!

And then go study Monads because why not. They're kind of cool, too.

Actually you just reminded me that I need to explain sums and products in terms of a seminearring.