build-0.0.1.1: Build systems a la carte

Safe HaskellSafe
LanguageHaskell2010

Build.Task.Typed

Description

A Typed version of dependencies where the value type depends on the key. See the source for an example.

Synopsis

Documentation

type Task c k = forall f. c f => (forall k. Key k => k -> f (Value k)) -> k -> Maybe (f (Value k)) Source #

A typed build task.

class Key k where Source #

A type class for keys, equipped with an associated type family that can be used to determine the type of value corresponding to the key.

Minimal complete definition

showKey

Associated Types

type Value k :: * Source #

Methods

showKey :: k -> String Source #

The name of the key. Useful for avoiding heterogeneous lists of keys.

showDependencies :: Task Applicative k -> k -> [String] Source #

Extract the names of dependencies.