sdiehl / write-you-a-haskell

Building a modern functional compiler from first principles. (http://dev.stephendiehl.com/fun/)

Geek Repo:Geek Repo

Github PK Tool:Github PK Tool

Confused about "Applicatives are strictly less general than monads."

ethercrow opened this issue · comments

I've only recently learned sufficiently not-hand-wavy meaning of the word "powerful", which is if X is more powerful than Y then you can do some things with X that are not possible with Y.

However, it looks like I don't yet understand the meaning of the word "general". I would guess that "Applicatives are strictly less general than monads" means that there are more monads out there than applicatives, but the opposite is the case. Could you clarify?

Should probably be more along the lines of "less powerful" or "less expressive". Every monad does arise out an applicative in theory.

I'll think how to rephrase this, open to any suggestions.

FWIW, Simon Marlow says "... Monad is more expressive than Applicative ..." in this Haskel Cast episode, at 11:05.

@igstan I am going to claim credit for this one then. ;) 👍