rock-0.3.0.0: A build system for incremental, parallel, and demand-driven computations

Safe HaskellNone
LanguageHaskell2010

Rock.Traces

Documentation

data ValueDeps f dep a Source #

Constructors

ValueDeps 

Fields

Instances
(GShow f, Has' Show f dep) => Show1 (ValueDeps f dep) Source # 
Instance details

Defined in Rock.Traces

Methods

liftShowsPrec :: (Int -> a -> ShowS) -> ([a] -> ShowS) -> Int -> ValueDeps f dep a -> ShowS #

liftShowList :: (Int -> a -> ShowS) -> ([a] -> ShowS) -> [ValueDeps f dep a] -> ShowS #

(Show a, GShow f, Has' Show f dep) => Show (ValueDeps f dep a) Source # 
Instance details

Defined in Rock.Traces

Methods

showsPrec :: Int -> ValueDeps f dep a -> ShowS #

show :: ValueDeps f dep a -> String #

showList :: [ValueDeps f dep a] -> ShowS #

type Traces f dep = DHashMap f (ValueDeps f dep) Source #

verifyDependencies :: (MonadIO m, GEq f, Has' Eq f dep) => (forall a'. f a' -> m a') -> (forall a'. f a' -> a' -> m (dep a')) -> ValueDeps f dep a -> m (Maybe a) Source #

record :: (GEq f, Hashable (Some f)) => f a -> a -> DHashMap f g -> Traces f g -> Traces f g Source #