
Hi Arnaud,
My understanding is we’re past phase 1, en route to phase 2, and may be here for quite a while. For reference, phase 1:
Implement new warning in GHC which gets triggered when Monad instances explicitly override the default return and (>>) method implementations with non-lawful definitions (see compatible instance definition example in previous section).
The warning was implemented in GHC 8.0 and is called -Wnoncanonical-monad-instances (there are variants of this warning flag for Monoid and Fail) but it is not included in either -Wall or -Wcompat.
With that completed, phase 2 will be:
When we're confident that the majority of Hackage has reacted to the warning (with the help of Stackage actively purs
uing maintainers to update their packages) we turn the return and (>>) methods into a top-level binding and let GHC ignore lawful method definitions of return and (>>).
https://gitlab.haskell.org/ghc/ghc/-/wikis/proposal/monad-of-no-return
As Ben was the last to edit the page (albeit a year ago), perhaps he has some further insight?
I’ve CC’d him, just in case.
Thanks,
Tom
On 1 Apr 2020, at 12:48, Spiwack, Arnaud