packages feed

hmk-0.9.4: Hmk.lhs-boot

> module Control.Hmk where
>
> type Cmp m a = a -> a -> m Bool
> data Result = TaskSuccess | TaskFailure
> type Task m = m Result
> data Rule m a = Rule { target :: a
>                      , prereqs :: [a]
>                      , recipe :: Maybe ([a] -> Task m)
>                      , isStale :: Cmp m a }
> type DepGraph m a = [Tree m a]
> data Tree m a = Node a (DepGraph m a) (Rule m a)