pandora-0.3.1: A box of patterns and paradigms

Safe HaskellSafe
LanguageHaskell2010

Pandora.Paradigm.Controlflow.Effect.Adaptable

Documentation

class Adaptable t u where Source #

Methods

adapt :: t ~> u Source #

Instances
Covariant t => Adaptable (t :: Type -> Type) (t :: Type -> Type) Source # 
Instance details

Defined in Pandora.Paradigm.Controlflow.Effect.Adaptable

Methods

adapt :: t ~> t Source #

(Covariant (t :> (u :> (v :> (w :> (x :> (y :> (z :> (f :> h)))))))), Lifting t (Schematic Monad u (v :> (w :> (x :> (y :> (z :> (f :> h))))))), Lifting u (Schematic Monad v (w :> (x :> (y :> (z :> (f :> h)))))), Lifting v (Schematic Monad w (x :> (y :> (z :> (f :> h))))), Lifting w (Schematic Monad x (y :> (z :> (f :> h)))), Lifting x (Schematic Monad y (z :> (f :> h))), Lifting y (Schematic Monad z (f :> h)), Lifting z (Schematic Monad f h), Wrappable f h) => Adaptable (f :: Type -> Type) (t :> (u :> (v :> (w :> (x :> (y :> (z :> (f :> h))))))) :: Type -> Type) Source # 
Instance details

Defined in Pandora.Paradigm.Controlflow.Effect.Adaptable

Methods

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

(Covariant (t :> (u :> (v :> (w :> (x :> (y :> (z :> (f :> h)))))))), Lifting t (Schematic Monad u (v :> (w :> (x :> (y :> (z :> (f :> h))))))), Lifting u (Schematic Monad v (w :> (x :> (y :> (z :> (f :> h)))))), Lifting v (Schematic Monad w (x :> (y :> (z :> (f :> h))))), Lifting w (Schematic Monad x (y :> (z :> (f :> h)))), Lifting x (Schematic Monad y (z :> (f :> h))), Lifting y (Schematic Monad z (f :> h)), Lifting z (Schematic Monad f h), Lifting f h) => Adaptable (h :: Type -> Type) (t :> (u :> (v :> (w :> (x :> (y :> (z :> (f :> h))))))) :: Type -> Type) Source # 
Instance details

Defined in Pandora.Paradigm.Controlflow.Effect.Adaptable

Methods

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

(Covariant (t :> (u :> (v :> (w :> (x :> (y :> (z :> f))))))), Lifting t (Schematic Monad u (v :> (w :> (x :> (y :> (z :> f)))))), Lifting u (Schematic Monad v (w :> (x :> (y :> (z :> f))))), Lifting v (Schematic Monad w (x :> (y :> (z :> f)))), Lifting w (Schematic Monad x (y :> (z :> f))), Lifting x (Schematic Monad y (z :> f)), Lifting y (Schematic Monad z f), Wrappable z f) => Adaptable (z :: Type -> Type) (t :> (u :> (v :> (w :> (x :> (y :> (z :> f)))))) :: Type -> Type) Source # 
Instance details

Defined in Pandora.Paradigm.Controlflow.Effect.Adaptable

Methods

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

(Covariant (t :> (u :> (v :> (w :> (x :> (y :> (z :> f))))))), Lifting t (Schematic Monad u (v :> (w :> (x :> (y :> (z :> f)))))), Lifting u (Schematic Monad v (w :> (x :> (y :> (z :> f))))), Lifting v (Schematic Monad w (x :> (y :> (z :> f)))), Lifting w (Schematic Monad x (y :> (z :> f))), Lifting x (Schematic Monad y (z :> f)), Lifting y (Schematic Monad z f), Lifting z f) => Adaptable (f :: Type -> Type) (t :> (u :> (v :> (w :> (x :> (y :> (z :> f)))))) :: Type -> Type) Source # 
Instance details

Defined in Pandora.Paradigm.Controlflow.Effect.Adaptable

Methods

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

