ghc-mod-5.7.0.0: Happy Haskell Programming

Safe HaskellNone
LanguageHaskell2010

Language.Haskell.GhcMod.Monad.Newtypes

Documentation

type GhcModT m = GmT (GmOutT m) Source #

newtype GmOutT m a Source #

Constructors

GmOutT 

Fields

Instances

MonadTrans GmOutT Source # 

Methods

lift :: Monad m => m a -> GmOutT m a #

MonadTransControl GmOutT Source # 

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) Source # 

Methods

liftBase :: IO α -> GmOutT m α #

MonadBaseControl IO m => MonadBaseControl IO (GmOutT m) Source # 

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) Source # 

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) Source # 

Methods

fmap :: (a -> b) -> GmOutT m a -> GmOutT m b #

(<$) :: a -> GmOutT m b -> GmOutT m a #

Applicative m => Applicative (GmOutT m) Source # 

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) Source # 

Methods

mzero :: GmOutT m a #

mplus :: GmOutT m a -> GmOutT m a -> GmOutT m a #

Alternative m => Alternative (GmOutT m) Source # 

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) Source # 
GmLog m => GmLog (GmOutT m) Source # 
Monad m => GmOut (GmOutT m) Source # 
type StT GmOutT a Source # 
type StM (GmOutT m) a Source # 
type StM (GmOutT m) a = StM (ReaderT * GhcModEnv m) a

newtype GmT m a Source #

Instances

MonadTrans GmT Source # 

Methods

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

MonadTransControl GmT Source # 

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) Source # 

Methods

liftBase :: IO α -> GmT m α #

MonadBaseControl IO m => MonadBaseControl IO (GmT m) Source # 

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) Source # 

Methods

journal :: GhcModLog -> GmT m () #

history :: GmT m GhcModLog #

clear :: GmT m () #

Monad m => MonadError GhcModError (GmT m) Source # 

Methods

throwError :: GhcModError -> GmT m a #

catchError :: GmT m a -> (GhcModError -> GmT m a) -> GmT m a #

MonadReader r m => MonadReader r (GmT m) Source # 

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) Source # 

Methods

get :: GmT m s #

put :: s -> GmT m () #

state :: (s -> (a, s)) -> GmT m a #

Monad m => Monad (GmT m) Source # 

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) Source # 

Methods

fmap :: (a -> b) -> GmT m a -> GmT m b #

(<$) :: a -> GmT m b -> GmT m a #

Monad m => Applicative (GmT m) Source # 

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) Source # 

Methods

mzero :: GmT m a #

mplus :: GmT m a -> GmT m a -> GmT m a #

Monad m => Alternative (GmT m) Source # 

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) Source # 

Methods

gmeAsk :: GmT m GhcModEnv Source #

gmeReader :: (GhcModEnv -> a) -> GmT m a Source #

gmeLocal :: (GhcModEnv -> GhcModEnv) -> GmT m a -> GmT m a Source #

Monad m => GmLog (GmT m) Source # 
GmOut m => GmOut (GmT m) Source # 
Monad m => GmState (GmT m) Source # 
type StT GmT a Source # 
type StM (GmT m) a Source # 

newtype GmlT m a Source #

Constructors

GmlT 

Fields

Instances

MonadTrans GmlT Source # 

Methods

lift :: Monad m => m a -> GmlT m a #

MonadTransControl GmlT Source # 

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) Source # 

Methods

liftBase :: IO α -> GmlT m α #

MonadBaseControl IO m => MonadBaseControl IO (GmlT m) Source # 

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) Source # 

Methods

throwError :: GhcModError -> GmlT m a #

catchError :: GmlT m a -> (GhcModError -> GmlT m a) -> GmlT m a #

Monad m => Monad (GmlT m) Source # 

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) Source # 

Methods

fmap :: (a -> b) -> GmlT m a -> GmlT m b #

(<$) :: a -> GmlT m b -> GmlT m a #

Monad m => Applicative (GmlT m) Source # 

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) Source # 

Methods

mzero :: GmlT m a #

mplus :: GmlT m a -> GmlT m a -> GmlT m a #

Monad m => Alternative (GmlT m) Source # 

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) Source # 

Methods

gmeAsk :: GmlT m GhcModEnv Source #

gmeReader :: (GhcModEnv -> a) -> GmlT m a Source #

gmeLocal :: (GhcModEnv -> GhcModEnv) -> GmlT m a -> GmlT m a Source #

(Monad m, GmLog (GhcModT m)) => GmLog (GmlT m) Source # 
Monad m => GmOut (GmlT m) Source # 
(Monad m, GmState (GhcModT m)) => GmState (GmlT m) Source # 
type StT GmlT a Source # 
type StT GmlT a = StT GmT a
type StM (GmlT m) a Source # 
type StM (GmlT m) a = StM (GmT m) a

newtype LightGhc a Source #

Constructors

LightGhc 

Instances

Monad LightGhc Source # 

Methods

(>>=) :: LightGhc a -> (a -> LightGhc b) -> LightGhc b #

(>>) :: LightGhc a -> LightGhc b -> LightGhc b #

return :: a -> LightGhc a #

fail :: String -> LightGhc a #

Functor LightGhc Source # 

Methods

fmap :: (a -> b) -> LightGhc a -> LightGhc b #

(<$) :: a -> LightGhc b -> LightGhc a #

Applicative LightGhc Source # 

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 Source #

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