License | MIT |
---|---|
Stability | experimental |
Safe Haskell | None |
Language | Haskell2010 |
Development.Shake.Plus.Oracle
Description
Oracle utilities in Development.Shake lifted to MonadAction
and MonadRules
.
Synopsis
- addOracle :: (MonadRules m, MonadReader r m, RuleResult q ~ a, ShakeValue q, ShakeValue a, Partial) => (q -> RAction r a) -> m (q -> RAction r a)
- addOracleCache :: (MonadRules m, MonadReader r m, RuleResult q ~ a, ShakeValue q, ShakeValue a, Partial) => (q -> RAction r a) -> m (q -> RAction r a)
- addOracleHash :: (MonadRules m, MonadReader r m, RuleResult q ~ a, ShakeValue q, ShakeValue a, Partial) => (q -> RAction r a) -> m (q -> RAction r a)
- askOracle :: (MonadAction m, RuleResult q ~ a, ShakeValue q, ShakeValue a) => q -> m a
- askOracles :: (MonadAction m, RuleResult q ~ a, ShakeValue q, ShakeValue a) => [q] -> m [a]
- type family RuleResult key
Documentation
addOracle :: (MonadRules m, MonadReader r m, RuleResult q ~ a, ShakeValue q, ShakeValue a, Partial) => (q -> RAction r a) -> m (q -> RAction r a) Source #
addOracleCache :: (MonadRules m, MonadReader r m, RuleResult q ~ a, ShakeValue q, ShakeValue a, Partial) => (q -> RAction r a) -> m (q -> RAction r a) Source #
Lifted version of addOracleCache
using RAction
runner.
addOracleHash :: (MonadRules m, MonadReader r m, RuleResult q ~ a, ShakeValue q, ShakeValue a, Partial) => (q -> RAction r a) -> m (q -> RAction r a) Source #
Lifted version of addOracleHash
using RAction
runner.
askOracle :: (MonadAction m, RuleResult q ~ a, ShakeValue q, ShakeValue a) => q -> m a Source #
Lifted version of askOracle
.
askOracles :: (MonadAction m, RuleResult q ~ a, ShakeValue q, ShakeValue a) => [q] -> m [a] Source #
Lifted version of askOracles
.
type family RuleResult key #
The type mapping between the key
or a rule and the resulting value
.
See addBuiltinRule
and apply
.
Instances
type RuleResult FileQ | |
Defined in Development.Shake.Internal.Rules.File type RuleResult FileQ = FileR | |
type RuleResult DoesDirectoryExistQ | |
Defined in Development.Shake.Internal.Rules.Directory type RuleResult DoesDirectoryExistQ = DoesDirectoryExistA | |
type RuleResult DoesFileExistQ | |
Defined in Development.Shake.Internal.Rules.Directory type RuleResult DoesFileExistQ = DoesFileExistA | |
type RuleResult GetDirectoryContentsQ | |
Defined in Development.Shake.Internal.Rules.Directory type RuleResult GetDirectoryContentsQ = GetDirectoryA | |
type RuleResult GetDirectoryDirsQ | |
Defined in Development.Shake.Internal.Rules.Directory type RuleResult GetDirectoryDirsQ = GetDirectoryA | |
type RuleResult GetDirectoryFilesQ | |
Defined in Development.Shake.Internal.Rules.Directory type RuleResult GetDirectoryFilesQ = GetDirectoryA | |
type RuleResult GetEnvQ | |
Defined in Development.Shake.Internal.Rules.Directory type RuleResult GetEnvQ = GetEnvA | |
type RuleResult FilesQ | |
Defined in Development.Shake.Internal.Rules.Files type RuleResult FilesQ = FilesA | |
type RuleResult AlwaysRerunQ | |
Defined in Development.Shake.Internal.Rules.Rerun type RuleResult AlwaysRerunQ = () | |
type RuleResult Config | |
Defined in Development.Shake.Config | |
type RuleResult ConfigKeys | |
Defined in Development.Shake.Config | |
type RuleResult Forward | |
Defined in Development.Shake.Forward type RuleResult Forward = Forward | |
type RuleResult (OracleQ a) | |
Defined in Development.Shake.Internal.Rules.Oracle |