cleveland-0.4.0: Testing framework for Morley.
Safe HaskellSafe-Inferred
LanguageHaskell2010

Test.Cleveland.Internal.Actions.MonadOpsInternal

Description

Internally used typeclass for operations-related actions

Synopsis

Documentation

class Functor m => MonadOpsInternal m where Source #

Typeclass for monads where operations-related actions can occur.

This is implemented for MonadCleveland and batch context.

Has Functor as a superclass constraint for convenience, all the related methods require it.

This is used internally to implement originate and transfer. There is a more specific, more user-friendly MonadOps class defined in Test.Cleveland.Internal.Actions.

Methods

withOpsCap :: (ClevelandOpsImpl m -> m a) -> m a Source #

Obtain ClevelandOpsImpl suitable for the current "monad".

In CPS style, because the "monad" can be actually not a monad, so it can't work like ask for ReaderT.