(Covariant (t :> (u :> (v :> (w :> (x :> (y :> z)))))), Lifting t (Schematic Monad u (v :> (w :> (x :> (y :> z))))), Lifting u (Schematic Monad v (w :> (x :> (y :> z)))), Lifting v (Schematic Monad w (x :> (y :> z))), Lifting w (Schematic Monad x (y :> z)), Lifting x (Schematic Monad y z), Wrappable y z) => Adaptable (y :: Type -> Type) (t :> (u :> (v :> (w :> (x :> (y :> z))))) :: Type -> Type) Source # 
Instance details

Defined in Pandora.Paradigm.Controlflow.Effect.Adaptable

Methods

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

(Covariant (t :> (u :> (v :> (w :> (x :> (y :> z)))))), Lifting t (Schematic Monad u (v :> (w :> (x :> (y :> z))))), Lifting u (Schematic Monad v (w :> (x :> (y :> z)))), Lifting v (Schematic Monad w (x :> (y :> z))), Lifting w (Schematic Monad x (y :> z)), Lifting x (Schematic Monad y z), Lifting y z) => Adaptable (z :: Type -> Type) (t :> (u :> (v :> (w :> (x :> (y :> z))))) :: Type -> Type) Source # 
Instance details

Defined in Pandora.Paradigm.Controlflow.Effect.Adaptable

Methods

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

(Covariant (t :> (u :> (v :> (w :> (x :> y))))), Lifting t (Schematic Monad u (v :> (w :> (x :> y)))), Lifting u (Schematic Monad v (w :> (x :> y))), Lifting v (Schematic Monad w (x :> y)), Lifting w (Schematic Monad x y), Wrappable x y) => Adaptable (x :: Type -> Type) (t :> (u :> (v :> (w :> (x :> y)))) :: Type -> Type) Source # 
Instance details

Defined in Pandora.Paradigm.Controlflow.Effect.Adaptable

Methods

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

(Covariant (t :> (u :> (v :> (w :> (x :> y))))), Lifting t (Schematic Monad u (v :> (w :> (x :> y)))), Lifting u (Schematic Monad v (w :> (x :> y))), Lifting v (Schematic Monad w (x :> y)), Lifting w (Schematic Monad x y), Lifting x y) => Adaptable (y :: Type -> Type) (t :> (u :> (v :> (w :> (x :> y)))) :: Type -> Type) Source # 
Instance details

Defined in Pandora.Paradigm.Controlflow.Effect.Adaptable

Methods

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

(Covariant (t :> (u :> (v :> (w :> x)))), Lifting t (Schematic Monad u (v :> (w :> x))), Lifting u (Schematic Monad v (w :> x)), Lifting v (Schematic Monad w x), Wrappable w x) => Adaptable (w :: Type -> Type) (t :> (u :> (v :> (w :> x))) :: Type -> Type) Source # 
Instance details

Defined in Pandora.Paradigm.Controlflow.Effect.Adaptable

Methods

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

(Covariant (t :> (u :> (v :> (w :> x)))), Lifting t (Schematic Monad u (v :> (w :> x))), Lifting u (Schematic Monad v (w :> x)), Lifting v (Schematic Monad w x), Lifting w x) => Adaptable (x :: Type -> Type) (t :> (u :> (v :> (w :> x))) :: Type -> Type) Source # 
Instance details

Defined in Pandora.Paradigm.Controlflow.Effect.Adaptable

Methods

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

(Covariant (t :> (u :> (v :> w))), Lifting t (Schematic Monad u v), Lifting t (Schematic Monad u (v :> w)), Lifting u (Schematic Monad v w), Lifting v w) => Adaptable (w :: Type -> Type) (t :> (u :> (v :> w)) :: Type -> Type) Source # 
Instance details

Defined in Pandora.Paradigm.Controlflow.Effect.Adaptable

Methods

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

(Covariant (t :> (u :> (v :> w))), Liftable (Schematic Monad t), Lifting t (Schematic Monad u (v :> w)), Lifting u (Schematic Monad v w), Wrappable v w) => Adaptable (v :: Type -> Type) (t :> (u :> (v :> w)) :: Type -> Type) Source # 
Instance details

