Fixed #422.
This commit is contained in:
parent
782f234981
commit
f023f4fc06
@ -77,7 +77,10 @@ import Data.Monoid (Monoid)
|
|||||||
|
|
||||||
import Control.Applicative (Alternative)
|
import Control.Applicative (Alternative)
|
||||||
import Control.Arrow (first)
|
import Control.Arrow (first)
|
||||||
import Control.Monad (MonadPlus, void, liftM)
|
import Control.Monad (MonadPlus, void)
|
||||||
|
#if !MIN_VERSION_monad_control(1,0,0)
|
||||||
|
import Control.Monad (liftM)
|
||||||
|
#endif
|
||||||
import Control.Monad.Base (MonadBase, liftBase)
|
import Control.Monad.Base (MonadBase, liftBase)
|
||||||
|
|
||||||
-- Monad transformer stuff
|
-- Monad transformer stuff
|
||||||
@ -368,6 +371,23 @@ withOptions changeOpt action = local changeEnv action
|
|||||||
instance (MonadBaseControl IO m) => MonadBase IO (GhcModT m) where
|
instance (MonadBaseControl IO m) => MonadBase IO (GhcModT m) where
|
||||||
liftBase = GhcModT . liftBase
|
liftBase = GhcModT . liftBase
|
||||||
|
|
||||||
|
#if MIN_VERSION_monad_control(1,0,0)
|
||||||
|
|
||||||
|
instance (MonadBaseControl IO m) => MonadBaseControl IO (GhcModT m) where
|
||||||
|
type StM (GhcModT m) a =
|
||||||
|
StM (StateT GhcModState
|
||||||
|
(ErrorT GhcModError
|
||||||
|
(JournalT GhcModLog
|
||||||
|
(ReaderT GhcModEnv m) ) ) ) a
|
||||||
|
liftBaseWith f = GhcModT . liftBaseWith $ \runInBase ->
|
||||||
|
f $ runInBase . unGhcModT
|
||||||
|
|
||||||
|
restoreM = GhcModT . restoreM
|
||||||
|
{-# INLINE liftBaseWith #-}
|
||||||
|
{-# INLINE restoreM #-}
|
||||||
|
|
||||||
|
#else
|
||||||
|
|
||||||
instance (MonadBaseControl IO m) => MonadBaseControl IO (GhcModT m) where
|
instance (MonadBaseControl IO m) => MonadBaseControl IO (GhcModT m) where
|
||||||
newtype StM (GhcModT m) a = StGhcMod {
|
newtype StM (GhcModT m) a = StGhcMod {
|
||||||
unStGhcMod :: StM (StateT GhcModState
|
unStGhcMod :: StM (StateT GhcModState
|
||||||
@ -381,6 +401,8 @@ instance (MonadBaseControl IO m) => MonadBaseControl IO (GhcModT m) where
|
|||||||
{-# INLINE liftBaseWith #-}
|
{-# INLINE liftBaseWith #-}
|
||||||
{-# INLINE restoreM #-}
|
{-# INLINE restoreM #-}
|
||||||
|
|
||||||
|
#endif
|
||||||
|
|
||||||
-- GHC cannot prove the following instances to be decidable automatically using
|
-- GHC cannot prove the following instances to be decidable automatically using
|
||||||
-- the FlexibleContexts extension as they violate the second Paterson Condition,
|
-- the FlexibleContexts extension as they violate the second Paterson Condition,
|
||||||
-- namely that: The assertion has fewer constructors and variables (taken
|
-- namely that: The assertion has fewer constructors and variables (taken
|
||||||
|
Loading…
Reference in New Issue
Block a user