Safe Haskell | Safe |
---|---|
Language | Haskell2010 |
Documentation
class MonadValue v m where Source #
demand :: v -> (v -> m r) -> m r Source #
inform :: v -> (m v -> m v) -> m v Source #
If v
is a thunk, inform
allows us to modify the action to be
performed by the thunk, perhaps by enriching it with scope info, for
example.
Instances
(MonadThunkId m, MonadAtomicRef m, MonadCatch m) => MonadValue (Symbolic m) m Source # | |
(MonadAtomicRef m, MonadCatch m, Typeable m, MonadReader (Context m (StdValue m)) m, MonadThunkId m) => MonadValue (StdValue m) m Source # | |