| Safe Haskell | None |
|---|---|
| Language | Haskell2010 |
Development.Shake.Plus.Core
Synopsis
- class Monad m => MonadAction m where
- liftAction :: Action a -> m a
- class Monad m => MonadRules m where
- newtype UnliftAction m = UnliftAction {
- unliftAction :: forall a. m a -> Action a
- class MonadAction m => MonadUnliftAction m where
- withRunInAction :: ((forall a. m a -> Action a) -> Action b) -> m b
- withUnliftAction :: MonadUnliftAction m => (UnliftAction m -> Action a) -> m a
- askUnliftAction :: MonadUnliftAction m => m (UnliftAction m)
- toAction :: MonadUnliftAction m => m a -> m (Action a)
- data RAction r a
- data ShakePlus r a
- runRAction :: MonadAction m => env -> RAction env a -> m a
- runShakePlus :: MonadRules m => env -> ShakePlus env a -> m a
Documentation
class Monad m => MonadAction m where Source #
Monads in which Actions may be embedded.
Methods
liftAction :: Action a -> m a Source #
Instances
| MonadAction Action Source # | |
Defined in Development.Shake.Plus.Core Methods liftAction :: Action a -> Action a Source # | |
| MonadAction (RAction r) Source # | |
Defined in Development.Shake.Plus.Core Methods liftAction :: Action a -> RAction r a Source # | |
| MonadAction m => MonadAction (ReaderT r m) Source # | |
Defined in Development.Shake.Plus.Core Methods liftAction :: Action a -> ReaderT r m a Source # | |
class Monad m => MonadRules m where Source #
Instances
| MonadRules Rules Source # | |
| MonadRules (ShakePlus r) Source # | |
| MonadRules m => MonadRules (ReaderT r m) Source # | |
newtype UnliftAction m Source #
Constructors
| UnliftAction | |
Fields
| |
class MonadAction m => MonadUnliftAction m where Source #
Monads which allow their actions to be run in Action.
For the same reasons as MonadUnliftIO this is limited to ReaderT
and IdentityT transformers on top of Action.
Minimal complete definition
Nothing
Methods
withRunInAction :: ((forall a. m a -> Action a) -> Action b) -> m b Source #
Instances
| MonadUnliftAction Action Source # | |
Defined in Development.Shake.Plus.Core | |
| MonadUnliftAction (RAction r) Source # | |
Defined in Development.Shake.Plus.Core | |
| MonadUnliftAction m => MonadUnliftAction (ReaderT r m) Source # | |
Defined in Development.Shake.Plus.Core | |
withUnliftAction :: MonadUnliftAction m => (UnliftAction m -> Action a) -> m a Source #
askUnliftAction :: MonadUnliftAction m => m (UnliftAction m) Source #
toAction :: MonadUnliftAction m => m a -> m (Action a) Source #
Concrete Action runner, hardcoded to `ReaderT r Action a`.
Instances
| MonadReader r (RAction r) Source # | |
| Monad (RAction r) Source # | |
| Functor (RAction r) Source # | |
| Applicative (RAction r) Source # | |
Defined in Development.Shake.Plus.Core | |
| MonadIO (RAction r) Source # | |
Defined in Development.Shake.Plus.Core | |
| MonadThrow (RAction r) Source # | |
Defined in Development.Shake.Plus.Core | |
| MonadUnliftAction (RAction r) Source # | |
Defined in Development.Shake.Plus.Core | |
| MonadAction (RAction r) Source # | |
Defined in Development.Shake.Plus.Core Methods liftAction :: Action a -> RAction r a Source # | |
Concrete Rules collector, hardcoded to `ReaderT r Rules a`.
Instances
| MonadReader r (ShakePlus r) Source # | |
| Monad (ShakePlus r) Source # | |
| Functor (ShakePlus r) Source # | |
| Applicative (ShakePlus r) Source # | |
Defined in Development.Shake.Plus.Core | |
| MonadIO (ShakePlus r) Source # | |
Defined in Development.Shake.Plus.Core | |
| MonadThrow (ShakePlus r) Source # | |
Defined in Development.Shake.Plus.Core | |
| MonadRules (ShakePlus r) Source # | |
runRAction :: MonadAction m => env -> RAction env a -> m a Source #
Run an RAction with an environment, consuming it for a result.
runShakePlus :: MonadRules m => env -> ShakePlus env a -> m a Source #