shake-plus-0.1.10.0: Re-export of Shake using well-typed paths and ReaderT.

Safe HaskellNone
LanguageHaskell2010

Development.Shake.Plus.Oracle

Synopsis

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 #

Lifted version of addOracle using RAction runner.

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 :: Type #

The type mapping between the key or a rule and the resulting value. See addBuiltinRule and apply.

Instances
type RuleResult FileQ 
Instance details

Defined in Development.Shake.Internal.Rules.File

type RuleResult FileQ = FileR
type RuleResult DoesDirectoryExistQ 
Instance details

Defined in Development.Shake.Internal.Rules.Directory

type RuleResult DoesDirectoryExistQ = DoesDirectoryExistA
type RuleResult DoesFileExistQ 
Instance details

Defined in Development.Shake.Internal.Rules.Directory

type RuleResult DoesFileExistQ = DoesFileExistA
type RuleResult GetDirectoryContentsQ 
Instance details

Defined in Development.Shake.Internal.Rules.Directory

type RuleResult GetDirectoryContentsQ = GetDirectoryA
type RuleResult GetDirectoryDirsQ 
Instance details

Defined in Development.Shake.Internal.Rules.Directory

type RuleResult GetDirectoryDirsQ = GetDirectoryA
type RuleResult GetDirectoryFilesQ 
Instance details

Defined in Development.Shake.Internal.Rules.Directory

type RuleResult GetDirectoryFilesQ = GetDirectoryA
type RuleResult GetEnvQ 
Instance details

Defined in Development.Shake.Internal.Rules.Directory

type RuleResult GetEnvQ = GetEnvA
type RuleResult FilesQ 
Instance details

Defined in Development.Shake.Internal.Rules.Files

type RuleResult FilesQ = FilesA
type RuleResult AlwaysRerunQ 
Instance details

Defined in Development.Shake.Internal.Rules.Rerun

type RuleResult AlwaysRerunQ = ()
type RuleResult Config 
Instance details

Defined in Development.Shake.Config

type RuleResult Config = Maybe String
type RuleResult ConfigKeys 
Instance details

Defined in Development.Shake.Config

type RuleResult ConfigKeys = [String]
type RuleResult (OracleQ a) 
Instance details

Defined in Development.Shake.Internal.Rules.Oracle

type RuleResult (OracleQ a) = OracleA (RuleResult a)