
#10773: Add Control.Monad.IO.Class from transformers to base -------------------------------------+------------------------------------- Reporter: | Owner: ekmett RyanGlScott | Type: feature | Status: new request | Priority: normal | Milestone: Component: Core | Version: 7.10.2 Libraries | Keywords: | Operating System: Unknown/Multiple Architecture: | Type of failure: None/Unknown Unknown/Multiple | Test Case: | Blocked By: Blocking: | Related Tickets: Differential Revisions: | -------------------------------------+------------------------------------- (As proposed in a Haskell libraries mailing list thread [https://mail.haskell.org/pipermail/libraries/2015-July/026008.html here]). This Trac issue addresses one of the two suggestions made in the proposal, i.e., moving `Control.Monad.IO.Class` from `transformers` to `base`. (The second, introducing a `MonadIO Q` instance in `template-haskell`, can be dealt with depending on the result of this.) Conceptually, this change is very similar in spirit to #9664—the `MonadIO` class is a Haskell98 typeclass that has proven to be widely useful in abstracting `IO`-based functions into a type signature that can be used with monad transformer stacks. Moving `MonadIO`'s module into `base` would allow more widespread use without incurring a `transformers` dependency, and it could provide a first step for generalizing more `base` functions from `IO` to `MonadIO`. -- Ticket URL: http://ghc.haskell.org/trac/ghc/ticket/10773 GHC http://www.haskell.org/ghc/ The Glasgow Haskell Compiler