| 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 | |