unique-logic-tf-0.4.1.2: Solve simple simultaneous equations

Safe HaskellSafe
LanguageHaskell98

UniqueLogic.ST.TF.MonadTrans

Synopsis

Documentation

class MonadTrans t => C t where Source

Provide the methods that make a transformed monad a monad.

Methods

point :: Monad m => a -> t m a Source

bind :: Monad m => t m a -> (a -> t m b) -> t m b Source

newtype Wrap t m a Source

Build a regular monad for generic monad transformer and monad. The Const type allows us to force the kind (m :: * -> *) without using ExplicitKindSignatures.

Constructors

Wrap (Const (t m a) (m a)) 

Instances

(C t, Monad m) => Monad (Wrap t m) Source 
(C t, Monad m) => Functor (Wrap t m) Source 
(C t, Monad m) => Applicative (Wrap t m) Source 

wrap :: t m a -> Wrap t m a Source

unwrap :: Wrap t m a -> t m a Source

lift :: (C t, Monad m) => m a -> Wrap t m a Source