2014 Applicative => Monad proposal

Jason Dagit dagitj at gmail.com
Fri May 24 02:18:11 CEST 2013


On Thu, May 23, 2013 at 5:02 PM, Ivan Lazar Miljenovic
<ivan.miljenovic at gmail.com> wrote:
> On 24 May 2013 05:39, David Luposchainsky <dluposchainsky at googlemail.com> wrote:
>> 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
>
> How about removing `return' from the Monad typeclass and just making
> it an alias for pure?  Or is it being kept just to minimise breakage
> from existing instance declarations?

Relevant to this suggestion:
https://groups.google.com/group/idris-lang/browse_thread/thread/e137645db268490

Basically, someone is refactoring the Idris typeclasses to add
Applicative as a superclass of Monad and observed the same thing.

Jason



More information about the Libraries mailing list