Language.Haskell.GhcMod.Monad.Newtypes

ghc-mod-5.8.0.0: Happy Haskell Hacking

Safe Haskell | None
Language | Haskell2010

Language.Haskell.GhcMod.Monad.Newtypes

# Documentation

type GhcModT m = GmT (GmOutT m) #

newtype GmOutT m a #

Constructors

GmOutT |
Fields unGmOutT :: ReaderT GhcModOut m a

Instances

MonadTrans GmOutT # |
Methods lift :: Monad m => m a -> GmOutT m a #
MonadTransControl GmOutT # |
Associated Types type StT (GmOutT :: (* -> *) -> * -> *) a :: * # Methods liftWith :: Monad m => (Run GmOutT -> m a) -> GmOutT m a # restoreT :: Monad m => m (StT GmOutT a) -> GmOutT m a #
MonadBaseControl IO m => MonadBase IO (GmOutT m) # |
Methods liftBase :: IO α -> GmOutT m α #
MonadBaseControl IO m => MonadBaseControl IO (GmOutT m) # |
Associated Types type StM (GmOutT m :: * -> *) a :: * # Methods liftBaseWith :: (RunInBase (GmOutT m) IO -> IO a) -> GmOutT m a # restoreM :: StM (GmOutT m) a -> GmOutT m a #
Monad m => Monad (GmOutT m) # |
Methods (>>=) :: GmOutT m a -> (a -> GmOutT m b) -> GmOutT m b # (>>) :: GmOutT m a -> GmOutT m b -> GmOutT m b # return :: a -> GmOutT m a # fail :: String -> GmOutT m a #
Functor m => Functor (GmOutT m) # |
Methods fmap :: (a -> b) -> GmOutT m a -> GmOutT m b # (<$) :: a -> GmOutT m b -> GmOutT m a #
Applicative m => Applicative (GmOutT m) # |
Methods pure :: a -> GmOutT m a # (<*>) :: GmOutT m (a -> b) -> GmOutT m a -> GmOutT m b # (*>) :: GmOutT m a -> GmOutT m b -> GmOutT m b # (<*) :: GmOutT m a -> GmOutT m b -> GmOutT m a #
MonadPlus m => MonadPlus (GmOutT m) # |
Methods mzero :: GmOutT m a # mplus :: GmOutT m a -> GmOutT m a -> GmOutT m a #
Alternative m => Alternative (GmOutT m) # |
Methods empty :: GmOutT m a # (<|>) :: GmOutT m a -> GmOutT m a -> GmOutT m a # some :: GmOutT m a -> GmOutT m [a] # many :: GmOutT m a -> GmOutT m [a] #
GmEnv m => GmEnv (GmOutT m) # |
Methods gmeAsk :: GmOutT m GhcModEnv # gmeReader :: (GhcModEnv -> a) -> GmOutT m a # gmeLocal :: (GhcModEnv -> GhcModEnv) -> GmOutT m a -> GmOutT m a #
GmLog m => GmLog (GmOutT m) # |
Methods gmlJournal :: GhcModLog -> GmOutT m () # gmlHistory :: GmOutT m GhcModLog # gmlClear :: GmOutT m () #
Monad m => GmOut (GmOutT m) # |
Methods gmoAsk :: GmOutT m GhcModOut #
type StT GmOutT a # |
type StT GmOutT a = StT (ReaderT * GhcModEnv) a
type StM (GmOutT m) a # |
type StM (GmOutT m) a = StM (ReaderT * GhcModEnv m) a

newtype GmT m a #

Constructors

GmT |
Fields unGmT :: StateT GhcModState (ErrorT GhcModError (JournalT GhcModLog (ReaderT GhcModEnv m))) a

Instances

