objective-0.5: Extensible objects
Control.Monad.Objective.Class
type Instance' e m = Instance e m m Source
class Monad m => MonadObjective m where Source
Associated Types
data Instance e n m Source
Methods
invoke :: Monad n => Instance e n m -> e a -> m (n (m a)) Source
Send a message to the pointed one.
new :: Object e n -> m (Instance e n m) Source
Add an object to the environment.
Instances
(.-) :: (Monad n, Elevate n m, MonadObjective m, Elevate m f) => Instance e n m -> e a -> f a infix 3 Source
(.^) :: (Elevate e f, Monad n, Elevate n m, MonadObjective m, Elevate m g) => Instance f n m -> e a -> g a infix 3 Source