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

Control.Joint.Abilities.Adaptable

Documentation

class Adaptable (eff :: * -> *) (schema :: * -> *) where Source #

Methods

adapt :: eff ~> schema Source #

Instances

Instances details
Adaptable t t Source # 
Instance details

Defined in Control.Joint.Abilities.Adaptable

Methods

adapt :: t ~> t Source #

(Embedding t (Schema u (v :> (w :> (x :> (y :> (z :> (f :> h))))))), Embedding u (Schema v (w :> (x :> (y :> (z :> (f :> h)))))), Embedding v (Schema w (x :> (y :> (z :> (f :> h))))), Embedding w (Schema x (y :> (z :> (f :> h)))), Embedding x (Schema y (z :> (f :> h))), Embedding y (Schema z (f :> h)), Embedding z (Schema f h), Building f h, MonadTrans ((:>) t), MonadTrans ((:>) u), MonadTrans ((:>) v), MonadTrans ((:>) w), MonadTrans ((:>) x), MonadTrans ((:>) y), MonadTrans ((:>) z)) => Adaptable f (t :> (u :> (v :> (w :> (x :> (y :> (z :> (f :> h)))))))) Source # 
Instance details

Defined in Control.Joint.Abilities.Adaptable

Methods

adapt :: f ~> (t :> (u :> (v :> (w :> (x :> (y :> (z :> (f :> h)))))))) Source #

(Embedding t (Schema u (v :> (w :> (x :> (y :> (z :> (f :> h))))))), Embedding u (Schema v (w :> (x :> (y :> (z :> (f :> h)))))), Embedding v (Schema w (x :> (y :> (z :> (f :> h))))), Embedding w (Schema x (y :> (z :> (f :> h)))), Embedding x (Schema y (z :> (f :> h))), Embedding y (Schema z (f :> h)), Embedding z (Schema f h), Embedding f h, MonadTrans ((:>) t), MonadTrans ((:>) u), MonadTrans ((:>) v), MonadTrans ((:>) w), MonadTrans ((:>) x), MonadTrans ((:>) y), MonadTrans ((:>) z), MonadTrans ((:>) f)) => Adaptable h (t :> (u :> (v :> (w :> (x :> (y :> (z :> (f :> h)))))))) Source # 
Instance details

Defined in Control.Joint.Abilities.Adaptable

Methods

adapt :: h ~> (t :> (u :> (v :> (w :> (x :> (y :> (z :> (f :> h)))))))) Source #

(Embedding t (Schema u (v :> (w :> (x :> (y :> (z :> f)))))), Embedding u (Schema v (w :> (x :> (y :> (z :> f))))), Embedding v (Schema w (x :> (y :> (z :> f)))), Embedding w (Schema x (y :> (z :> f))), Embedding x (Schema y (z :> f)), Embedding y (Schema z f), Building z f, MonadTrans ((:>) t), MonadTrans ((:>) u), MonadTrans ((:>) v), MonadTrans ((:>) w), MonadTrans ((:>) x), MonadTrans ((:>) y), MonadTrans ((:>) z)) => Adaptable z (t :> (u :> (v :> (w :> (x :> (y :> (z :> f))))))) Source # 
Instance details

Defined in Control.Joint.Abilities.Adaptable

Methods

adapt :: z ~> (t :> (u :> (v :> (w :> (x :> (y :> (z :> f))))))) Source #

(Embedding t (Schema u (v :> (w :> (x :> (y :> (z :> f)))))), Embedding u (Schema v (w :> (x :> (y :> (z :> f))))), Embedding v (Schema w (x :> (y :> (z :> f)))), Embedding w (Schema x (y :> (z :> f))), Embedding x (Schema y (z :> f)), Embedding y (Schema z f), Embedding z f, MonadTrans ((:>) t), MonadTrans ((:>) u), MonadTrans ((:>) v), MonadTrans ((:>) w), MonadTrans ((:>) x), MonadTrans ((:>) y), MonadTrans ((:>) z)) => Adaptable f (t :> (u :> (v :> (w :> (x :> (y :> (z :> f))))))) Source # 
Instance details

Defined in Control.Joint.Abilities.Adaptable

Methods

adapt :: f ~> (t :> (u :> (v :> (w :> (x :> (y :> (z :> f))))))) Source #

(Embedding t (Schema u (v :> (w :> (x :> (y :> z))))), Embedding u (Schema v (w :> (x :> (y :> z)))), Embedding v (Schema w (x :> (y :> z))), Embedding w (Schema x (y :> z)), Embedding x (Schema y z), Building y z, MonadTrans ((:>) t), MonadTrans ((:>) u), MonadTrans ((:>) v), MonadTrans ((:>) w), MonadTrans ((:>) x)) => Adaptable y (t :> (u :> (v :> (w :> (x :> (y :> z)))))) Source # 
Instance details

Defined in Control.Joint.Abilities.Adaptable

Methods

