NB: DO NOT USE `pure = return`

Dear Cafe, the migration guide (for AMP) https://gitlab.haskell.org/ghc/ghc/wikis/migration/7.10#ghc-says-no-instance... contains this advice: instance Applicative Foo where -- NB: DO NOT USE `pure = return` Why not? Because it would require another refactoring once "monad of no return" comes true? So defining `return` in the Monad instance should work fine until then? Which is when exactly? I can't quite make it out from https://gitlab.haskell.org/ghc/ghc/wikis/proposal/monad-of-no-return/discuss... - J.W.

Most likely because MonadOfNoReturn will transitionally define return = pure, and instead of a compile error error you would end up with runtime infinite loops. On Mon, Jul 1, 2019 at 3:09 PM Johannes Waldmann < johannes.waldmann@htwk-leipzig.de> wrote:
Dear Cafe,
the migration guide (for AMP)
https://gitlab.haskell.org/ghc/ghc/wikis/migration/7.10#ghc-says-no-instance...
contains this advice:
instance Applicative Foo where -- NB: DO NOT USE `pure = return`
Why not? Because it would require another refactoring once "monad of no return" comes true?
So defining `return` in the Monad instance should work fine until then? Which is when exactly? I can't quite make it out from
https://gitlab.haskell.org/ghc/ghc/wikis/proposal/monad-of-no-return/discuss...
- J.W.
_______________________________________________ Haskell-Cafe mailing list To (un)subscribe, modify options or view archives go to: http://mail.haskell.org/cgi-bin/mailman/listinfo/haskell-cafe Only members subscribed via the mailman list are allowed to post.
-- brandon s allbery kf8nh allbery.b@gmail.com
participants (2)
-
Brandon Allbery
-
Johannes Waldmann