Safe Haskell  None 

Language  Haskell2010 
Documentation
class Incremental a where Source #
patch :: a > Delta a > a Source #
diff :: a > a > Maybe (Delta a) Source #
returns Nothing
when there is no update
(Show a, Show (Delta a)) => Show (Alter a) Source #  
Generic (Alter a) Source #  
(Incremental a, Semigroup (Delta a)) => Semigroup (Alter a) Source #  
(Incremental a, Semigroup (Delta a), Monoid (Delta a)) => Monoid (Alter a) Source #  
(NFData a, NFData (Delta a)) => NFData (Alter a) Source #  
type Rep (Alter a) Source #  
Bounded a => Bounded (Hetero a) Source #  
Enum a => Enum (Hetero a) Source #  
Eq a => Eq (Hetero a) Source #  
Floating a => Floating (Hetero a) Source #  
Fractional a => Fractional (Hetero a) Source #  
Integral a => Integral (Hetero a) Source #  
Num a => Num (Hetero a) Source #  
Ord a => Ord (Hetero a) Source #  
Real a => Real (Hetero a) Source #  
RealFloat a => RealFloat (Hetero a) Source #  
RealFrac a => RealFrac (Hetero a) Source #  
Generic (Hetero a) Source #  
Semigroup a => Semigroup (Hetero a) Source #  
Monoid a => Monoid (Hetero a) Source #  
NFData a => NFData (Hetero a) Source #  
Eq a => Incremental (Hetero a) Source # 

type Rep (Hetero a) Source #  
type Delta (Hetero a) Source #  
Bounded a => Bounded (Fresh a) Source #  
Enum a => Enum (Fresh a) Source #  
Eq a => Eq (Fresh a) Source #  
Floating a => Floating (Fresh a) Source #  
Fractional a => Fractional (Fresh a) Source #  
Integral a => Integral (Fresh a) Source #  
Num a => Num (Fresh a) Source #  
Ord a => Ord (Fresh a) Source #  
Real a => Real (Fresh a) Source #  
RealFloat a => RealFloat (Fresh a) Source #  
RealFrac a => RealFrac (Fresh a) Source #  
Generic (Fresh a) Source #  
Semigroup a => Semigroup (Fresh a) Source #  
Monoid a => Monoid (Fresh a) Source #  
NFData a => NFData (Fresh a) Source #  
Incremental (Fresh a) Source #  Always updated 
type Rep (Fresh a) Source #  
type Delta (Fresh a) Source #  