Adaptive-Blaisorblade-0.23: Library for incremental computing.

Safe HaskellNone

Control.Monad.Adaptive

Documentation

data Adaptive m r a Source

Instances

InOL Adaptive 
InM Adaptive 
(Monad (Adaptive m r), Ref m r) => NewMod Adaptive m r 
Ref m r => Monad (Adaptive m r) 
Ref m r => Functor (Adaptive m r) 
(EqRef r, Functor (Adaptive m r), Monad (Adaptive m r), Ref m r) => Ref (Adaptive m r) r 

data Changeable m r a Source

Instances

InOL Changeable 
InM Changeable 
(Monad (Changeable m r), Ref m r) => NewMod Changeable m r 
Ref m r => Monad (Changeable m r) 
Ref m r => Functor (Changeable m r) 
(EqRef r, Functor (Changeable m r), Monad (Changeable m r), Ref m r) => Ref (Changeable m r) r 

data Modifiable m r a Source

Instances

EqRef r => Eq (Modifiable m r a) 

readMod :: Ref m r => Modifiable m r a -> Changeable m r aSource

class InM m' whereSource

Methods

inM :: Ref m r => m a -> m' m r aSource

change :: Ref m r => Modifiable m r a -> a -> Adaptive m r ()Source

propagate :: Ref m r => Adaptive m r ()Source

run :: Ref m r => Adaptive m r a -> m aSource

inCh :: Ref m r => Changeable m r a -> Adaptive m r aSource

class (Monad (n m r), Ref m r) => NewMod n m r whereSource

Methods

newModBy :: (a -> a -> Bool) -> Changeable m r a -> n m r (Modifiable m r a)Source

Instances

(Monad (Changeable m r), Ref m r) => NewMod Changeable m r 
(Monad (Adaptive m r), Ref m r) => NewMod Adaptive m r 

newMod :: (Eq a, NewMod n m r) => Changeable m r a -> n m r (Modifiable m r a)Source