Safe Haskell | None |
---|---|
Language | Haskell98 |
- data SessionState s = SessionState {
- _sessionActive :: Maybe s
- _sessionMap :: Map s HscEnv
- sessionActive :: Lens' (SessionState s) (Maybe s)
- sessionMap :: Lens' (SessionState s) (Map s HscEnv)
- newtype MGhcT s m a = MGhcT {}
- runMGhcT :: (MonadIO m, ExceptionMonad m, Ord s) => Maybe FilePath -> MGhcT s m a -> m a
- liftGhc :: MonadIO m => Ghc a -> MGhcT s m a
- currentSession :: MonadIO m => MGhcT s m (Maybe s)
- hasSession :: (MonadIO m, Ord s) => s -> MGhcT s m Bool
- findSession :: (MonadIO m, Ord s) => s -> MGhcT s m (Maybe s)
- findSessionBy :: MonadIO m => (s -> Bool) -> MGhcT s m [s]
- saveSession :: (MonadIO m, ExceptionMonad m, Ord s) => MGhcT s m (Maybe s)
- initSession :: (MonadIO m, ExceptionMonad m, Ord s) => MGhcT s m ()
- newSession :: (MonadIO m, ExceptionMonad m, Ord s) => s -> MGhcT s m ()
- switchSession :: (MonadIO m, ExceptionMonad m, Ord s) => s -> MGhcT s m Bool
- switchSession_ :: (MonadIO m, ExceptionMonad m, Ord s) => s -> Maybe (MGhcT s m ()) -> MGhcT s m ()
- deleteSession :: (MonadIO m, ExceptionMonad m, Ord s) => s -> MGhcT s m ()
- restoreSession :: (MonadIO m, MonadMask m, ExceptionMonad m, Ord s) => MGhcT s m a -> MGhcT s m a
- usingSession :: (MonadIO m, MonadMask m, ExceptionMonad m, Ord s) => s -> MGhcT s m a -> MGhcT s m a
- tempSession :: (MonadIO m, MonadMask m, ExceptionMonad m, Ord s) => s -> MGhcT s m a -> MGhcT s m a
Documentation
data SessionState s Source #
SessionState | |
|
Default (SessionState s) Source # | |
Monad m => MonadState (SessionState s) (MGhcT s m) Source # | |
sessionActive :: Lens' (SessionState s) (Maybe s) Source #
sessionMap :: Lens' (SessionState s) (Map s HscEnv) Source #
Multi-session ghc monad
Monad m => MonadReader (Maybe FilePath) (MGhcT s m) Source # | |
Monad m => MonadState (SessionState s) (MGhcT s m) Source # | |
Monad m => Monad (MGhcT s m) Source # | |
Functor m => Functor (MGhcT s m) Source # | |
Monad m => Applicative (MGhcT s m) Source # | |
MonadIO m => MonadIO (MGhcT s m) Source # | |
MonadThrow m => MonadThrow (MGhcT s m) Source # | |
MonadCatch m => MonadCatch (MGhcT s m) Source # | |
MonadMask m => MonadMask (MGhcT s m) Source # | |
ExceptionMonad m => GhcMonad (MGhcT s m) Source # | |
MonadIO m => HasDynFlags (MGhcT s m) Source # | |
ExceptionMonad m => ExceptionMonad (MGhcT s m) Source # | |
MonadLog m => MonadLog (MGhcT s m) Source # | |
runMGhcT :: (MonadIO m, ExceptionMonad m, Ord s) => Maybe FilePath -> MGhcT s m a -> m a Source #
Run multi-session ghc
saveSession :: (MonadIO m, ExceptionMonad m, Ord s) => MGhcT s m (Maybe s) Source #
Save current session
initSession :: (MonadIO m, ExceptionMonad m, Ord s) => MGhcT s m () Source #
Initialize new session
newSession :: (MonadIO m, ExceptionMonad m, Ord s) => s -> MGhcT s m () Source #
Create new named session, deleting existing session
switchSession :: (MonadIO m, ExceptionMonad m, Ord s) => s -> MGhcT s m Bool Source #
Switch to session, creating if not exist, returns True if session was created
switchSession_ :: (MonadIO m, ExceptionMonad m, Ord s) => s -> Maybe (MGhcT s m ()) -> MGhcT s m () Source #
Switch to session, creating if not exist and initializing with passed function
deleteSession :: (MonadIO m, ExceptionMonad m, Ord s) => s -> MGhcT s m () Source #
Delete existing session
restoreSession :: (MonadIO m, MonadMask m, ExceptionMonad m, Ord s) => MGhcT s m a -> MGhcT s m a Source #
Save and restore session
usingSession :: (MonadIO m, MonadMask m, ExceptionMonad m, Ord s) => s -> MGhcT s m a -> MGhcT s m a Source #
Run action using session, restoring session back
tempSession :: (MonadIO m, MonadMask m, ExceptionMonad m, Ord s) => s -> MGhcT s m a -> MGhcT s m a Source #
Run with temporary session, like usingSession
, but deletes self session
Orphan instances
MonadTrans GhcT Source # | |
MonadReader r m => MonadReader r (GhcT m) Source # | |
MonadState st m => MonadState st (GhcT m) Source # | |
MonadThrow m => MonadThrow (GhcT m) Source # | |
MonadCatch m => MonadCatch (GhcT m) Source # | |
MonadMask m => MonadMask (GhcT m) Source # | |
MFunctor * GhcT Source # | |
ExceptionMonad m => ExceptionMonad (StateT s m) Source # | |
ExceptionMonad m => ExceptionMonad (ReaderT * r m) Source # | |