Defined in Pandora.Paradigm.Controlflow.Effect.Adaptable

Methods

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

(Covariant (t :> (u :> v)), Lifting t (Schematic Monad u v), Lifting u v) => Adaptable (v :: Type -> Type) (t :> (u :> v) :: Type -> Type) Source # 
Instance details

Defined in Pandora.Paradigm.Controlflow.Effect.Adaptable

Methods

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

(Covariant (t :> (u :> v)), Liftable (Schematic Monad t), Traversable (Schematic Monad u v), Wrappable u v) => Adaptable (u :: Type -> Type) (t :> (u :> v) :: Type -> Type) Source # 
Instance details

Defined in Pandora.Paradigm.Controlflow.Effect.Adaptable

Methods

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

(Covariant (t :> u), Wrappable t u) => Adaptable (t :: Type -> Type) (t :> u :: Type -> Type) Source # 
Instance details

Defined in Pandora.Paradigm.Controlflow.Effect.Adaptable

Methods

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

(Covariant (t :> u), Lifting t u) => Adaptable (u :: Type -> Type) (t :> u :: Type -> Type) Source # 
Instance details

Defined in Pandora.Paradigm.Controlflow.Effect.Adaptable

Methods

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

(Covariant (t :< (u :< (v :< (w :< (x :< (y :< (z :< (f :< h)))))))), Lowering t (Schematic Comonad u (v :< (w :< (x :< (y :< (z :< (f :< h))))))), Lowering u (Schematic Comonad v (w :< (x :< (y :< (z :< (f :< h)))))), Lowering v (Schematic Comonad w (x :< (y :< (z :< (f :< h))))), Lowering w (Schematic Comonad x (y :< (z :< (f :< h)))), Lowering x (Schematic Comonad y (z :< (f :< h))), Lowering y (Schematic Comonad z (f :< h)), Lowering z (Schematic Comonad f h), Bringable f h) => Adaptable (t :< (u :< (v :< (w :< (x :< (y :< (z :< (f :< h))))))) :: Type -> Type) (f :: Type -> Type) Source # 
Instance details

Defined in Pandora.Paradigm.Controlflow.Effect.Adaptable

Methods

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

(Covariant (t :< (u :< (v :< (w :< (x :< (y :< (z :< (f :< h)))))))), Lowering t (Schematic Comonad u (v :< (w :< (x :< (y :< (z :< (f :< h))))))), Lowering u (Schematic Comonad v (w :< (x :< (y :< (z :< (f :< h)))))), Lowering v (Schematic Comonad w (x :< (y :< (z :< (f :< h))))), Lowering w (Schematic Comonad x (y :< (z :< (f :< h)))), Lowering x (Schematic Comonad y (z :< (f :< h))), Lowering y (Schematic Comonad z (f :< h)), Lowering z (Schematic Comonad f h), Lowering f h) => Adaptable (t :< (u :< (v :< (w :< (x :< (y :< (z :< (f :< h))))))) :: Type -> Type) (h :: Type -> Type) Source # 
Instance details

Defined in Pandora.Paradigm.Controlflow.Effect.Adaptable

Methods

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

(Covariant (t :< (u :< (v :< (w :< (x :< (y :< (z :< f))))))), Lowering t (Schematic Comonad u (v :< (w :< (x :< (y :< (z :< f)))))), Lowering u (Schematic Comonad v (w :< (x :< (y :< (z :< f))))), Lowering v (Schematic Comonad w (x :< (y :< (z :< f)))), Lowering w (Schematic Comonad x (y :< (z :< f))), Lowering x (Schematic Comonad y (z :< f)), Lowering y (Schematic Comonad z f), Bringable z f) => Adaptable (t :< (u :< (v :< (w :< (x :< (y :< (z :< f)))))) :: Type -> Type) (z :: Type -> Type) Source # 
Instance details

Defined in Pandora.Paradigm.Controlflow.Effect.Adaptable

Methods

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

