build-0.0.1: Build systems a la carte

Safe HaskellSafe
LanguageHaskell2010

Build.Task.MonadPlus

Description

A version of monadic tasks with some support for non-determinism.

Synopsis

Documentation

random :: (Int, Int) -> Task MonadPlus k Int Source #

An example of a non-deterministic task: generate a random number from a specified interval.

computeND :: Task MonadPlus k v -> (k -> v) -> [v] Source #

Run a non-deterministic task with a pure lookup function, listing all possible results.

correctBuildValue :: Eq v => Tasks MonadPlus k v -> Store i k v -> Store i k v -> k -> Bool Source #

Given a description of tasks, an initial store, and a result produced by running a build system on a target key, this function returns True if the key's value is a possible result of running the associated task.