Proposal: Applicative => Monad: Call for consensus

Antoine Latter aslatter at gmail.com
Sun Jan 2 16:19:27 CET 2011


Are there patches somewhere to implement all of this in GHC?
Particularly the MonadFail changes, as that is a change to how the
compiler works - not just a change to libraries.

Also, that wiki seems to be two different proposals - one with the
Pointed class and one without.

Take Care,
Antoine

On Sun, Jan 2, 2011 at 6:04 AM, John Smith <voldermort at hotmail.com> wrote:
> The patches attached to http://hackage.haskell.org/trac/ghc/ticket/4834 make
> Applicative a superclass of Monad. Default definitions are provided for
> backwards compatibility.
>
> Advantages: The class hierarchy correctly models the logical relationship
> between Applicative and Monad.
>            Boilerplate Applicative instances that duplicate Monad functions
> will no longer be required.
>
> Disadvantage: All Monads will be Applicatives, even if you're only
> interested in the Monad interface. This is akin to all Ords being Eqs, even
> if you're not using ==.
>
> Backwards Compatibility: Existing Monad definitions will have to be changed
> to declare Applicative. The original function bodies can be used unchanged,
> but they are now declared in a different class. Calling code should work
> unchanged.
>
> This ticket has already been discussed on the mailing lists. The purpose of
> this message is to call for consensus by the deadline of 1 February.
>
> Please note that although the ticket references the wiki page at
> http://haskell.org/haskellwiki/Functor-Applicative-Monad_Proposal, the
> patches attached to the ticket are much more conservative than the more
> ambitious reforms on the wiki. (I would like to change the ticket
> description to make this clearer, but I can't edit it.)
>
>
> _______________________________________________
> Libraries mailing list
> Libraries at haskell.org
> http://www.haskell.org/mailman/listinfo/libraries
>



More information about the Libraries mailing list