-- Hoogle documentation, generated by Haddock -- See Hoogle, http://www.haskell.org/hoogle/ -- | An mtl compatible version of the Ghc-Api monads -- and monad-transformers. -- -- Provides an mtl compatible version of the GhcT -- monad-transformer defined in the 'GHC-API' since version 6.10.1. @package ghc-mtl @version 1.0.1.0 module Control.Monad.Ghc data Ghc a runGhc :: Maybe FilePath -> Ghc a -> IO a data GhcT m a runGhcT :: (Functor m, MonadCatchIO m) => Maybe FilePath -> GhcT m a -> m a -- | A monad that has all the features needed by GHC API calls. -- -- In short, a GHC monad -- -- -- -- If you do not use Ghc or GhcT, make sure to call -- GHC.initGhcMonad before any call to the GHC API functions can -- occur. class (Functor m, MonadIO m, WarnLogMonad m, ExceptionMonad m) => GhcMonad m :: (* -> *) getSession :: GhcMonad m => m HscEnv setSession :: GhcMonad m => HscEnv -> m () instance Functor Ghc instance Monad Ghc instance WarnLogMonad Ghc instance ExceptionMonad Ghc instance MonadIO Ghc instance GhcMonad Ghc instance Functor m => Functor (MTLAdapter m) instance Monad m => Monad (MTLAdapter m) instance Functor m => Functor (GhcT m) instance Monad m => Monad (GhcT m) instance MonadCatchIO m => ExceptionMonad (MTLAdapter m) instance MonadIO m => MonadIO (MTLAdapter m) instance (Functor m, MonadCatchIO m) => GhcMonad (GhcT m) instance MonadIO m => WarnLogMonad (GhcT m) instance MonadCatchIO m => ExceptionMonad (GhcT m) instance MonadCatchIO m => MonadCatchIO (GhcT m) instance MonadIO m => MonadIO (GhcT m) instance MonadIO m => MonadIO (GhcT m) instance MonadTrans GhcT instance MonadCatchIO Ghc instance MonadIO Ghc