objective-0.0: Extensible objects

Safe HaskellSafe-Inferred
LanguageHaskell2010

Control.Monad.Objective.Class

Documentation

class Monad m => MonadObjective s m where Source

Associated Types

type Base m :: * -> * Source

data Control s e Source

Methods

(.-) :: Control s e -> e a -> m a infix 3 Source

Send a message to the pointed one.

invoke :: Object e (Base m) -> m (Control s e) Source

Add an object to the environment.

(.&) :: (MonadObjective k m, Stateful s e) => Control k e -> StateT s m a -> m a infix 3 Source