adapt :: y ~> (t :> (u :> (v :> (w :> (x :> (y :> z)))))) Source #

(Embedding t (Schema u (v :> (w :> (x :> (y :> z))))), Embedding u (Schema v (w :> (x :> (y :> z)))), Embedding v (Schema w (x :> (y :> z))), Embedding w (Schema x (y :> z)), Embedding x (Schema y z), Embedding y z, MonadTrans ((:>) t), MonadTrans ((:>) u), MonadTrans ((:>) v), MonadTrans ((:>) w), MonadTrans ((:>) x), MonadTrans ((:>) y)) => Adaptable z (t :> (u :> (v :> (w :> (x :> (y :> z)))))) Source # 
Instance details

Defined in Control.Joint.Abilities.Adaptable

Methods

adapt :: z ~> (t :> (u :> (v :> (w :> (x :> (y :> z)))))) Source #

(Embedding t (Schema u (v :> (w :> (x :> y)))), Embedding u (Schema v (w :> (x :> y))), Embedding v (Schema w (x :> y)), Embedding w (Schema x y), Building x y, MonadTrans ((:>) t), MonadTrans ((:>) u), MonadTrans ((:>) v), MonadTrans ((:>) w)) => Adaptable x (t :> (u :> (v :> (w :> (x :> y))))) Source # 
Instance details

Defined in Control.Joint.Abilities.Adaptable

Methods

adapt :: x ~> (t :> (u :> (v :> (w :> (x :> y))))) Source #

(Embedding t (Schema u (v :> (w :> (x :> y)))), Embedding u (Schema v (w :> (x :> y))), Embedding v (Schema w (x :> y)), Embedding w (Schema x y), Embedding x y, MonadTrans ((:>) t), MonadTrans ((:>) u), MonadTrans ((:>) v), MonadTrans ((:>) w), MonadTrans ((:>) x)) => Adaptable y (t :> (u :> (v :> (w :> (x :> y))))) Source # 
Instance details

Defined in Control.Joint.Abilities.Adaptable

Methods

adapt :: y ~> (t :> (u :> (v :> (w :> (x :> y))))) Source #

(Embedding t (Schema u (v :> (w :> x))), Embedding u (Schema v (w :> x)), Embedding v (Schema w x), Building w x, MonadTrans ((:>) t), MonadTrans ((:>) u), MonadTrans ((:>) v)) => Adaptable w (t :> (u :> (v :> (w :> x)))) Source # 
Instance details

Defined in Control.Joint.Abilities.Adaptable

Methods

adapt :: w ~> (t :> (u :> (v :> (w :> x)))) Source #

(Embedding t (Schema u (v :> (w :> x))), Embedding u (Schema v (w :> x)), Embedding v (Schema w x), Embedding w x, MonadTrans ((:>) t), MonadTrans ((:>) u), MonadTrans ((:>) v), MonadTrans ((:>) w)) => Adaptable x (t :> (u :> (v :> (w :> x)))) Source # 
Instance details

Defined in Control.Joint.Abilities.Adaptable

Methods

adapt :: x ~> (t :> (u :> (v :> (w :> x)))) Source #

(Embedding t (Schema u v), Embedding t (Schema u (v :> w)), Embedding u (Schema v w), Embedding v w, MonadTrans ((:>) t), MonadTrans ((:>) u), MonadTrans ((:>) v)) => Adaptable w (t :> (u :> (v :> w))) Source # 
Instance details

Defined in Control.Joint.Abilities.Adaptable

Methods

adapt :: w ~> (t :> (u :> (v :> w))) Source #

(Embedding t (Schema u (v :> w)), Embedding u (Schema v w), MonadTrans ((:>) t), MonadTrans ((:>) u), Building v w) => Adaptable v (t :> (u :> (v :> w))) Source # 
Instance details

Defined in Control.Joint.Abilities.Adaptable

Methods

adapt :: v ~> (t :> (u :> (v :> w))) Source #

(Embedding t (Schema u v), Embedding u v, MonadTrans ((:>) t), MonadTrans ((:>) u)) => Adaptable v (t :> (u :> v)) Source # 
Instance details

Defined in Control.Joint.Abilities.Adaptable

Methods

adapt :: v ~> (t :> (u :> v)) Source #

(Embedding t (Schema u v), MonadTrans ((:>) t), Building u v) => Adaptable u (t :> (u :> v)) Source # 
Instance details

Defined in Control.Joint.Abilities.Adaptable

Methods

adapt :: u ~> (t :> (u :> v)) Source #

Building t u => Adaptable t (t :> u) Source # 
Instance details

Defined in Control.Joint.Abilities.Adaptable

Methods

adapt :: t ~> (t :> u) Source #

(Monad u, MonadTrans ((:>) t)) => Adaptable u (t :> u) Source # 
Instance details

Defined in Control.Joint.Abilities.Adaptable

Methods

adapt :: u ~> (t :> u) Source #

type Embedding t u = (Transformer t, Monad u) Source #