yi-0.8.2: The Haskell-Scriptable Editor

Safe HaskellSafe-Inferred
LanguageHaskell2010

Yi.Monad

Synopsis

Documentation

class Ref ref where Source

Methods

readRef :: MonadBase IO m => ref a -> m a Source

writeRef :: MonadBase IO m => ref a -> a -> m () Source

modifyRef :: MonadBase IO m => ref a -> (a -> a) -> m () Source

Instances

gets :: MonadState s m => (s -> a) -> m a

Gets specific component of the state, using a projection function supplied.

getsAndModify :: MonadState s m => (s -> (s, a)) -> m a Source

Combination of the Control.Monad.State modify and gets

maybeM :: Monad m => (x -> m ()) -> Maybe x -> m () Source

modifiesRef :: (Ref ref, MonadReader r m, MonadBase IO m) => (r -> ref a) -> (a -> a) -> m () Source

modifiesThenReadsRef :: (MonadReader r m, MonadBase IO m) => (r -> IORef a) -> (a -> a) -> m a Source

readsRef :: (Ref ref, MonadReader r m, MonadBase IO m) => (r -> ref a) -> m a Source

repeatUntilM :: Monad m => m (Bool, a) -> m [a] Source

Rerun the monad until the boolean result is false, collecting list of results.

whenM :: Monad m => m Bool -> m () -> m () Source

with :: (MonadReader r m, MonadBase b m) => (r -> a) -> (a -> b c) -> m c Source

writesRef :: (MonadReader r m, MonadBase IO m) => (r -> IORef a) -> a -> m () Source