hmk-0.9.7: A make alternative based on Plan9's mk.

Control.Hmk

Documentation

mk :: (Ord a, Applicative m, Monad m) => [Rule m a] -> [a] -> m (Schedule m)Source

mkConcurrent :: (Ord a, Show a) => Int -> [Rule IO a] -> [a] -> IO ()Source

type Cmp m a = a -> a -> m BoolSource

data Rule m a Source

Constructors

Rule 

Fields

target :: a
 
prereqs :: [a]
 
recipe :: Maybe ([a] -> Task m)
 
isStale :: Cmp m a
 

Instances

Show a => Show (Rule m a) 

type Task m = m ResultSource

type DepGraph m a = [Tree m a]Source

data Tree m a Source

Constructors

Node a (DepGraph m a) (Rule m a) 

Instances

Show a => Show (Tree m a) 

type Schedule m = [Task m]Source

data Result Source

Constructors

TaskSuccess 
TaskFailure 

Instances