(Covariant (t :< (u :< (v :< (w :< (x :< (y :< (z :< f))))))), Lowering t (Schematic Comonad u (v :< (w :< (x :< (y :< (z :< f)))))), Lowering u (Schematic Comonad v (w :< (x :< (y :< (z :< f))))), Lowering v (Schematic Comonad w (x :< (y :< (z :< f)))), Lowering w (Schematic Comonad x (y :< (z :< f))), Lowering x (Schematic Comonad y (z :< f)), Lowering y (Schematic Comonad z f), Lowering z f) => Adaptable (t :< (u :< (v :< (w :< (x :< (y :< (z :< f)))))) :: Type -> Type) (f :: Type -> Type) Source # 
Instance details

Defined in Pandora.Paradigm.Controlflow.Effect.Adaptable

Methods

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

(Covariant (t :< (u :< (v :< (w :< (x :< (y :< z)))))), Lowering t (Schematic Comonad u (v :< (w :< (x :< (y :< z))))), Lowering u (Schematic Comonad v (w :< (x :< (y :< z)))), Lowering v (Schematic Comonad w (x :< (y :< z))), Lowering w (Schematic Comonad x (y :< z)), Lowering x (Schematic Comonad y z), Bringable y z) => Adaptable (t :< (u :< (v :< (w :< (x :< (y :< z))))) :: Type -> Type) (y :: Type -> Type) Source # 
Instance details

Defined in Pandora.Paradigm.Controlflow.Effect.Adaptable

Methods

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

(Covariant (t :< (u :< (v :< (w :< (x :< (y :< z)))))), Lowering t (Schematic Comonad u (v :< (w :< (x :< (y :< z))))), Lowering u (Schematic Comonad v (w :< (x :< (y :< z)))), Lowering v (Schematic Comonad w (x :< (y :< z))), Lowering w (Schematic Comonad x (y :< z)), Lowering x (Schematic Comonad y z), Lowering y z) => Adaptable (t :< (u :< (v :< (w :< (x :< (y :< z))))) :: Type -> Type) (z :: Type -> Type) Source # 
Instance details

Defined in Pandora.Paradigm.Controlflow.Effect.Adaptable

Methods

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

(Covariant (t :< (u :< (v :< (w :< (x :< y))))), Lowering t (Schematic Comonad u (v :< (w :< (x :< y)))), Lowering u (Schematic Comonad v (w :< (x :< y))), Lowering v (Schematic Comonad w (x :< y)), Lowering w (Schematic Comonad x y), Bringable x y) => Adaptable (t :< (u :< (v :< (w :< (x :< y)))) :: Type -> Type) (x :: Type -> Type) Source # 
Instance details

Defined in Pandora.Paradigm.Controlflow.Effect.Adaptable

Methods

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

(Covariant (t :< (u :< (v :< (w :< (x :< y))))), Lowering t (Schematic Comonad u (v :< (w :< (x :< y)))), Lowering u (Schematic Comonad v (w :< (x :< y))), Lowering v (Schematic Comonad w (x :< y)), Lowering w (Schematic Comonad x y), Lowering x y) => Adaptable (t :< (u :< (v :< (w :< (x :< y)))) :: Type -> Type) (y :: Type -> Type) Source # 
Instance details

Defined in Pandora.Paradigm.Controlflow.Effect.Adaptable

Methods

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

(Covariant (t :< (u :< (v :< (w :< x)))), Lowering t (Schematic Comonad u (v :< (w :< x))), Lowering u (Schematic Comonad v (w :< x)), Lowering v (Schematic Comonad w x), Bringable w x) => Adaptable (t :< (u :< (v :< (w :< x))) :: Type -> Type) (w :: Type -> Type) Source # 
Instance details

Defined in Pandora.Paradigm.Controlflow.Effect.Adaptable

Methods

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

(Covariant (t :< (u :< (v :< (w :< x)))), Lowering t (Schematic Comonad u (v :< (w :< x))), Lowering u (Schematic Comonad v (w :< x)), Lowering v (Schematic Comonad w x), Lowering w x) => Adaptable (t :< (u :< (v :< (w :< x))) :: Type -> Type) (x :: Type -> Type) Source # 
Instance details

Defined in Pandora.Paradigm.Controlflow.Effect.Adaptable

