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 Action
s 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 #