Safe Haskell | None |
---|---|
Language | Haskell2010 |
Synopsis
- unwrapDynamic :: forall a. Typeable a => Dynamic -> a
- type TheRules = HashMap TypeRep Dynamic
- newtype Rules a = Rules (ReaderT SRules IO a)
- data SRules = SRules {
- rulesExtra :: !Dynamic
- rulesActions :: !(IORef [Action ()])
- rulesMap :: !(IORef TheRules)
- newtype Action a = Action {
- fromAction :: ReaderT SAction IO a
- data SAction = SAction {
- actionDatabase :: !Database
- actionDeps :: !(IORef ResultDeps)
- getDatabase :: Action Database
- newtype Step = Step Int
- data Key = forall a.(Typeable a, Eq a, Hashable a, Show a) => Key a
- newtype Value = Value Dynamic
- data Database = Database {
- databaseExtra :: Dynamic
- databaseRules :: TheRules
- databaseStep :: !(IORef Step)
- databaseLock :: !Lock
- databaseIds :: !(IORef (Intern Key))
- databaseValues :: !(Ids (Key, Status))
- databaseReverseDeps :: !(Ids IntSet)
- databaseReverseDepsLock :: !Lock
- data Status
- getResult :: Status -> Maybe Result
- data Result = Result {
- resultValue :: !Value
- resultBuilt :: !Step
- resultChanged :: !Step
- resultVisited :: !Step
- resultDeps :: !ResultDeps
- resultExecution :: !Seconds
- resultData :: ByteString
- data ResultDeps
- = UnknownDeps
- | AlwaysRerunDeps ![Id]
- | ResultDeps ![Id]
- getResultDepsDefault :: [Id] -> ResultDeps -> [Id]
- mapResultDeps :: ([Id] -> [Id]) -> ResultDeps -> ResultDeps
- data RunMode
- data RunChanged
- data RunResult value = RunResult {
- runChanged :: RunChanged
- runStore :: ByteString
- runValue :: value
Documentation
unwrapDynamic :: forall a. Typeable a => Dynamic -> a Source #
Instances
SRules | |
|
Action | |
|
Instances
SAction | |
|
Database | |
|
Result | |
|
data ResultDeps Source #
UnknownDeps | |
AlwaysRerunDeps ![Id] | |
ResultDeps ![Id] |
Instances
Semigroup ResultDeps Source # | |
Defined in Development.IDE.Graph.Internal.Types (<>) :: ResultDeps -> ResultDeps -> ResultDeps # sconcat :: NonEmpty ResultDeps -> ResultDeps # stimes :: Integral b => b -> ResultDeps -> ResultDeps # | |
Monoid ResultDeps Source # | |
Defined in Development.IDE.Graph.Internal.Types mempty :: ResultDeps # mappend :: ResultDeps -> ResultDeps -> ResultDeps # mconcat :: [ResultDeps] -> ResultDeps # |
getResultDepsDefault :: [Id] -> ResultDeps -> [Id] Source #
mapResultDeps :: ([Id] -> [Id]) -> ResultDeps -> ResultDeps Source #
What mode a rule is running in, passed as an argument to BuiltinRun
.
RunDependenciesSame | My dependencies have not changed. |
RunDependenciesChanged | At least one of my dependencies from last time have changed, or I have no recorded dependencies. |
data RunChanged Source #
How the output of a rule has changed.
ChangedNothing | Nothing has changed. |
ChangedStore | The stored value has changed, but in a way that should be considered identical (used rarely). |
ChangedRecomputeSame | I recomputed the value and it was the same. |
ChangedRecomputeDiff | I recomputed the value and it was different. |
Instances
The result of BuiltinRun
.
RunResult | |
|