Safe Haskell | None |
---|---|
Language | Haskell2010 |
- class Change p where
- data PrimitiveChange a
- data Trans p q
- type TransProc m p q = Value p -> m (Value q, p -> m q)
- simpleTrans :: (Value p -> Value q) -> (p -> q) -> Trans p q
- stateTrans :: (Value p -> (Value q, s)) -> (p -> s -> (q, s)) -> Trans p q
- stateTrans' :: (Value p -> (Value q, s)) -> (p -> s -> (q, s)) -> Trans p q
- stTrans :: (forall s. TransProc (ST s) p q) -> Trans p q
- trans :: (forall r. (forall m. Monad m => TransProc m p q -> m r) -> r) -> Trans p q
- runTrans :: Trans p q -> (Value p, [p]) -> (Value q, [q])
- toFunction :: Trans p q -> Value p -> Value q
- toSTProc :: Trans p q -> TransProc (ST s) p q
- const :: Monoid q => Value q -> Trans p q
- fromFunction :: (a -> b) -> Trans (PrimitiveChange a) (PrimitiveChange b)
- sanitize :: Eq a => Trans (PrimitiveChange a) (PrimitiveChange a)
- class (Monoid (DefaultChange a), Change (DefaultChange a), Value (DefaultChange a) ~ a) => Changeable a where
- type DefaultChange a :: *
- type (->>) a b = Trans (DefaultChange a) (DefaultChange b)
Changes
Change (PrimitiveChange a) Source # | |
Change p => Change (MultiChange p) Source # | |
Changeable a => Change (AtomicChange a) Source # | |
(Changeable a, Changeable b) => Change (AtomicChange a b) Source # | |
data PrimitiveChange a Source #
Functor PrimitiveChange Source # | |
Read a => Read (PrimitiveChange a) Source # | |
Show a => Show (PrimitiveChange a) Source # | |
Monoid (PrimitiveChange a) Source # | |
Change (PrimitiveChange a) Source # | |
type Value (PrimitiveChange a) Source # | |
Transformations
Construction
Deconstruction
Utilities
fromFunction :: (a -> b) -> Trans (PrimitiveChange a) (PrimitiveChange b) Source #
sanitize :: Eq a => Trans (PrimitiveChange a) (PrimitiveChange a) Source #
Changeables
class (Monoid (DefaultChange a), Change (DefaultChange a), Value (DefaultChange a) ~ a) => Changeable a Source #
type DefaultChange a :: * Source #
type (->>) a b = Trans (DefaultChange a) (DefaultChange b) infixr 0 Source #