[GHC] #13876: Check 'pure' method of 'Applicative (WrappedMonad m)'
GHC
ghc-devs at haskell.org
Sun Jul 2 15:47:10 UTC 2017
#13876: Check 'pure' method of 'Applicative (WrappedMonad m)'
-------------------------------------+-------------------------------------
Reporter: Iceland_jack | Owner: (none)
Type: bug | Status: new
Priority: normal | Milestone:
Component: Compiler | Version: 8.0.1
Resolution: | Keywords:
Operating System: Unknown/Multiple | Architecture:
| Unknown/Multiple
Type of failure: None/Unknown | Test Case:
Blocked By: | Blocking:
Related Tickets: | Differential Rev(s):
Wiki Page: |
-------------------------------------+-------------------------------------
Comment (by RyanGlScott):
I think I agree with bgamari here. Although we haven't removed `return`
from `Monad` entirely, we've already taken the important step of
refactoring just about all of `base` to define things first and foremost
in terms of `pure`, and defining `return = pure` elsewhere. At this point,
making another change to the semantics of `WrapMonad`'s `return` instance
just for this use case feels pointless in the long run since, as others
have noted, `return` really should work the same as `pure` from here on
out in anticipation of `return`'s eventual removal from the `Monad` class.
As for a solution to your problem, I'd suggest your idea of having another
wrapper `newtype` that uses `Pointed` and `Monad` to retrofit
`Applicative` instances.
--
Ticket URL: <http://ghc.haskell.org/trac/ghc/ticket/13876#comment:5>
GHC <http://www.haskell.org/ghc/>
The Glasgow Haskell Compiler
More information about the ghc-tickets
mailing list