Proposal: Applicative => Monad: Call for consensus
ml at isaac.cedarswampstudios.org
Mon Jan 3 04:04:50 CET 2011
On 01/02/11 12:50, John Smith wrote:
> On 02/01/2011 19:14, David Menendez wrote:
>> On Sun, Jan 2, 2011 at 7: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.
>> Monad is defined in the Haskell 98 and Haskell 2010 reports. How are
>> you planning to maintain compatibility with them?
> The Haskell' process expects proposals to have already been implemented,
> so I'll propose it there after acceptance by GHC. If the patches are
> accepted for HEAD, this may be adequate for proposing towards the next
> Haskell report, so GHC and the report will only be out of sync for a
> minimal time.
Even GHC 7.100 is intended to maintain compatibility with Haskell 98.
We desire a way to implement the change that allows Haskell 98 and
Haskell 2010 programs to compile unchanged, *even if* Haskell 2011
Report includes libraries with a Monad hierarchy change.
The naive way to do this is to make a different Monad class, without any
superclasses, and put it in the haskell98 package. This has the general
issue that instances of the two "class Monad"s aren't compatible. I
think it also has a particular difficulty related to "do"-notation.
More information about the Libraries