GHC.Tc.Types.TcRef
type TcRef a = IORef a Source #
Type alias for IORef; the convention is we'll use this for mutable bits of data in the typechecker which are updated during typechecking and returned at the end.
IORef
newTcRef :: MonadIO m => a -> m (TcRef a) Source #
readTcRef :: MonadIO m => TcRef a -> m a Source #
writeTcRef :: MonadIO m => TcRef a -> a -> m () Source #
updTcRef :: MonadIO m => TcRef a -> (a -> a) -> m () Source #
updTcRefM :: MonadIO m => TcRef a -> (a -> m a) -> m () Source #