MonadTrans GmT # |
Methods lift :: Monad m => m a -> GmT m a #
MonadTransControl GmT # |
Associated Types type StT (GmT :: (* -> *) -> * -> *) a :: * # Methods liftWith :: Monad m => (Run GmT -> m a) -> GmT m a # restoreT :: Monad m => m (StT GmT a) -> GmT m a #
MonadBaseControl IO m => MonadBase IO (GmT m) # |
Methods liftBase :: IO α -> GmT m α #
MonadBaseControl IO m => MonadBaseControl IO (GmT m) # |
Associated Types type StM (GmT m :: * -> *) a :: * # Methods liftBaseWith :: (RunInBase (GmT m) IO -> IO a) -> GmT m a # restoreM :: StM (GmT m) a -> GmT m a #
Monad m => MonadJournal GhcModLog (GmT m) # |
Methods journal :: GhcModLog -> GmT m () # history :: GmT m GhcModLog # clear :: GmT m () #
Monad m => MonadError GhcModError (GmT m) # |
Methods throwError :: GhcModError -> GmT m a # catchError :: GmT m a -> (GhcModError -> GmT m a) -> GmT m a #
MonadReader r m => MonadReader r (GmT m) # |
Methods ask :: GmT m r # local :: (r -> r) -> GmT m a -> GmT m a # reader :: (r -> a) -> GmT m a #
MonadState s m => MonadState s (GmT m) # |
Methods get :: GmT m s # put :: s -> GmT m () # state :: (s -> (a, s)) -> GmT m a #
Monad m => Monad (GmT m) # |
Methods (>>=) :: GmT m a -> (a -> GmT m b) -> GmT m b # (>>) :: GmT m a -> GmT m b -> GmT m b # return :: a -> GmT m a # fail :: String -> GmT m a #
Functor m => Functor (GmT m) # |
Methods fmap :: (a -> b) -> GmT m a -> GmT m b # (<$) :: a -> GmT m b -> GmT m a #
Monad m => Applicative (GmT m) # |
Methods pure :: a -> GmT m a # (<*>) :: GmT m (a -> b) -> GmT m a -> GmT m b # (*>) :: GmT m a -> GmT m b -> GmT m b # (<*) :: GmT m a -> GmT m b -> GmT m a #
Monad m => MonadPlus (GmT m) # |
Methods mzero :: GmT m a # mplus :: GmT m a -> GmT m a -> GmT m a #
Monad m => Alternative (GmT m) # |
Methods empty :: GmT m a # (<|>) :: GmT m a -> GmT m a -> GmT m a # some :: GmT m a -> GmT m [a] # many :: GmT m a -> GmT m [a] #
Monad m => GmEnv (GmT m) # |
Methods gmeAsk :: GmT m GhcModEnv # gmeReader :: (GhcModEnv -> a) -> GmT m a # gmeLocal :: (GhcModEnv -> GhcModEnv) -> GmT m a -> GmT m a #
Monad m => GmLog (GmT m) # |
Methods gmlJournal :: GhcModLog -> GmT m () # gmlHistory :: GmT m GhcModLog # gmlClear :: GmT m () #
GmOut m => GmOut (GmT m) # |
Methods gmoAsk :: GmT m GhcModOut #
Monad m => GmState (GmT m) # |
Methods gmsGet :: GmT m GhcModState # gmsPut :: GhcModState -> GmT m () # gmsState :: (GhcModState -> (a, GhcModState)) -> GmT m a #
type StT GmT a # |
type StT GmT a = (Either GhcModError (a, GhcModState), GhcModLog)
type StM (GmT m) a # |
type StM (GmT m) a = StM (StateT GhcModState (ErrorT GhcModError (JournalT GhcModLog (ReaderT * GhcModEnv m)))) a

newtype GmlT m a #

Constructors

GmlT |
Fields unGmlT :: GhcModT m a

Instances

