2014 Applicative => Monad proposal

David Luposchainsky dluposchainsky at googlemail.com
Thu May 23 21:39:17 CEST 2013


Hello libraries,

it's on! Time to tackle the Applicative-Monad issue, hopefully once and
for all. Over the last couple of weeks I've looked through previous
proposals, asked #haskell about their opinions, and compiled it all into
one file that sums up what I made of that. It's a bit long for an email
and uses markdown, so I'll just provide links at the end of this mail
instead of pasting it in here. In there, the whole thing and how to
approach it is explained in more detail. Here's an abstract of what it
the proposal consists of:


- Don't break compatibility
- Apply it gently

- Applicative m => Monad m
- Applicative into Prelude (and therefore into the Report)
- (Alternative m, Monad m) => MonadPlus m
- Promote `join` into the Monad typeclass


Let's make this happen! I'm going to give a ballpark discussion period
of four weeks, but since I can imagine this discussion could become
quite complex we shouldn't take it too serious. I'll summarize what's
been going on periodically though.

David



Links:

The proposal text on Github (link fixed, sorry for the deadlink yesterday):
https://github.com/quchen/articles/blob/master/applicative_monad.md
(This file is subject to changes, depending on how this discussion goes.
I'll try to make it reflect the current consensus.)

And just in case Github silentbans me again for submitting too many
edits to my Gist (grrr), here's a copy of the file on HPaste as backup:
http://hpaste.org/88423



More information about the Libraries mailing list