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
- 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) | |
Change p => Change (MultiChange p) | |
Changeable a => Change (AtomicChange a) | |
(Changeable a, Changeable b) => Change (AtomicChange a b) | |
Typeable (* -> Constraint) Change |
data PrimitiveChange a Source
Functor PrimitiveChange | |
Read a => Read (PrimitiveChange a) | |
Show a => Show (PrimitiveChange a) | |
Monoid (PrimitiveChange a) | |
Change (PrimitiveChange a) | |
type Value (PrimitiveChange a) = a |
Transformations
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
Deconstruction
toFunction :: Trans p q -> Value p -> Value q Source
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
Changeable Bool | |
Changeable Int | |
Changeable a => Changeable (Seq a) | |
(Changeable a, Changeable b) => Changeable (a, b) | |
Typeable (* -> Constraint) Changeable |
type (->>) a b = Trans (DefaultChange a) (DefaultChange b) infixr 0 Source