build-1.1: Build Systems à la Carte
Safe HaskellSafe-Inferred
LanguageHaskell2010

Build.Task

Description

The Task abstractions.

Synopsis

Documentation

type Task c k v = forall f. c f => (k -> f v) -> f v Source #

A Task is used to compute a value of type v, by finding the necessary dependencies using the provided fetch :: k -> f v callback.

type Tasks c k v = k -> Maybe (Task c k v) Source #

Tasks associates a Task with every non-input key. Nothing indicates that the key is an input.

compose :: Tasks Monad k v -> Tasks Monad k v -> Tasks Monad k v Source #

Compose two task descriptions, preferring the first one in case there are two tasks corresponding to the same key.