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

Build.Task.Free

Description

The free description of tasks.

Documentation

data Rule k v r Source #

Constructors

Rule [k] ([v] -> r) 

Instances

Instances details
Applicative (Rule k v) Source # 
Instance details

Defined in Build.Task.Free

Methods

pure :: a -> Rule k v a #

(<*>) :: Rule k v (a -> b) -> Rule k v a -> Rule k v b #

liftA2 :: (a -> b -> c) -> Rule k v a -> Rule k v b -> Rule k v c #

(*>) :: Rule k v a -> Rule k v b -> Rule k v b #

(<*) :: Rule k v a -> Rule k v b -> Rule k v a #

Functor (Rule k v) Source # 
Instance details

Defined in Build.Task.Free

Methods

fmap :: (a -> b) -> Rule k v a -> Rule k v b #

(<$) :: a -> Rule k v b -> Rule k v a #

data Action k v a Source #

Constructors

Finished a 
Depends k (v -> Action k v a) 

Instances

Instances details
Applicative (Action k v) Source # 
Instance details

Defined in Build.Task.Free

Methods

pure :: a -> Action k v a #

(<*>) :: Action k v (a -> b) -> Action k v a -> Action k v b #

liftA2 :: (a -> b -> c) -> Action k v a -> Action k v b -> Action k v c #

(*>) :: Action k v a -> Action k v b -> Action k v b #

(<*) :: Action k v a -> Action k v b -> Action k v a #

Functor (Action k v) Source # 
Instance details

Defined in Build.Task.Free

Methods

fmap :: (a -> b) -> Action k v a -> Action k v b #

(<$) :: a -> Action k v b -> Action k v a #

Monad (Action k v) Source # 
Instance details

Defined in Build.Task.Free

Methods

(>>=) :: Action k v a -> (a -> Action k v b) -> Action k v b #

(>>) :: Action k v a -> Action k v b -> Action k v b #

return :: a -> Action k v a #

toAction :: Task Monad k v -> Action k v v Source #