essence-of-live-coding-0.2.8: General purpose live coding framework
Safe HaskellNone
LanguageHaskell2010

LiveCoding.Coalgebra

Documentation

type StateTransition (m :: Type -> Type) a b s = a -> m (b, s) Source #

data MSF (m :: Type -> Type) a b Source #

Constructors

MSF 

Fields

data Coalg (m :: Type -> Type) a b where Source #

Constructors

Coalg :: forall s (m :: Type -> Type) a b. s -> (s -> StateTransition m a b s) -> Coalg m a b 

finality :: forall (m :: Type -> Type) a b. Monad m => Coalg m a b -> MSF m a b Source #

finalityC :: forall (m :: Type -> Type) a b. Monad m => Cell m a b -> MSF m a b Source #

coalgebra :: forall (m :: Type -> Type) a b. MSF m a b -> Coalg m a b Source #

coalgebraC :: forall (m :: Type -> Type) a b. Data (MSF m a b) => MSF m a b -> Cell m a b Source #

type AlgStructure (m :: Type -> Type) a b s = StateTransition m a b s -> s Source #

data Alg (m :: Type -> Type) a b where Source #

Constructors

Alg :: forall s (m :: Type -> Type) a b. s -> AlgStructure m a b s -> Alg m a b 

algMSF :: forall (m :: Type -> Type) a b. MSF m a b -> Alg m a b Source #

initiality :: Functor m => AlgStructure m a b s -> MSF m a b -> s Source #