incremental-computing-0.0.0.0: Incremental computing

Safe HaskellNone
LanguageHaskell2010

Data.Incremental

Contents

Synopsis

Changes

class Change p where Source

Associated Types

type Value p :: * Source

Methods

($$) :: p -> Value p -> Value p infixr 0 Source

Transformations

data Trans p q Source

Instances

Category * Trans 
Typeable (* -> * -> *) Trans 

type TransProc m p q = Value p -> m (Value q, p -> m q) Source

Construction

simpleTrans :: (Value p -> Value q) -> (p -> q) -> Trans p q Source

stateTrans :: (Value p -> (Value q, s)) -> (p -> s -> (q, s)) -> Trans p q Source

stTrans :: (forall s. TransProc (ST s) p q) -> Trans p q Source

trans :: (forall r. (forall m. Monad m => TransProc m p q -> m r) -> r) -> Trans p q Source

Deconstruction

runTrans :: Trans p q -> (Value p, [p]) -> (Value q, [q]) Source

toFunction :: Trans p q -> Value p -> Value q Source

toSTProc :: Trans p q -> TransProc (ST s) p q Source

Utilities

const :: Monoid q => Value q -> Trans p q Source

Changeables

type (->>) a b = Trans (DefaultChange a) (DefaultChange b) infixr 0 Source