Functor => Applicative => Monad

Conor McBride conor at
Tue Dec 7 11:20:22 CET 2010

On 7 Dec 2010, at 09:00, Stephen Tetley wrote:

> [*] Personally I don't consider the status quo here to be an ugly
> wart. The redundancy of notations between Applicative and Monad has
> useful separation of Applicative and Monadic styles for *current*
> Haskell.

Perhaps I'm a statistical outlier, but I find this separation highly
counterproductive, both when I try to teach it and when I come to use
it. These days, I write a lot of almost entirely pure HTML-generating
code, sparsely peppered with effectful incidents (read CGI input,
mark it wrong, etc). My code splits into two ill-connected chunks:
a do-block which generates the interactive nuggets, then a whole
sodding web page after the return. It's awful. Change cannot come too

> If Post-Haskell or even Haskell'2012 wants to merge the
> styles to "bind only when you need to" that's fine but the new
> language is obliged to create the tutorials, text books, write the
> conference papers in the new style, etc.

Indeed. We need to manage change carefully, hence this discussion.
If we could clarify the direction of travel, that would certainly
help. It's not at all obvious to me that we should make the
Functor => Applicative => Monad change in isolation, but we should
certainly be looking to deliver that change and others in a
coherent manner.

All the best


More information about the Libraries mailing list