MonadTrans GmlT # |
Methods lift :: Monad m => m a -> GmlT m a #
MonadTransControl GmlT # |
Associated Types type StT (GmlT :: (* -> *) -> * -> *) a :: * # Methods liftWith :: Monad m => (Run GmlT -> m a) -> GmlT m a # restoreT :: Monad m => m (StT GmlT a) -> GmlT m a #
MonadBaseControl IO m => MonadBase IO (GmlT m) # |
Methods liftBase :: IO α -> GmlT m α #
MonadBaseControl IO m => MonadBaseControl IO (GmlT m) # |
Associated Types type StM (GmlT m :: * -> *) a :: * # Methods liftBaseWith :: (RunInBase (GmlT m) IO -> IO a) -> GmlT m a # restoreM :: StM (GmlT m) a -> GmlT m a #
Monad m => MonadError GhcModError (GmlT m) # |
Methods throwError :: GhcModError -> GmlT m a # catchError :: GmlT m a -> (GhcModError -> GmlT m a) -> GmlT m a #
Monad m => Monad (GmlT m) # |
Methods (>>=) :: GmlT m a -> (a -> GmlT m b) -> GmlT m b # (>>) :: GmlT m a -> GmlT m b -> GmlT m b # return :: a -> GmlT m a # fail :: String -> GmlT m a #
Functor m => Functor (GmlT m) # |
Methods fmap :: (a -> b) -> GmlT m a -> GmlT m b # (<$) :: a -> GmlT m b -> GmlT m a #
Monad m => Applicative (GmlT m) # |
Methods pure :: a -> GmlT m a # (<*>) :: GmlT m (a -> b) -> GmlT m a -> GmlT m b # (*>) :: GmlT m a -> GmlT m b -> GmlT m b # (<*) :: GmlT m a -> GmlT m b -> GmlT m a #
Monad m => MonadPlus (GmlT m) # |
Methods mzero :: GmlT m a # mplus :: GmlT m a -> GmlT m a -> GmlT m a #
Monad m => Alternative (GmlT m) # |
Methods empty :: GmlT m a # (<|>) :: GmlT m a -> GmlT m a -> GmlT m a # some :: GmlT m a -> GmlT m [a] # many :: GmlT m a -> GmlT m [a] #
(Monad m, GmEnv (GhcModT m)) => GmEnv (GmlT m) # |
Methods gmeAsk :: GmlT m GhcModEnv # gmeReader :: (GhcModEnv -> a) -> GmlT m a # gmeLocal :: (GhcModEnv -> GhcModEnv) -> GmlT m a -> GmlT m a #
(Monad m, GmLog (GhcModT m)) => GmLog (GmlT m) # |
Methods gmlJournal :: GhcModLog -> GmlT m () # gmlHistory :: GmlT m GhcModLog # gmlClear :: GmlT m () #
Monad m => GmOut (GmlT m) # |
Methods gmoAsk :: GmlT m GhcModOut #
(Monad m, GmState (GhcModT m)) => GmState (GmlT m) # |
Methods gmsGet :: GmlT m GhcModState # gmsPut :: GhcModState -> GmlT m () # gmsState :: (GhcModState -> (a, GhcModState)) -> GmlT m a #
type StT GmlT a # |
type StT GmlT a = StT GmT a
type StM (GmlT m) a # |
type StM (GmlT m) a = StM (GmT m) a

newtype LightGhc a #

Constructors

LightGhc |
Fields unLightGhc :: ReaderT (IORef HscEnv) IO a

Instances

Monad LightGhc # |
Methods (>>=) :: LightGhc a -> (a -> LightGhc b) -> LightGhc b # (>>) :: LightGhc a -> LightGhc b -> LightGhc b # return :: a -> LightGhc a # fail :: String -> LightGhc a #
Functor LightGhc # |
Methods fmap :: (a -> b) -> LightGhc a -> LightGhc b # (<$) :: a -> LightGhc b -> LightGhc a #
Applicative LightGhc # |
Methods pure :: a -> LightGhc a # (<*>) :: LightGhc (a -> b) -> LightGhc a -> LightGhc b # (*>) :: LightGhc a -> LightGhc b -> LightGhc b # (<*) :: LightGhc a -> LightGhc b -> LightGhc a #

gmLiftInner :: Monad m => m a -> GmT m a #

gmLiftWithInner :: (MonadTransControl t, Monad m, Monad (t m)) => (Run t -> m (StT t a)) -> t m a #