Opened 4 years ago

Closed 4 years ago

#10773 closed feature request (fixed)

Add Control.Monad.IO.Class from transformers to base

Reported by: RyanGlScott Owned by: RyanGlScott
Priority: high Milestone: 8.0.1
Component: Core Libraries Version: 7.10.2
Keywords: Cc: simonpj, hvr, ekmett, ross, core-libraries-committee@…
Operating System: Unknown/Multiple Architecture: Unknown/Multiple
Type of failure: None/Unknown Test Case:
Blocked By: Blocking:
Related Tickets: Differential Rev(s): Phab:D1147
Wiki Page:


(As proposed in a Haskell libraries mailing list thread 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.

Change History (6)

comment:1 Changed 4 years ago by RyanGlScott

Differential Rev(s): Phab:D1147

comment:2 Changed 4 years ago by hvr

Status: newpatch

comment:3 Changed 4 years ago by thomie

Owner: ekmett deleted

comment:4 Changed 4 years ago by hvr

Milestone: 8.0.1
Owner: set to RyanGlScott
Priority: normalhigh

comment:5 Changed 4 years ago by Ben Gamari <ben@…>

In fff02548/ghc:

Move Control.Monad.IO.Class to base from transformers

See Trac #10773

Remove Control.Monad.IO.Class from `transformers`. Updates
`transformers` submodule.

See Trac #10773

Test Plan: ./validate

Reviewers: ekmett, hvr, bgamari, austin

Reviewed By: hvr, bgamari, austin

Subscribers: thomie

Differential Revision:

GHC Trac Issues: #10773

comment:6 Changed 4 years ago by bgamari

Resolution: fixed
Status: patchclosed

This has been merged.

Note: See TracTickets for help on using tickets.