Monad of no `return` Proposal (MRP): Moving `return` out of `Monad`

John Wiegley johnw at newartisans.com
Sun Oct 4 00:20:18 UTC 2015


>>>>> Herbert Valerio Riedel <hvr at gnu.org> writes:

> The point of this Monad-of-no-return Proposal was to provide the formal
> basis to be able to write the AMP into the next upcoming Haskell Report in a
> sensible way (and I think we can all agree that this is the right thing to
> do as there is no good justification for including the
> `Monad(return)`-method in an Haskell Report integrating the AMP changes)

> However, one thing that seems to have been mostly ignored in this whole
> discussion so far is that just because the next Haskell Report anticipates
> the removal of `return` and `(>>)` as methods this doesn't mean that GHC's
> `base` library has to follow suit immediately!

> The proposal states that phase 2 can happen in GHC 8.2 *or later*. This
> could also mean e.g. GHC 8.4, GHC 8.8, or even GHC 9.0! This is very
> different from the AMP, MFP or FTP which are/were subject to a swift
> transition scheme with a rigid timeframe.

> Old code still overriding `return` will continue to compile (if it didn't
> break already for AMP/MFP/...) for as many years in GHC as desired.

> And code written against the new Haskell Report (especially when ignoring
> the existence of the `return`-method) would work just fine against GHC's
> `base` as well.

> So there's not that much immediate breakage due to MRP specifically after
> all.

Then count me again as +1, thanks for the clarification, Herbert.

John


More information about the Libraries mailing list