Methods

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

(Covariant (t :< (u :< (v :< w))), Lowering t (Schematic Comonad u v), Lowering t (Schematic Comonad u (v :< w)), Lowering u (Schematic Comonad v w), Lowering v w) => Adaptable (t :< (u :< (v :< w)) :: Type -> Type) (w :: Type -> Type) Source # 
Instance details

Defined in Pandora.Paradigm.Controlflow.Effect.Adaptable

Methods

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

(Covariant (t :< (u :< (v :< w))), Lowering t (Schematic Comonad u (v :< w)), Lowering u (Schematic Comonad v w), Bringable v w) => Adaptable (t :< (u :< (v :< w)) :: Type -> Type) (v :: Type -> Type) Source # 
Instance details

Defined in Pandora.Paradigm.Controlflow.Effect.Adaptable

Methods

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

(Covariant (t :< (u :< v)), Lowering t (Schematic Comonad u v), Lowering u v) => Adaptable (t :< (u :< v) :: Type -> Type) (v :: Type -> Type) Source # 
Instance details

Defined in Pandora.Paradigm.Controlflow.Effect.Adaptable

Methods

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

(Covariant (t :< (u :< v)), Lowering t (Schematic Comonad u v), Bringable u v) => Adaptable (t :< (u :< v) :: Type -> Type) (u :: Type -> Type) Source # 
Instance details

Defined in Pandora.Paradigm.Controlflow.Effect.Adaptable

Methods

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

(Covariant (t :< u), Bringable t u) => Adaptable (t :< u :: Type -> Type) (t :: Type -> Type) Source # 
Instance details

Defined in Pandora.Paradigm.Controlflow.Effect.Adaptable

Methods

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

(Covariant (t :> u), Lowering t u) => Adaptable (t :< u :: Type -> Type) (u :: Type -> Type) Source # 
Instance details

Defined in Pandora.Paradigm.Controlflow.Effect.Adaptable

Methods

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

(Covariant u, Covariant v, Covariant w, Covariant x, Traversable (Schematic Monad u v), Traversable (Schematic Monad u (v :> w)), Traversable (Schematic Monad v (w :> x)), Traversable (Schematic Monad u (v :> (w :> x))), Traversable (Schematic Monad w x), Hoistable ((:>) (t :> (u :> v))), Hoistable (Schematic Monad t), Hoistable (Schematic Monad u), Hoistable (Schematic Monad v), Hoistable (Schematic Monad w), Adaptable x x') => Adaptable (t :> (u :> (v :> (w :> x))) :: Type -> Type) (t :> (u :> (v :> (w :> x'))) :: Type -> Type) Source # 
Instance details

Defined in Pandora.Paradigm.Controlflow.Effect.Adaptable

Methods

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

(Covariant u, Covariant v, Covariant w, Traversable (Schematic Monad u v), Traversable (Schematic Monad u (v :> w)), Traversable (Schematic Monad v w), Hoistable ((:>) (t :> (u :> v))), Hoistable (Schematic Monad t), Hoistable (Schematic Monad u), Hoistable (Schematic Monad v), Adaptable w w') => Adaptable (t :> (u :> (v :> w)) :: Type -> Type) (t :> (u :> (v :> w')) :: Type -> Type) Source # 
Instance details

Defined in Pandora.Paradigm.Controlflow.Effect.Adaptable

Methods

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

(Covariant u, Covariant v, Traversable (Schematic Monad u v), Hoistable ((:>) (t :> u)), Hoistable (Schematic Monad t), Hoistable (Schematic Monad u), Adaptable v v') => Adaptable (t :> (u :> v) :: Type -> Type) (t :> (u :> v') :: Type -> Type) Source # 
Instance details

Defined in Pandora.Paradigm.Controlflow.Effect.Adaptable

Methods

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

(Covariant u, Hoistable ((:>) t), Adaptable u u') => Adaptable (t :> u :: Type -> Type) (t :> u' :: Type -> Type) Source # 
Instance details

Defined in Pandora.Paradigm.Controlflow.Effect.Adaptable

Methods

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