Module
Marionette.Controllers.Monadic
- Package
- purescript-marionette
- Repository
- thought2/purescript-marionette
This module provides the most flexible way to handle state control via a
MarionetteT
monad transformer.
#MarionetteT Source
newtype MarionetteT :: Type -> Type -> (Type -> Type) -> Type -> Type
newtype MarionetteT msg sta (m :: Type -> Type) a
A monad transformer that adds the following features to the base monad m
- read/write access to the program's state (
sta
) via a StateMonad instance - the ability to use
sendMsg
to raise messages (values of typemsg
) from within a control handler
Instances
(Monad m) => Monad (MarionetteT msg sta m)
(Bind m) => Bind (MarionetteT msg sta m)
(Apply m) => Apply (MarionetteT msg sta m)
(Applicative m) => Applicative (MarionetteT msg sta m)
(Functor m) => Functor (MarionetteT msg sta m)
(MonadEffect m) => MonadEffect (MarionetteT msg sta m)
(MonadAff m) => MonadAff (MarionetteT msg sta m)
MonadTrans (MarionetteT msg sta)
(Monad m) => MonadState sta (MarionetteT msg sta m)
#mkController Source
mkController :: forall msg sta. Control msg sta Aff -> Controller msg sta
Creates a low level controller when given a high level control function