joint-0.1.9: Trying to compose non-composable
Safe HaskellSafe-Inferred
LanguageHaskell2010

Control.Joint.Schemes.TUT

Documentation

newtype TUT t t' u a Source #

Constructors

TUT ((t :. (u :. t')) := a) 

Instances

Instances details
Monad u => Monad ((((->) s :: Type -> Type) <:<.>:> (,) s) := u) Source # 
Instance details

Defined in Control.Joint.Effects.State

Methods

(>>=) :: (((->) s <:<.>:> (,) s) := u) a -> (a -> (((->) s <:<.>:> (,) s) := u) b) -> (((->) s <:<.>:> (,) s) := u) b #

(>>) :: (((->) s <:<.>:> (,) s) := u) a -> (((->) s <:<.>:> (,) s) := u) b -> (((->) s <:<.>:> (,) s) := u) b #

return :: a -> (((->) s <:<.>:> (,) s) := u) a #

Functor u => Functor ((((->) s :: Type -> Type) <:<.>:> (,) s) := u) Source # 
Instance details

Defined in Control.Joint.Effects.State

Methods

fmap :: (a -> b) -> (((->) s <:<.>:> (,) s) := u) a -> (((->) s <:<.>:> (,) s) := u) b #

(<$) :: a -> (((->) s <:<.>:> (,) s) := u) b -> (((->) s <:<.>:> (,) s) := u) a #

Monad u => Applicative ((((->) s :: Type -> Type) <:<.>:> (,) s) := u) Source # 
Instance details

Defined in Control.Joint.Effects.State

Methods

pure :: a -> (((->) s <:<.>:> (,) s) := u) a #

(<*>) :: (((->) s <:<.>:> (,) s) := u) (a -> b) -> (((->) s <:<.>:> (,) s) := u) a -> (((->) s <:<.>:> (,) s) := u) b #

liftA2 :: (a -> b -> c) -> (((->) s <:<.>:> (,) s) := u) a -> (((->) s <:<.>:> (,) s) := u) b -> (((->) s <:<.>:> (,) s) := u) c #

(*>) :: (((->) s <:<.>:> (,) s) := u) a -> (((->) s <:<.>:> (,) s) := u) b -> (((->) s <:<.>:> (,) s) := u) b #

(<*) :: (((->) s <:<.>:> (,) s) := u) a -> (((->) s <:<.>:> (,) s) := u) b -> (((->) s <:<.>:> (,) s) := u) a #

(Alternative u, Monad u) => Alternative ((((->) s :: Type -> Type) <:<.>:> (,) s) := u) Source # 
Instance details

Defined in Control.Joint.Effects.State

Methods

empty :: (((->) s <:<.>:> (,) s) := u) a #

(<|>) :: (((->) s <:<.>:> (,) s) := u) a -> (((->) s <:<.>:> (,) s) := u) a -> (((->) s <:<.>:> (,) s) := u) a #

some :: (((->) s <:<.>:> (,) s) := u) a -> (((->) s <:<.>:> (,) s) := u) [a] #

many :: (((->) s <:<.>:> (,) s) := u) a -> (((->) s <:<.>:> (,) s) := u) [a] #

(Adjunction t' t, Distributive t) => MonadTrans (TUT t t') Source # 
Instance details

Defined in Control.Joint.Schemes.TUT

Methods

lift :: Monad m => m a -> TUT t t' m a #

Interpreted (TUT t t' u) Source # 
Instance details

Defined in Control.Joint.Schemes.TUT

Associated Types

type Primary (TUT t t' u) a Source #

Methods

run :: TUT t t' u a -> Primary (TUT t t' u) a Source #

type Primary (TUT t t' u) a Source # 
Instance details

Defined in Control.Joint.Schemes.TUT

type Primary (TUT t t' u) a = (t :. (u :. t')) := a