packages feed

pandora 0.2.2 → 0.2.3

raw patch · 44 files changed

+501/−344 lines, 44 filesPVP: major bump suggested

API removals or changes: PVP suggests a major version bump

API changes (from Hackage documentation)

- Pandora.Core.Functor: Co :: Variant
- Pandora.Core.Functor: Contra :: Variant
- Pandora.Core.Functor: data Variant
- Pandora.Core.Morphism: (.) :: (b -> c) -> (a -> b) -> a -> c
- Pandora.Core.Morphism: identity :: a -> a
- Pandora.Core.Morphism: infixr 8 .
- Pandora.Paradigm.Basis.Conclusion: instance (Pandora.Pattern.Functor.Pointable.Pointable u, Pandora.Pattern.Functor.Bindable.Bindable u) => Pandora.Pattern.Functor.Bindable.Bindable (Pandora.Paradigm.Controlflow.Joint.Schemes.UT.UT 'Pandora.Core.Functor.Co 'Pandora.Core.Functor.Co (Pandora.Paradigm.Basis.Conclusion.Conclusion e) u)
- Pandora.Paradigm.Basis.Conclusion: instance Pandora.Paradigm.Controlflow.Joint.Transformer.Transformer (Pandora.Paradigm.Basis.Conclusion.Conclusion e)
- Pandora.Paradigm.Basis.Conclusion: instance Pandora.Pattern.Functor.Applicative.Applicative u => Pandora.Pattern.Functor.Applicative.Applicative (Pandora.Paradigm.Controlflow.Joint.Schemes.UT.UT 'Pandora.Core.Functor.Co 'Pandora.Core.Functor.Co (Pandora.Paradigm.Basis.Conclusion.Conclusion e) u)
- Pandora.Paradigm.Basis.Conclusion: instance Pandora.Pattern.Functor.Covariant.Covariant u => Pandora.Pattern.Functor.Covariant.Covariant (Pandora.Paradigm.Controlflow.Joint.Schemes.UT.UT 'Pandora.Core.Functor.Co 'Pandora.Core.Functor.Co (Pandora.Paradigm.Basis.Conclusion.Conclusion e) u)
- Pandora.Paradigm.Basis.Conclusion: instance Pandora.Pattern.Functor.Monad.Monad u => Pandora.Pattern.Functor.Monad.Monad (Pandora.Paradigm.Controlflow.Joint.Schemes.UT.UT 'Pandora.Core.Functor.Co 'Pandora.Core.Functor.Co (Pandora.Paradigm.Basis.Conclusion.Conclusion e) u)
- Pandora.Paradigm.Basis.Conclusion: instance Pandora.Pattern.Functor.Pointable.Pointable u => Pandora.Pattern.Functor.Pointable.Pointable (Pandora.Paradigm.Controlflow.Joint.Schemes.UT.UT 'Pandora.Core.Functor.Co 'Pandora.Core.Functor.Co (Pandora.Paradigm.Basis.Conclusion.Conclusion e) u)
- Pandora.Paradigm.Basis.Maybe: instance (Pandora.Pattern.Functor.Pointable.Pointable u, Pandora.Pattern.Functor.Bindable.Bindable u) => Pandora.Pattern.Functor.Bindable.Bindable (Pandora.Paradigm.Controlflow.Joint.Schemes.UT.UT 'Pandora.Core.Functor.Co 'Pandora.Core.Functor.Co Pandora.Paradigm.Basis.Maybe.Maybe u)
- Pandora.Paradigm.Basis.Maybe: instance Pandora.Paradigm.Controlflow.Joint.Transformer.Transformer Pandora.Paradigm.Basis.Maybe.Maybe
- Pandora.Paradigm.Basis.Maybe: instance Pandora.Pattern.Functor.Applicative.Applicative u => Pandora.Pattern.Functor.Applicative.Applicative (Pandora.Paradigm.Controlflow.Joint.Schemes.UT.UT 'Pandora.Core.Functor.Co 'Pandora.Core.Functor.Co Pandora.Paradigm.Basis.Maybe.Maybe u)
- Pandora.Paradigm.Basis.Maybe: instance Pandora.Pattern.Functor.Covariant.Covariant u => Pandora.Pattern.Functor.Covariant.Covariant (Pandora.Paradigm.Controlflow.Joint.Schemes.UT.UT 'Pandora.Core.Functor.Co 'Pandora.Core.Functor.Co Pandora.Paradigm.Basis.Maybe.Maybe u)
- Pandora.Paradigm.Basis.Maybe: instance Pandora.Pattern.Functor.Monad.Monad u => Pandora.Pattern.Functor.Monad.Monad (Pandora.Paradigm.Controlflow.Joint.Schemes.UT.UT 'Pandora.Core.Functor.Co 'Pandora.Core.Functor.Co Pandora.Paradigm.Basis.Maybe.Maybe u)
- Pandora.Paradigm.Basis.Maybe: instance Pandora.Pattern.Functor.Pointable.Pointable u => Pandora.Pattern.Functor.Pointable.Pointable (Pandora.Paradigm.Controlflow.Joint.Schemes.UT.UT 'Pandora.Core.Functor.Co 'Pandora.Core.Functor.Co Pandora.Paradigm.Basis.Maybe.Maybe u)
- Pandora.Paradigm.Basis.Twister: (:<) :: a -> ((t :. Twister t) := a) -> Twister t a
- Pandora.Paradigm.Basis.Twister: infixr 5 :<
- Pandora.Paradigm.Controlflow.Joint.Adaptable: instance (Pandora.Paradigm.Controlflow.Joint.Adaptable.Layable t (Pandora.Paradigm.Controlflow.Joint.Transformer.Schema u (v Pandora.Paradigm.Controlflow.Joint.Transformer.:> (w Pandora.Paradigm.Controlflow.Joint.Transformer.:> (x Pandora.Paradigm.Controlflow.Joint.Transformer.:> (y Pandora.Paradigm.Controlflow.Joint.Transformer.:> (z Pandora.Paradigm.Controlflow.Joint.Transformer.:> (f Pandora.Paradigm.Controlflow.Joint.Transformer.:> h))))))), Pandora.Paradigm.Controlflow.Joint.Adaptable.Layable u (Pandora.Paradigm.Controlflow.Joint.Transformer.Schema v (w Pandora.Paradigm.Controlflow.Joint.Transformer.:> (x Pandora.Paradigm.Controlflow.Joint.Transformer.:> (y Pandora.Paradigm.Controlflow.Joint.Transformer.:> (z Pandora.Paradigm.Controlflow.Joint.Transformer.:> (f Pandora.Paradigm.Controlflow.Joint.Transformer.:> h)))))), Pandora.Paradigm.Controlflow.Joint.Adaptable.Layable v (Pandora.Paradigm.Controlflow.Joint.Transformer.Schema w (x Pandora.Paradigm.Controlflow.Joint.Transformer.:> (y Pandora.Paradigm.Controlflow.Joint.Transformer.:> (z Pandora.Paradigm.Controlflow.Joint.Transformer.:> (f Pandora.Paradigm.Controlflow.Joint.Transformer.:> h))))), Pandora.Paradigm.Controlflow.Joint.Adaptable.Layable w (Pandora.Paradigm.Controlflow.Joint.Transformer.Schema x (y Pandora.Paradigm.Controlflow.Joint.Transformer.:> (z Pandora.Paradigm.Controlflow.Joint.Transformer.:> (f Pandora.Paradigm.Controlflow.Joint.Transformer.:> h)))), Pandora.Paradigm.Controlflow.Joint.Adaptable.Layable x (Pandora.Paradigm.Controlflow.Joint.Transformer.Schema y (z Pandora.Paradigm.Controlflow.Joint.Transformer.:> (f Pandora.Paradigm.Controlflow.Joint.Transformer.:> h))), Pandora.Paradigm.Controlflow.Joint.Adaptable.Layable y (Pandora.Paradigm.Controlflow.Joint.Transformer.Schema z (f Pandora.Paradigm.Controlflow.Joint.Transformer.:> h)), Pandora.Paradigm.Controlflow.Joint.Adaptable.Layable z (Pandora.Paradigm.Controlflow.Joint.Transformer.Schema f h), Pandora.Paradigm.Controlflow.Joint.Adaptable.Layable f h) => Pandora.Paradigm.Controlflow.Joint.Adaptable.Adaptable h (t Pandora.Paradigm.Controlflow.Joint.Transformer.:> (u Pandora.Paradigm.Controlflow.Joint.Transformer.:> (v Pandora.Paradigm.Controlflow.Joint.Transformer.:> (w Pandora.Paradigm.Controlflow.Joint.Transformer.:> (x Pandora.Paradigm.Controlflow.Joint.Transformer.:> (y Pandora.Paradigm.Controlflow.Joint.Transformer.:> (z Pandora.Paradigm.Controlflow.Joint.Transformer.:> (f Pandora.Paradigm.Controlflow.Joint.Transformer.:> h))))))))
- Pandora.Paradigm.Controlflow.Joint.Adaptable: instance (Pandora.Paradigm.Controlflow.Joint.Adaptable.Layable t (Pandora.Paradigm.Controlflow.Joint.Transformer.Schema u (v Pandora.Paradigm.Controlflow.Joint.Transformer.:> (w Pandora.Paradigm.Controlflow.Joint.Transformer.:> (x Pandora.Paradigm.Controlflow.Joint.Transformer.:> (y Pandora.Paradigm.Controlflow.Joint.Transformer.:> (z Pandora.Paradigm.Controlflow.Joint.Transformer.:> (f Pandora.Paradigm.Controlflow.Joint.Transformer.:> h))))))), Pandora.Paradigm.Controlflow.Joint.Adaptable.Layable u (Pandora.Paradigm.Controlflow.Joint.Transformer.Schema v (w Pandora.Paradigm.Controlflow.Joint.Transformer.:> (x Pandora.Paradigm.Controlflow.Joint.Transformer.:> (y Pandora.Paradigm.Controlflow.Joint.Transformer.:> (z Pandora.Paradigm.Controlflow.Joint.Transformer.:> (f Pandora.Paradigm.Controlflow.Joint.Transformer.:> h)))))), Pandora.Paradigm.Controlflow.Joint.Adaptable.Layable v (Pandora.Paradigm.Controlflow.Joint.Transformer.Schema w (x Pandora.Paradigm.Controlflow.Joint.Transformer.:> (y Pandora.Paradigm.Controlflow.Joint.Transformer.:> (z Pandora.Paradigm.Controlflow.Joint.Transformer.:> (f Pandora.Paradigm.Controlflow.Joint.Transformer.:> h))))), Pandora.Paradigm.Controlflow.Joint.Adaptable.Layable w (Pandora.Paradigm.Controlflow.Joint.Transformer.Schema x (y Pandora.Paradigm.Controlflow.Joint.Transformer.:> (z Pandora.Paradigm.Controlflow.Joint.Transformer.:> (f Pandora.Paradigm.Controlflow.Joint.Transformer.:> h)))), Pandora.Paradigm.Controlflow.Joint.Adaptable.Layable x (Pandora.Paradigm.Controlflow.Joint.Transformer.Schema y (z Pandora.Paradigm.Controlflow.Joint.Transformer.:> (f Pandora.Paradigm.Controlflow.Joint.Transformer.:> h))), Pandora.Paradigm.Controlflow.Joint.Adaptable.Layable y (Pandora.Paradigm.Controlflow.Joint.Transformer.Schema z (f Pandora.Paradigm.Controlflow.Joint.Transformer.:> h)), Pandora.Paradigm.Controlflow.Joint.Adaptable.Layable z (Pandora.Paradigm.Controlflow.Joint.Transformer.Schema f h), Pandora.Paradigm.Controlflow.Joint.Adaptable.Wrappable f h) => Pandora.Paradigm.Controlflow.Joint.Adaptable.Adaptable f (t Pandora.Paradigm.Controlflow.Joint.Transformer.:> (u Pandora.Paradigm.Controlflow.Joint.Transformer.:> (v Pandora.Paradigm.Controlflow.Joint.Transformer.:> (w Pandora.Paradigm.Controlflow.Joint.Transformer.:> (x Pandora.Paradigm.Controlflow.Joint.Transformer.:> (y Pandora.Paradigm.Controlflow.Joint.Transformer.:> (z Pandora.Paradigm.Controlflow.Joint.Transformer.:> (f Pandora.Paradigm.Controlflow.Joint.Transformer.:> h))))))))
- Pandora.Paradigm.Controlflow.Joint.Adaptable: instance (Pandora.Paradigm.Controlflow.Joint.Adaptable.Layable t (Pandora.Paradigm.Controlflow.Joint.Transformer.Schema u (v Pandora.Paradigm.Controlflow.Joint.Transformer.:> (w Pandora.Paradigm.Controlflow.Joint.Transformer.:> (x Pandora.Paradigm.Controlflow.Joint.Transformer.:> (y Pandora.Paradigm.Controlflow.Joint.Transformer.:> (z Pandora.Paradigm.Controlflow.Joint.Transformer.:> f)))))), Pandora.Paradigm.Controlflow.Joint.Adaptable.Layable u (Pandora.Paradigm.Controlflow.Joint.Transformer.Schema v (w Pandora.Paradigm.Controlflow.Joint.Transformer.:> (x Pandora.Paradigm.Controlflow.Joint.Transformer.:> (y Pandora.Paradigm.Controlflow.Joint.Transformer.:> (z Pandora.Paradigm.Controlflow.Joint.Transformer.:> f))))), Pandora.Paradigm.Controlflow.Joint.Adaptable.Layable v (Pandora.Paradigm.Controlflow.Joint.Transformer.Schema w (x Pandora.Paradigm.Controlflow.Joint.Transformer.:> (y Pandora.Paradigm.Controlflow.Joint.Transformer.:> (z Pandora.Paradigm.Controlflow.Joint.Transformer.:> f)))), Pandora.Paradigm.Controlflow.Joint.Adaptable.Layable w (Pandora.Paradigm.Controlflow.Joint.Transformer.Schema x (y Pandora.Paradigm.Controlflow.Joint.Transformer.:> (z Pandora.Paradigm.Controlflow.Joint.Transformer.:> f))), Pandora.Paradigm.Controlflow.Joint.Adaptable.Layable x (Pandora.Paradigm.Controlflow.Joint.Transformer.Schema y (z Pandora.Paradigm.Controlflow.Joint.Transformer.:> f)), Pandora.Paradigm.Controlflow.Joint.Adaptable.Layable y (Pandora.Paradigm.Controlflow.Joint.Transformer.Schema z f), Pandora.Paradigm.Controlflow.Joint.Adaptable.Layable z f) => Pandora.Paradigm.Controlflow.Joint.Adaptable.Adaptable f (t Pandora.Paradigm.Controlflow.Joint.Transformer.:> (u Pandora.Paradigm.Controlflow.Joint.Transformer.:> (v Pandora.Paradigm.Controlflow.Joint.Transformer.:> (w Pandora.Paradigm.Controlflow.Joint.Transformer.:> (x Pandora.Paradigm.Controlflow.Joint.Transformer.:> (y Pandora.Paradigm.Controlflow.Joint.Transformer.:> (z Pandora.Paradigm.Controlflow.Joint.Transformer.:> f)))))))
- Pandora.Paradigm.Controlflow.Joint.Adaptable: instance (Pandora.Paradigm.Controlflow.Joint.Adaptable.Layable t (Pandora.Paradigm.Controlflow.Joint.Transformer.Schema u (v Pandora.Paradigm.Controlflow.Joint.Transformer.:> (w Pandora.Paradigm.Controlflow.Joint.Transformer.:> (x Pandora.Paradigm.Controlflow.Joint.Transformer.:> (y Pandora.Paradigm.Controlflow.Joint.Transformer.:> (z Pandora.Paradigm.Controlflow.Joint.Transformer.:> f)))))), Pandora.Paradigm.Controlflow.Joint.Adaptable.Layable u (Pandora.Paradigm.Controlflow.Joint.Transformer.Schema v (w Pandora.Paradigm.Controlflow.Joint.Transformer.:> (x Pandora.Paradigm.Controlflow.Joint.Transformer.:> (y Pandora.Paradigm.Controlflow.Joint.Transformer.:> (z Pandora.Paradigm.Controlflow.Joint.Transformer.:> f))))), Pandora.Paradigm.Controlflow.Joint.Adaptable.Layable v (Pandora.Paradigm.Controlflow.Joint.Transformer.Schema w (x Pandora.Paradigm.Controlflow.Joint.Transformer.:> (y Pandora.Paradigm.Controlflow.Joint.Transformer.:> (z Pandora.Paradigm.Controlflow.Joint.Transformer.:> f)))), Pandora.Paradigm.Controlflow.Joint.Adaptable.Layable w (Pandora.Paradigm.Controlflow.Joint.Transformer.Schema x (y Pandora.Paradigm.Controlflow.Joint.Transformer.:> (z Pandora.Paradigm.Controlflow.Joint.Transformer.:> f))), Pandora.Paradigm.Controlflow.Joint.Adaptable.Layable x (Pandora.Paradigm.Controlflow.Joint.Transformer.Schema y (z Pandora.Paradigm.Controlflow.Joint.Transformer.:> f)), Pandora.Paradigm.Controlflow.Joint.Adaptable.Layable y (Pandora.Paradigm.Controlflow.Joint.Transformer.Schema z f), Pandora.Paradigm.Controlflow.Joint.Adaptable.Wrappable z f) => Pandora.Paradigm.Controlflow.Joint.Adaptable.Adaptable z (t Pandora.Paradigm.Controlflow.Joint.Transformer.:> (u Pandora.Paradigm.Controlflow.Joint.Transformer.:> (v Pandora.Paradigm.Controlflow.Joint.Transformer.:> (w Pandora.Paradigm.Controlflow.Joint.Transformer.:> (x Pandora.Paradigm.Controlflow.Joint.Transformer.:> (y Pandora.Paradigm.Controlflow.Joint.Transformer.:> (z Pandora.Paradigm.Controlflow.Joint.Transformer.:> f)))))))
- Pandora.Paradigm.Controlflow.Joint.Adaptable: instance (Pandora.Paradigm.Controlflow.Joint.Adaptable.Layable t (Pandora.Paradigm.Controlflow.Joint.Transformer.Schema u (v Pandora.Paradigm.Controlflow.Joint.Transformer.:> (w Pandora.Paradigm.Controlflow.Joint.Transformer.:> (x Pandora.Paradigm.Controlflow.Joint.Transformer.:> (y Pandora.Paradigm.Controlflow.Joint.Transformer.:> z))))), Pandora.Paradigm.Controlflow.Joint.Adaptable.Layable u (Pandora.Paradigm.Controlflow.Joint.Transformer.Schema v (w Pandora.Paradigm.Controlflow.Joint.Transformer.:> (x Pandora.Paradigm.Controlflow.Joint.Transformer.:> (y Pandora.Paradigm.Controlflow.Joint.Transformer.:> z)))), Pandora.Paradigm.Controlflow.Joint.Adaptable.Layable v (Pandora.Paradigm.Controlflow.Joint.Transformer.Schema w (x Pandora.Paradigm.Controlflow.Joint.Transformer.:> (y Pandora.Paradigm.Controlflow.Joint.Transformer.:> z))), Pandora.Paradigm.Controlflow.Joint.Adaptable.Layable w (Pandora.Paradigm.Controlflow.Joint.Transformer.Schema x (y Pandora.Paradigm.Controlflow.Joint.Transformer.:> z)), Pandora.Paradigm.Controlflow.Joint.Adaptable.Layable x (Pandora.Paradigm.Controlflow.Joint.Transformer.Schema y z), Pandora.Paradigm.Controlflow.Joint.Adaptable.Layable y z) => Pandora.Paradigm.Controlflow.Joint.Adaptable.Adaptable z (t Pandora.Paradigm.Controlflow.Joint.Transformer.:> (u Pandora.Paradigm.Controlflow.Joint.Transformer.:> (v Pandora.Paradigm.Controlflow.Joint.Transformer.:> (w Pandora.Paradigm.Controlflow.Joint.Transformer.:> (x Pandora.Paradigm.Controlflow.Joint.Transformer.:> (y Pandora.Paradigm.Controlflow.Joint.Transformer.:> z))))))
- Pandora.Paradigm.Controlflow.Joint.Adaptable: instance (Pandora.Paradigm.Controlflow.Joint.Adaptable.Layable t (Pandora.Paradigm.Controlflow.Joint.Transformer.Schema u (v Pandora.Paradigm.Controlflow.Joint.Transformer.:> (w Pandora.Paradigm.Controlflow.Joint.Transformer.:> (x Pandora.Paradigm.Controlflow.Joint.Transformer.:> (y Pandora.Paradigm.Controlflow.Joint.Transformer.:> z))))), Pandora.Paradigm.Controlflow.Joint.Adaptable.Layable u (Pandora.Paradigm.Controlflow.Joint.Transformer.Schema v (w Pandora.Paradigm.Controlflow.Joint.Transformer.:> (x Pandora.Paradigm.Controlflow.Joint.Transformer.:> (y Pandora.Paradigm.Controlflow.Joint.Transformer.:> z)))), Pandora.Paradigm.Controlflow.Joint.Adaptable.Layable v (Pandora.Paradigm.Controlflow.Joint.Transformer.Schema w (x Pandora.Paradigm.Controlflow.Joint.Transformer.:> (y Pandora.Paradigm.Controlflow.Joint.Transformer.:> z))), Pandora.Paradigm.Controlflow.Joint.Adaptable.Layable w (Pandora.Paradigm.Controlflow.Joint.Transformer.Schema x (y Pandora.Paradigm.Controlflow.Joint.Transformer.:> z)), Pandora.Paradigm.Controlflow.Joint.Adaptable.Layable x (Pandora.Paradigm.Controlflow.Joint.Transformer.Schema y z), Pandora.Paradigm.Controlflow.Joint.Adaptable.Wrappable y z) => Pandora.Paradigm.Controlflow.Joint.Adaptable.Adaptable y (t Pandora.Paradigm.Controlflow.Joint.Transformer.:> (u Pandora.Paradigm.Controlflow.Joint.Transformer.:> (v Pandora.Paradigm.Controlflow.Joint.Transformer.:> (w Pandora.Paradigm.Controlflow.Joint.Transformer.:> (x Pandora.Paradigm.Controlflow.Joint.Transformer.:> (y Pandora.Paradigm.Controlflow.Joint.Transformer.:> z))))))
- Pandora.Paradigm.Controlflow.Joint.Adaptable: instance (Pandora.Paradigm.Controlflow.Joint.Adaptable.Layable t (Pandora.Paradigm.Controlflow.Joint.Transformer.Schema u (v Pandora.Paradigm.Controlflow.Joint.Transformer.:> (w Pandora.Paradigm.Controlflow.Joint.Transformer.:> (x Pandora.Paradigm.Controlflow.Joint.Transformer.:> y)))), Pandora.Paradigm.Controlflow.Joint.Adaptable.Layable u (Pandora.Paradigm.Controlflow.Joint.Transformer.Schema v (w Pandora.Paradigm.Controlflow.Joint.Transformer.:> (x Pandora.Paradigm.Controlflow.Joint.Transformer.:> y))), Pandora.Paradigm.Controlflow.Joint.Adaptable.Layable v (Pandora.Paradigm.Controlflow.Joint.Transformer.Schema w (x Pandora.Paradigm.Controlflow.Joint.Transformer.:> y)), Pandora.Paradigm.Controlflow.Joint.Adaptable.Layable w (Pandora.Paradigm.Controlflow.Joint.Transformer.Schema x y), Pandora.Paradigm.Controlflow.Joint.Adaptable.Layable x y) => Pandora.Paradigm.Controlflow.Joint.Adaptable.Adaptable y (t Pandora.Paradigm.Controlflow.Joint.Transformer.:> (u Pandora.Paradigm.Controlflow.Joint.Transformer.:> (v Pandora.Paradigm.Controlflow.Joint.Transformer.:> (w Pandora.Paradigm.Controlflow.Joint.Transformer.:> (x Pandora.Paradigm.Controlflow.Joint.Transformer.:> y)))))
- Pandora.Paradigm.Controlflow.Joint.Adaptable: instance (Pandora.Paradigm.Controlflow.Joint.Adaptable.Layable t (Pandora.Paradigm.Controlflow.Joint.Transformer.Schema u (v Pandora.Paradigm.Controlflow.Joint.Transformer.:> (w Pandora.Paradigm.Controlflow.Joint.Transformer.:> (x Pandora.Paradigm.Controlflow.Joint.Transformer.:> y)))), Pandora.Paradigm.Controlflow.Joint.Adaptable.Layable u (Pandora.Paradigm.Controlflow.Joint.Transformer.Schema v (w Pandora.Paradigm.Controlflow.Joint.Transformer.:> (x Pandora.Paradigm.Controlflow.Joint.Transformer.:> y))), Pandora.Paradigm.Controlflow.Joint.Adaptable.Layable v (Pandora.Paradigm.Controlflow.Joint.Transformer.Schema w (x Pandora.Paradigm.Controlflow.Joint.Transformer.:> y)), Pandora.Paradigm.Controlflow.Joint.Adaptable.Layable w (Pandora.Paradigm.Controlflow.Joint.Transformer.Schema x y), Pandora.Paradigm.Controlflow.Joint.Adaptable.Wrappable x y) => Pandora.Paradigm.Controlflow.Joint.Adaptable.Adaptable x (t Pandora.Paradigm.Controlflow.Joint.Transformer.:> (u Pandora.Paradigm.Controlflow.Joint.Transformer.:> (v Pandora.Paradigm.Controlflow.Joint.Transformer.:> (w Pandora.Paradigm.Controlflow.Joint.Transformer.:> (x Pandora.Paradigm.Controlflow.Joint.Transformer.:> y)))))
- Pandora.Paradigm.Controlflow.Joint.Adaptable: instance (Pandora.Paradigm.Controlflow.Joint.Adaptable.Layable t (Pandora.Paradigm.Controlflow.Joint.Transformer.Schema u (v Pandora.Paradigm.Controlflow.Joint.Transformer.:> (w Pandora.Paradigm.Controlflow.Joint.Transformer.:> x))), Pandora.Paradigm.Controlflow.Joint.Adaptable.Layable u (Pandora.Paradigm.Controlflow.Joint.Transformer.Schema v (w Pandora.Paradigm.Controlflow.Joint.Transformer.:> x)), Pandora.Paradigm.Controlflow.Joint.Adaptable.Layable v (Pandora.Paradigm.Controlflow.Joint.Transformer.Schema w x), Pandora.Paradigm.Controlflow.Joint.Adaptable.Layable w x) => Pandora.Paradigm.Controlflow.Joint.Adaptable.Adaptable x (t Pandora.Paradigm.Controlflow.Joint.Transformer.:> (u Pandora.Paradigm.Controlflow.Joint.Transformer.:> (v Pandora.Paradigm.Controlflow.Joint.Transformer.:> (w Pandora.Paradigm.Controlflow.Joint.Transformer.:> x))))
- Pandora.Paradigm.Controlflow.Joint.Adaptable: instance (Pandora.Paradigm.Controlflow.Joint.Adaptable.Layable t (Pandora.Paradigm.Controlflow.Joint.Transformer.Schema u (v Pandora.Paradigm.Controlflow.Joint.Transformer.:> (w Pandora.Paradigm.Controlflow.Joint.Transformer.:> x))), Pandora.Paradigm.Controlflow.Joint.Adaptable.Layable u (Pandora.Paradigm.Controlflow.Joint.Transformer.Schema v (w Pandora.Paradigm.Controlflow.Joint.Transformer.:> x)), Pandora.Paradigm.Controlflow.Joint.Adaptable.Layable v (Pandora.Paradigm.Controlflow.Joint.Transformer.Schema w x), Pandora.Paradigm.Controlflow.Joint.Adaptable.Wrappable w x) => Pandora.Paradigm.Controlflow.Joint.Adaptable.Adaptable w (t Pandora.Paradigm.Controlflow.Joint.Transformer.:> (u Pandora.Paradigm.Controlflow.Joint.Transformer.:> (v Pandora.Paradigm.Controlflow.Joint.Transformer.:> (w Pandora.Paradigm.Controlflow.Joint.Transformer.:> x))))
- Pandora.Paradigm.Controlflow.Joint.Adaptable: instance (Pandora.Paradigm.Controlflow.Joint.Adaptable.Layable t (Pandora.Paradigm.Controlflow.Joint.Transformer.Schema u (v Pandora.Paradigm.Controlflow.Joint.Transformer.:> w)), Pandora.Paradigm.Controlflow.Joint.Adaptable.Layable u (Pandora.Paradigm.Controlflow.Joint.Transformer.Schema v w), Pandora.Paradigm.Controlflow.Joint.Adaptable.Wrappable v w) => Pandora.Paradigm.Controlflow.Joint.Adaptable.Adaptable v (t Pandora.Paradigm.Controlflow.Joint.Transformer.:> (u Pandora.Paradigm.Controlflow.Joint.Transformer.:> (v Pandora.Paradigm.Controlflow.Joint.Transformer.:> w)))
- Pandora.Paradigm.Controlflow.Joint.Adaptable: instance (Pandora.Paradigm.Controlflow.Joint.Adaptable.Layable t (Pandora.Paradigm.Controlflow.Joint.Transformer.Schema u v), Pandora.Paradigm.Controlflow.Joint.Adaptable.Layable t (Pandora.Paradigm.Controlflow.Joint.Transformer.Schema u (v Pandora.Paradigm.Controlflow.Joint.Transformer.:> w)), Pandora.Paradigm.Controlflow.Joint.Adaptable.Layable u (Pandora.Paradigm.Controlflow.Joint.Transformer.Schema v w), Pandora.Paradigm.Controlflow.Joint.Adaptable.Layable v w) => Pandora.Paradigm.Controlflow.Joint.Adaptable.Adaptable w (t Pandora.Paradigm.Controlflow.Joint.Transformer.:> (u Pandora.Paradigm.Controlflow.Joint.Transformer.:> (v Pandora.Paradigm.Controlflow.Joint.Transformer.:> w)))
- Pandora.Paradigm.Controlflow.Joint.Adaptable: instance (Pandora.Paradigm.Controlflow.Joint.Adaptable.Layable t (Pandora.Paradigm.Controlflow.Joint.Transformer.Schema u v), Pandora.Paradigm.Controlflow.Joint.Adaptable.Layable u v) => Pandora.Paradigm.Controlflow.Joint.Adaptable.Adaptable v (t Pandora.Paradigm.Controlflow.Joint.Transformer.:> (u Pandora.Paradigm.Controlflow.Joint.Transformer.:> v))
- Pandora.Paradigm.Controlflow.Joint.Adaptable: instance (Pandora.Paradigm.Controlflow.Joint.Adaptable.Layable t (Pandora.Paradigm.Controlflow.Joint.Transformer.Schema u v), Pandora.Paradigm.Controlflow.Joint.Adaptable.Wrappable u v) => Pandora.Paradigm.Controlflow.Joint.Adaptable.Adaptable u (t Pandora.Paradigm.Controlflow.Joint.Transformer.:> (u Pandora.Paradigm.Controlflow.Joint.Transformer.:> v))
- Pandora.Paradigm.Controlflow.Joint.Adaptable: instance Pandora.Paradigm.Controlflow.Joint.Adaptable.Adaptable t t
- Pandora.Paradigm.Controlflow.Joint.Adaptable: instance Pandora.Paradigm.Controlflow.Joint.Adaptable.Layable t u => Pandora.Paradigm.Controlflow.Joint.Adaptable.Adaptable u (t Pandora.Paradigm.Controlflow.Joint.Transformer.:> u)
- Pandora.Paradigm.Controlflow.Joint.Adaptable: instance Pandora.Paradigm.Controlflow.Joint.Adaptable.Wrappable t u => Pandora.Paradigm.Controlflow.Joint.Adaptable.Adaptable t (t Pandora.Paradigm.Controlflow.Joint.Transformer.:> u)
- Pandora.Paradigm.Controlflow.Joint.Transformer: T :: Schema t u a -> (:>) t u a
- Pandora.Paradigm.Controlflow.Joint.Transformer: [trans] :: (:>) t u a -> Schema t u a
- Pandora.Paradigm.Controlflow.Joint.Transformer: class Interpreted t => Transformer t where {
- Pandora.Paradigm.Controlflow.Joint.Transformer: infixr 3 :>
- Pandora.Paradigm.Controlflow.Joint.Transformer: instance (Pandora.Paradigm.Controlflow.Joint.Interpreted.Interpreted (Pandora.Paradigm.Controlflow.Joint.Transformer.Schema t u), Pandora.Paradigm.Controlflow.Joint.Transformer.Transformer t) => Pandora.Paradigm.Controlflow.Joint.Interpreted.Interpreted (t Pandora.Paradigm.Controlflow.Joint.Transformer.:> u)
- Pandora.Paradigm.Controlflow.Joint.Transformer: instance Pandora.Pattern.Functor.Alternative.Alternative (Pandora.Paradigm.Controlflow.Joint.Transformer.Schema t u) => Pandora.Pattern.Functor.Alternative.Alternative (t Pandora.Paradigm.Controlflow.Joint.Transformer.:> u)
- Pandora.Paradigm.Controlflow.Joint.Transformer: instance Pandora.Pattern.Functor.Applicative.Applicative (Pandora.Paradigm.Controlflow.Joint.Transformer.Schema t u) => Pandora.Pattern.Functor.Applicative.Applicative (t Pandora.Paradigm.Controlflow.Joint.Transformer.:> u)
- Pandora.Paradigm.Controlflow.Joint.Transformer: instance Pandora.Pattern.Functor.Bindable.Bindable (Pandora.Paradigm.Controlflow.Joint.Transformer.Schema t u) => Pandora.Pattern.Functor.Bindable.Bindable (t Pandora.Paradigm.Controlflow.Joint.Transformer.:> u)
- Pandora.Paradigm.Controlflow.Joint.Transformer: instance Pandora.Pattern.Functor.Covariant.Covariant (Pandora.Paradigm.Controlflow.Joint.Transformer.Schema t u) => Pandora.Pattern.Functor.Covariant.Covariant (t Pandora.Paradigm.Controlflow.Joint.Transformer.:> u)
- Pandora.Paradigm.Controlflow.Joint.Transformer: instance Pandora.Pattern.Functor.Distributive.Distributive (Pandora.Paradigm.Controlflow.Joint.Transformer.Schema t u) => Pandora.Pattern.Functor.Distributive.Distributive (t Pandora.Paradigm.Controlflow.Joint.Transformer.:> u)
- Pandora.Paradigm.Controlflow.Joint.Transformer: instance Pandora.Pattern.Functor.Extendable.Extendable (Pandora.Paradigm.Controlflow.Joint.Transformer.Schema t u) => Pandora.Pattern.Functor.Extendable.Extendable (t Pandora.Paradigm.Controlflow.Joint.Transformer.:> u)
- Pandora.Paradigm.Controlflow.Joint.Transformer: instance Pandora.Pattern.Functor.Extractable.Extractable (Pandora.Paradigm.Controlflow.Joint.Transformer.Schema t u) => Pandora.Pattern.Functor.Extractable.Extractable (t Pandora.Paradigm.Controlflow.Joint.Transformer.:> u)
- Pandora.Paradigm.Controlflow.Joint.Transformer: instance Pandora.Pattern.Functor.Pointable.Pointable (Pandora.Paradigm.Controlflow.Joint.Transformer.Schema t u) => Pandora.Pattern.Functor.Pointable.Pointable (t Pandora.Paradigm.Controlflow.Joint.Transformer.:> u)
- Pandora.Paradigm.Controlflow.Joint.Transformer: instance Pandora.Pattern.Functor.Traversable.Traversable (Pandora.Paradigm.Controlflow.Joint.Transformer.Schema t u) => Pandora.Pattern.Functor.Traversable.Traversable (t Pandora.Paradigm.Controlflow.Joint.Transformer.:> u)
- Pandora.Paradigm.Controlflow.Joint.Transformer: lay :: (Transformer t, Covariant u) => u ~> (t :> u)
- Pandora.Paradigm.Controlflow.Joint.Transformer: newtype (:>) t u a
- Pandora.Paradigm.Controlflow.Joint.Transformer: wrap :: (Transformer t, Pointable u) => t ~> (t :> u)
- Pandora.Paradigm.Controlflow.Joint.Transformer: }
- Pandora.Paradigm.Inventory.Accumulator: instance (Pandora.Pattern.Functor.Pointable.Pointable u, Pandora.Pattern.Object.Monoid.Monoid e) => Pandora.Pattern.Functor.Pointable.Pointable (Pandora.Paradigm.Controlflow.Joint.Schemes.UT.UT 'Pandora.Core.Functor.Co 'Pandora.Core.Functor.Co ((Pandora.Paradigm.Basis.Product.:*:) e) u)
- Pandora.Paradigm.Inventory.Accumulator: instance (Pandora.Pattern.Object.Semigroup.Semigroup e, Pandora.Pattern.Functor.Applicative.Applicative u) => Pandora.Pattern.Functor.Applicative.Applicative (Pandora.Paradigm.Controlflow.Joint.Schemes.UT.UT 'Pandora.Core.Functor.Co 'Pandora.Core.Functor.Co ((Pandora.Paradigm.Basis.Product.:*:) e) u)
- Pandora.Paradigm.Inventory.Accumulator: instance (Pandora.Pattern.Object.Semigroup.Semigroup e, Pandora.Pattern.Functor.Pointable.Pointable u, Pandora.Pattern.Functor.Bindable.Bindable u) => Pandora.Pattern.Functor.Bindable.Bindable (Pandora.Paradigm.Controlflow.Joint.Schemes.UT.UT 'Pandora.Core.Functor.Co 'Pandora.Core.Functor.Co ((Pandora.Paradigm.Basis.Product.:*:) e) u)
- Pandora.Paradigm.Inventory.Accumulator: instance Pandora.Pattern.Functor.Covariant.Covariant u => Pandora.Pattern.Functor.Covariant.Covariant (Pandora.Paradigm.Controlflow.Joint.Schemes.UT.UT 'Pandora.Core.Functor.Co 'Pandora.Core.Functor.Co ((Pandora.Paradigm.Basis.Product.:*:) e) u)
- Pandora.Paradigm.Inventory.Accumulator: instance Pandora.Pattern.Object.Monoid.Monoid e => Pandora.Paradigm.Controlflow.Joint.Transformer.Transformer (Pandora.Paradigm.Inventory.Accumulator.Accumulator e)
- Pandora.Paradigm.Inventory.Environment: instance (Pandora.Pattern.Functor.Covariant.Covariant u, Pandora.Pattern.Functor.Pointable.Pointable u) => Pandora.Pattern.Functor.Pointable.Pointable (Pandora.Paradigm.Controlflow.Joint.Schemes.TU.TU 'Pandora.Core.Functor.Co 'Pandora.Core.Functor.Co ((->) e) u)
- Pandora.Paradigm.Inventory.Environment: instance Pandora.Paradigm.Controlflow.Joint.Transformer.Transformer (Pandora.Paradigm.Inventory.Environment.Environment e)
- Pandora.Paradigm.Inventory.Environment: instance Pandora.Pattern.Functor.Applicative.Applicative u => Pandora.Pattern.Functor.Applicative.Applicative (Pandora.Paradigm.Controlflow.Joint.Schemes.TU.TU 'Pandora.Core.Functor.Co 'Pandora.Core.Functor.Co ((->) e) u)
- Pandora.Paradigm.Inventory.Environment: instance Pandora.Pattern.Functor.Bindable.Bindable u => Pandora.Pattern.Functor.Bindable.Bindable (Pandora.Paradigm.Controlflow.Joint.Schemes.TU.TU 'Pandora.Core.Functor.Co 'Pandora.Core.Functor.Co ((->) e) u)
- Pandora.Paradigm.Inventory.Environment: instance Pandora.Pattern.Functor.Covariant.Covariant u => Pandora.Pattern.Functor.Covariant.Covariant (Pandora.Paradigm.Controlflow.Joint.Schemes.TU.TU 'Pandora.Core.Functor.Co 'Pandora.Core.Functor.Co ((->) e) u)
- Pandora.Paradigm.Inventory.Optics: instance Pandora.Pattern.Functor.Adjoint.Adjoint (Pandora.Paradigm.Inventory.Storage.Storage s) (Pandora.Paradigm.Inventory.State.State s)
- Pandora.Paradigm.Inventory.State: instance Pandora.Paradigm.Controlflow.Joint.Transformer.Transformer (Pandora.Paradigm.Inventory.State.State s)
- Pandora.Paradigm.Inventory.State: instance Pandora.Pattern.Functor.Bindable.Bindable u => Pandora.Pattern.Functor.Applicative.Applicative (Pandora.Paradigm.Controlflow.Joint.Schemes.TUV.TUV 'Pandora.Core.Functor.Co 'Pandora.Core.Functor.Co 'Pandora.Core.Functor.Co ((->) s) u ((Pandora.Paradigm.Basis.Product.:*:) s))
- Pandora.Paradigm.Inventory.State: instance Pandora.Pattern.Functor.Bindable.Bindable u => Pandora.Pattern.Functor.Bindable.Bindable (Pandora.Paradigm.Controlflow.Joint.Schemes.TUV.TUV 'Pandora.Core.Functor.Co 'Pandora.Core.Functor.Co 'Pandora.Core.Functor.Co ((->) s) u ((Pandora.Paradigm.Basis.Product.:*:) s))
- Pandora.Paradigm.Inventory.State: instance Pandora.Pattern.Functor.Covariant.Covariant u => Pandora.Pattern.Functor.Covariant.Covariant (Pandora.Paradigm.Controlflow.Joint.Schemes.TUV.TUV 'Pandora.Core.Functor.Co 'Pandora.Core.Functor.Co 'Pandora.Core.Functor.Co ((->) s) u ((Pandora.Paradigm.Basis.Product.:*:) s))
- Pandora.Paradigm.Inventory.State: instance Pandora.Pattern.Functor.Monad.Monad u => Pandora.Pattern.Functor.Monad.Monad (Pandora.Paradigm.Controlflow.Joint.Schemes.TUV.TUV 'Pandora.Core.Functor.Co 'Pandora.Core.Functor.Co 'Pandora.Core.Functor.Co ((->) s) u ((Pandora.Paradigm.Basis.Product.:*:) s))
- Pandora.Paradigm.Inventory.State: instance Pandora.Pattern.Functor.Pointable.Pointable u => Pandora.Pattern.Functor.Pointable.Pointable (Pandora.Paradigm.Controlflow.Joint.Schemes.TUV.TUV 'Pandora.Core.Functor.Co 'Pandora.Core.Functor.Co 'Pandora.Core.Functor.Co ((->) s) u ((Pandora.Paradigm.Basis.Product.:*:) s))
- Pandora.Paradigm.Inventory.Storage: Storage :: (((:*:) p :. (->) p) := a) -> Storage p a
- Pandora.Paradigm.Inventory.Storage: [stored] :: Storage p a -> ((:*:) p :. (->) p) := a
- Pandora.Paradigm.Inventory.Storage: access :: p -> Storage p a -> a
- Pandora.Paradigm.Inventory.Storage: instance Pandora.Pattern.Functor.Comonad.Comonad (Pandora.Paradigm.Inventory.Storage.Storage p)
- Pandora.Paradigm.Inventory.Storage: instance Pandora.Pattern.Functor.Covariant.Covariant (Pandora.Paradigm.Inventory.Storage.Storage p)
- Pandora.Paradigm.Inventory.Storage: instance Pandora.Pattern.Functor.Extendable.Extendable (Pandora.Paradigm.Inventory.Storage.Storage p)
- Pandora.Paradigm.Inventory.Storage: instance Pandora.Pattern.Functor.Extractable.Extractable (Pandora.Paradigm.Inventory.Storage.Storage p)
- Pandora.Paradigm.Inventory.Storage: newtype Storage p a
- Pandora.Paradigm.Inventory.Storage: position :: Storage p a -> p
- Pandora.Paradigm.Inventory.Storage: retrofit :: (p -> p) -> Storage p a -> Storage p a
- Pandora.Paradigm.Structure.Specific.Graph: data Graph a
- Pandora.Paradigm.Structure.Specific.Graph: instance Pandora.Paradigm.Controlflow.Joint.Interpreted.Interpreted Pandora.Paradigm.Structure.Specific.Graph.Graph
- Pandora.Paradigm.Structure.Specific.Graph: instance Pandora.Pattern.Functor.Covariant.Covariant Pandora.Paradigm.Structure.Specific.Graph.Graph
- Pandora.Paradigm.Structure.Specific.Graph: instance Pandora.Pattern.Functor.Traversable.Traversable Pandora.Paradigm.Structure.Specific.Graph.Graph
- Pandora.Paradigm.Structure.Specific.Stack: data Stack a
- Pandora.Paradigm.Structure.Specific.Stack: instance Pandora.Paradigm.Controlflow.Joint.Interpreted.Interpreted Pandora.Paradigm.Structure.Specific.Stack.Stack
- Pandora.Paradigm.Structure.Specific.Stack: instance Pandora.Pattern.Functor.Alternative.Alternative Pandora.Paradigm.Structure.Specific.Stack.Stack
- Pandora.Paradigm.Structure.Specific.Stack: instance Pandora.Pattern.Functor.Applicative.Applicative Pandora.Paradigm.Structure.Specific.Stack.Stack
- Pandora.Paradigm.Structure.Specific.Stack: instance Pandora.Pattern.Functor.Avoidable.Avoidable Pandora.Paradigm.Structure.Specific.Stack.Stack
- Pandora.Paradigm.Structure.Specific.Stack: instance Pandora.Pattern.Functor.Covariant.Covariant Pandora.Paradigm.Structure.Specific.Stack.Stack
- Pandora.Paradigm.Structure.Specific.Stack: instance Pandora.Pattern.Functor.Pointable.Pointable Pandora.Paradigm.Structure.Specific.Stack.Stack
- Pandora.Paradigm.Structure.Specific.Stack: instance Pandora.Pattern.Functor.Traversable.Traversable Pandora.Paradigm.Structure.Specific.Stack.Stack
+ Pandora.Paradigm.Basis.Conclusion: instance (Pandora.Pattern.Functor.Pointable.Pointable u, Pandora.Pattern.Functor.Bindable.Bindable u) => Pandora.Pattern.Functor.Bindable.Bindable (Pandora.Paradigm.Controlflow.Joint.Schemes.UT.UT Pandora.Pattern.Functor.Covariant.Covariant Pandora.Pattern.Functor.Covariant.Covariant (Pandora.Paradigm.Basis.Conclusion.Conclusion e) u)
+ Pandora.Paradigm.Basis.Conclusion: instance Pandora.Paradigm.Controlflow.Joint.Transformer.Monadic.Monadic (Pandora.Paradigm.Basis.Conclusion.Conclusion e)
+ Pandora.Paradigm.Basis.Conclusion: instance Pandora.Pattern.Functor.Applicative.Applicative u => Pandora.Pattern.Functor.Applicative.Applicative (Pandora.Paradigm.Controlflow.Joint.Schemes.UT.UT Pandora.Pattern.Functor.Covariant.Covariant Pandora.Pattern.Functor.Covariant.Covariant (Pandora.Paradigm.Basis.Conclusion.Conclusion e) u)
+ Pandora.Paradigm.Basis.Conclusion: instance Pandora.Pattern.Functor.Covariant.Covariant u => Pandora.Pattern.Functor.Covariant.Covariant (Pandora.Paradigm.Controlflow.Joint.Schemes.UT.UT Pandora.Pattern.Functor.Covariant.Covariant Pandora.Pattern.Functor.Covariant.Covariant (Pandora.Paradigm.Basis.Conclusion.Conclusion e) u)
+ Pandora.Paradigm.Basis.Conclusion: instance Pandora.Pattern.Functor.Monad.Monad u => Pandora.Pattern.Functor.Monad.Monad (Pandora.Paradigm.Controlflow.Joint.Schemes.UT.UT Pandora.Pattern.Functor.Covariant.Covariant Pandora.Pattern.Functor.Covariant.Covariant (Pandora.Paradigm.Basis.Conclusion.Conclusion e) u)
+ Pandora.Paradigm.Basis.Conclusion: instance Pandora.Pattern.Functor.Pointable.Pointable u => Pandora.Pattern.Functor.Pointable.Pointable (Pandora.Paradigm.Controlflow.Joint.Schemes.UT.UT Pandora.Pattern.Functor.Covariant.Covariant Pandora.Pattern.Functor.Covariant.Covariant (Pandora.Paradigm.Basis.Conclusion.Conclusion e) u)
+ Pandora.Paradigm.Basis.Maybe: instance (Pandora.Pattern.Functor.Pointable.Pointable u, Pandora.Pattern.Functor.Bindable.Bindable u) => Pandora.Pattern.Functor.Bindable.Bindable (Pandora.Paradigm.Controlflow.Joint.Schemes.UT.UT Pandora.Pattern.Functor.Covariant.Covariant Pandora.Pattern.Functor.Covariant.Covariant Pandora.Paradigm.Basis.Maybe.Maybe u)
+ Pandora.Paradigm.Basis.Maybe: instance Pandora.Paradigm.Controlflow.Joint.Transformer.Monadic.Monadic Pandora.Paradigm.Basis.Maybe.Maybe
+ Pandora.Paradigm.Basis.Maybe: instance Pandora.Pattern.Functor.Applicative.Applicative u => Pandora.Pattern.Functor.Applicative.Applicative (Pandora.Paradigm.Controlflow.Joint.Schemes.UT.UT Pandora.Pattern.Functor.Covariant.Covariant Pandora.Pattern.Functor.Covariant.Covariant Pandora.Paradigm.Basis.Maybe.Maybe u)
+ Pandora.Paradigm.Basis.Maybe: instance Pandora.Pattern.Functor.Covariant.Covariant u => Pandora.Pattern.Functor.Covariant.Covariant (Pandora.Paradigm.Controlflow.Joint.Schemes.UT.UT Pandora.Pattern.Functor.Covariant.Covariant Pandora.Pattern.Functor.Covariant.Covariant Pandora.Paradigm.Basis.Maybe.Maybe u)
+ Pandora.Paradigm.Basis.Maybe: instance Pandora.Pattern.Functor.Monad.Monad u => Pandora.Pattern.Functor.Monad.Monad (Pandora.Paradigm.Controlflow.Joint.Schemes.UT.UT Pandora.Pattern.Functor.Covariant.Covariant Pandora.Pattern.Functor.Covariant.Covariant Pandora.Paradigm.Basis.Maybe.Maybe u)
+ Pandora.Paradigm.Basis.Maybe: instance Pandora.Pattern.Functor.Pointable.Pointable u => Pandora.Pattern.Functor.Pointable.Pointable (Pandora.Paradigm.Controlflow.Joint.Schemes.UT.UT Pandora.Pattern.Functor.Covariant.Covariant Pandora.Pattern.Functor.Covariant.Covariant Pandora.Paradigm.Basis.Maybe.Maybe u)
+ Pandora.Paradigm.Basis.Twister: Twister :: a -> ((t :. Twister t) := a) -> Twister t a
+ Pandora.Paradigm.Basis.Twister: instance Pandora.Pattern.Functor.Lowerable.Lowerable Pandora.Paradigm.Basis.Twister.Twister
+ Pandora.Paradigm.Controlflow.Joint.Adaptable: instance (Pandora.Pattern.Functor.Covariant.Covariant (t Pandora.Paradigm.Controlflow.Joint.Transformer.Monadic.:> (u Pandora.Paradigm.Controlflow.Joint.Transformer.Monadic.:> (v Pandora.Paradigm.Controlflow.Joint.Transformer.Monadic.:> (w Pandora.Paradigm.Controlflow.Joint.Transformer.Monadic.:> (x Pandora.Paradigm.Controlflow.Joint.Transformer.Monadic.:> (y Pandora.Paradigm.Controlflow.Joint.Transformer.Monadic.:> (z Pandora.Paradigm.Controlflow.Joint.Transformer.Monadic.:> (f Pandora.Paradigm.Controlflow.Joint.Transformer.Monadic.:> h)))))))), Pandora.Paradigm.Controlflow.Joint.Adaptable.Layable t (Pandora.Paradigm.Controlflow.Joint.Schematic.Schematic Pandora.Pattern.Functor.Monad.Monad u (v Pandora.Paradigm.Controlflow.Joint.Transformer.Monadic.:> (w Pandora.Paradigm.Controlflow.Joint.Transformer.Monadic.:> (x Pandora.Paradigm.Controlflow.Joint.Transformer.Monadic.:> (y Pandora.Paradigm.Controlflow.Joint.Transformer.Monadic.:> (z Pandora.Paradigm.Controlflow.Joint.Transformer.Monadic.:> (f Pandora.Paradigm.Controlflow.Joint.Transformer.Monadic.:> h))))))), Pandora.Paradigm.Controlflow.Joint.Adaptable.Layable u (Pandora.Paradigm.Controlflow.Joint.Schematic.Schematic Pandora.Pattern.Functor.Monad.Monad v (w Pandora.Paradigm.Controlflow.Joint.Transformer.Monadic.:> (x Pandora.Paradigm.Controlflow.Joint.Transformer.Monadic.:> (y Pandora.Paradigm.Controlflow.Joint.Transformer.Monadic.:> (z Pandora.Paradigm.Controlflow.Joint.Transformer.Monadic.:> (f Pandora.Paradigm.Controlflow.Joint.Transformer.Monadic.:> h)))))), Pandora.Paradigm.Controlflow.Joint.Adaptable.Layable v (Pandora.Paradigm.Controlflow.Joint.Schematic.Schematic Pandora.Pattern.Functor.Monad.Monad w (x Pandora.Paradigm.Controlflow.Joint.Transformer.Monadic.:> (y Pandora.Paradigm.Controlflow.Joint.Transformer.Monadic.:> (z Pandora.Paradigm.Controlflow.Joint.Transformer.Monadic.:> (f Pandora.Paradigm.Controlflow.Joint.Transformer.Monadic.:> h))))), Pandora.Paradigm.Controlflow.Joint.Adaptable.Layable w (Pandora.Paradigm.Controlflow.Joint.Schematic.Schematic Pandora.Pattern.Functor.Monad.Monad x (y Pandora.Paradigm.Controlflow.Joint.Transformer.Monadic.:> (z Pandora.Paradigm.Controlflow.Joint.Transformer.Monadic.:> (f Pandora.Paradigm.Controlflow.Joint.Transformer.Monadic.:> h)))), Pandora.Paradigm.Controlflow.Joint.Adaptable.Layable x (Pandora.Paradigm.Controlflow.Joint.Schematic.Schematic Pandora.Pattern.Functor.Monad.Monad y (z Pandora.Paradigm.Controlflow.Joint.Transformer.Monadic.:> (f Pandora.Paradigm.Controlflow.Joint.Transformer.Monadic.:> h))), Pandora.Paradigm.Controlflow.Joint.Adaptable.Layable y (Pandora.Paradigm.Controlflow.Joint.Schematic.Schematic Pandora.Pattern.Functor.Monad.Monad z (f Pandora.Paradigm.Controlflow.Joint.Transformer.Monadic.:> h)), Pandora.Paradigm.Controlflow.Joint.Adaptable.Layable z (Pandora.Paradigm.Controlflow.Joint.Schematic.Schematic Pandora.Pattern.Functor.Monad.Monad f h), Pandora.Paradigm.Controlflow.Joint.Adaptable.Layable f h) => Pandora.Paradigm.Controlflow.Joint.Adaptable.Adaptable h (t Pandora.Paradigm.Controlflow.Joint.Transformer.Monadic.:> (u Pandora.Paradigm.Controlflow.Joint.Transformer.Monadic.:> (v Pandora.Paradigm.Controlflow.Joint.Transformer.Monadic.:> (w Pandora.Paradigm.Controlflow.Joint.Transformer.Monadic.:> (x Pandora.Paradigm.Controlflow.Joint.Transformer.Monadic.:> (y Pandora.Paradigm.Controlflow.Joint.Transformer.Monadic.:> (z Pandora.Paradigm.Controlflow.Joint.Transformer.Monadic.:> (f Pandora.Paradigm.Controlflow.Joint.Transformer.Monadic.:> h))))))))
+ Pandora.Paradigm.Controlflow.Joint.Adaptable: instance (Pandora.Pattern.Functor.Covariant.Covariant (t Pandora.Paradigm.Controlflow.Joint.Transformer.Monadic.:> (u Pandora.Paradigm.Controlflow.Joint.Transformer.Monadic.:> (v Pandora.Paradigm.Controlflow.Joint.Transformer.Monadic.:> (w Pandora.Paradigm.Controlflow.Joint.Transformer.Monadic.:> (x Pandora.Paradigm.Controlflow.Joint.Transformer.Monadic.:> (y Pandora.Paradigm.Controlflow.Joint.Transformer.Monadic.:> (z Pandora.Paradigm.Controlflow.Joint.Transformer.Monadic.:> (f Pandora.Paradigm.Controlflow.Joint.Transformer.Monadic.:> h)))))))), Pandora.Paradigm.Controlflow.Joint.Adaptable.Layable t (Pandora.Paradigm.Controlflow.Joint.Schematic.Schematic Pandora.Pattern.Functor.Monad.Monad u (v Pandora.Paradigm.Controlflow.Joint.Transformer.Monadic.:> (w Pandora.Paradigm.Controlflow.Joint.Transformer.Monadic.:> (x Pandora.Paradigm.Controlflow.Joint.Transformer.Monadic.:> (y Pandora.Paradigm.Controlflow.Joint.Transformer.Monadic.:> (z Pandora.Paradigm.Controlflow.Joint.Transformer.Monadic.:> (f Pandora.Paradigm.Controlflow.Joint.Transformer.Monadic.:> h))))))), Pandora.Paradigm.Controlflow.Joint.Adaptable.Layable u (Pandora.Paradigm.Controlflow.Joint.Schematic.Schematic Pandora.Pattern.Functor.Monad.Monad v (w Pandora.Paradigm.Controlflow.Joint.Transformer.Monadic.:> (x Pandora.Paradigm.Controlflow.Joint.Transformer.Monadic.:> (y Pandora.Paradigm.Controlflow.Joint.Transformer.Monadic.:> (z Pandora.Paradigm.Controlflow.Joint.Transformer.Monadic.:> (f Pandora.Paradigm.Controlflow.Joint.Transformer.Monadic.:> h)))))), Pandora.Paradigm.Controlflow.Joint.Adaptable.Layable v (Pandora.Paradigm.Controlflow.Joint.Schematic.Schematic Pandora.Pattern.Functor.Monad.Monad w (x Pandora.Paradigm.Controlflow.Joint.Transformer.Monadic.:> (y Pandora.Paradigm.Controlflow.Joint.Transformer.Monadic.:> (z Pandora.Paradigm.Controlflow.Joint.Transformer.Monadic.:> (f Pandora.Paradigm.Controlflow.Joint.Transformer.Monadic.:> h))))), Pandora.Paradigm.Controlflow.Joint.Adaptable.Layable w (Pandora.Paradigm.Controlflow.Joint.Schematic.Schematic Pandora.Pattern.Functor.Monad.Monad x (y Pandora.Paradigm.Controlflow.Joint.Transformer.Monadic.:> (z Pandora.Paradigm.Controlflow.Joint.Transformer.Monadic.:> (f Pandora.Paradigm.Controlflow.Joint.Transformer.Monadic.:> h)))), Pandora.Paradigm.Controlflow.Joint.Adaptable.Layable x (Pandora.Paradigm.Controlflow.Joint.Schematic.Schematic Pandora.Pattern.Functor.Monad.Monad y (z Pandora.Paradigm.Controlflow.Joint.Transformer.Monadic.:> (f Pandora.Paradigm.Controlflow.Joint.Transformer.Monadic.:> h))), Pandora.Paradigm.Controlflow.Joint.Adaptable.Layable y (Pandora.Paradigm.Controlflow.Joint.Schematic.Schematic Pandora.Pattern.Functor.Monad.Monad z (f Pandora.Paradigm.Controlflow.Joint.Transformer.Monadic.:> h)), Pandora.Paradigm.Controlflow.Joint.Adaptable.Layable z (Pandora.Paradigm.Controlflow.Joint.Schematic.Schematic Pandora.Pattern.Functor.Monad.Monad f h), Pandora.Paradigm.Controlflow.Joint.Adaptable.Wrappable f h) => Pandora.Paradigm.Controlflow.Joint.Adaptable.Adaptable f (t Pandora.Paradigm.Controlflow.Joint.Transformer.Monadic.:> (u Pandora.Paradigm.Controlflow.Joint.Transformer.Monadic.:> (v Pandora.Paradigm.Controlflow.Joint.Transformer.Monadic.:> (w Pandora.Paradigm.Controlflow.Joint.Transformer.Monadic.:> (x Pandora.Paradigm.Controlflow.Joint.Transformer.Monadic.:> (y Pandora.Paradigm.Controlflow.Joint.Transformer.Monadic.:> (z Pandora.Paradigm.Controlflow.Joint.Transformer.Monadic.:> (f Pandora.Paradigm.Controlflow.Joint.Transformer.Monadic.:> h))))))))
+ Pandora.Paradigm.Controlflow.Joint.Adaptable: instance (Pandora.Pattern.Functor.Covariant.Covariant (t Pandora.Paradigm.Controlflow.Joint.Transformer.Monadic.:> (u Pandora.Paradigm.Controlflow.Joint.Transformer.Monadic.:> (v Pandora.Paradigm.Controlflow.Joint.Transformer.Monadic.:> (w Pandora.Paradigm.Controlflow.Joint.Transformer.Monadic.:> (x Pandora.Paradigm.Controlflow.Joint.Transformer.Monadic.:> (y Pandora.Paradigm.Controlflow.Joint.Transformer.Monadic.:> (z Pandora.Paradigm.Controlflow.Joint.Transformer.Monadic.:> f))))))), Pandora.Paradigm.Controlflow.Joint.Adaptable.Layable t (Pandora.Paradigm.Controlflow.Joint.Schematic.Schematic Pandora.Pattern.Functor.Monad.Monad u (v Pandora.Paradigm.Controlflow.Joint.Transformer.Monadic.:> (w Pandora.Paradigm.Controlflow.Joint.Transformer.Monadic.:> (x Pandora.Paradigm.Controlflow.Joint.Transformer.Monadic.:> (y Pandora.Paradigm.Controlflow.Joint.Transformer.Monadic.:> (z Pandora.Paradigm.Controlflow.Joint.Transformer.Monadic.:> f)))))), Pandora.Paradigm.Controlflow.Joint.Adaptable.Layable u (Pandora.Paradigm.Controlflow.Joint.Schematic.Schematic Pandora.Pattern.Functor.Monad.Monad v (w Pandora.Paradigm.Controlflow.Joint.Transformer.Monadic.:> (x Pandora.Paradigm.Controlflow.Joint.Transformer.Monadic.:> (y Pandora.Paradigm.Controlflow.Joint.Transformer.Monadic.:> (z Pandora.Paradigm.Controlflow.Joint.Transformer.Monadic.:> f))))), Pandora.Paradigm.Controlflow.Joint.Adaptable.Layable v (Pandora.Paradigm.Controlflow.Joint.Schematic.Schematic Pandora.Pattern.Functor.Monad.Monad w (x Pandora.Paradigm.Controlflow.Joint.Transformer.Monadic.:> (y Pandora.Paradigm.Controlflow.Joint.Transformer.Monadic.:> (z Pandora.Paradigm.Controlflow.Joint.Transformer.Monadic.:> f)))), Pandora.Paradigm.Controlflow.Joint.Adaptable.Layable w (Pandora.Paradigm.Controlflow.Joint.Schematic.Schematic Pandora.Pattern.Functor.Monad.Monad x (y Pandora.Paradigm.Controlflow.Joint.Transformer.Monadic.:> (z Pandora.Paradigm.Controlflow.Joint.Transformer.Monadic.:> f))), Pandora.Paradigm.Controlflow.Joint.Adaptable.Layable x (Pandora.Paradigm.Controlflow.Joint.Schematic.Schematic Pandora.Pattern.Functor.Monad.Monad y (z Pandora.Paradigm.Controlflow.Joint.Transformer.Monadic.:> f)), Pandora.Paradigm.Controlflow.Joint.Adaptable.Layable y (Pandora.Paradigm.Controlflow.Joint.Schematic.Schematic Pandora.Pattern.Functor.Monad.Monad z f), Pandora.Paradigm.Controlflow.Joint.Adaptable.Layable z f) => Pandora.Paradigm.Controlflow.Joint.Adaptable.Adaptable f (t Pandora.Paradigm.Controlflow.Joint.Transformer.Monadic.:> (u Pandora.Paradigm.Controlflow.Joint.Transformer.Monadic.:> (v Pandora.Paradigm.Controlflow.Joint.Transformer.Monadic.:> (w Pandora.Paradigm.Controlflow.Joint.Transformer.Monadic.:> (x Pandora.Paradigm.Controlflow.Joint.Transformer.Monadic.:> (y Pandora.Paradigm.Controlflow.Joint.Transformer.Monadic.:> (z Pandora.Paradigm.Controlflow.Joint.Transformer.Monadic.:> f)))))))
+ Pandora.Paradigm.Controlflow.Joint.Adaptable: instance (Pandora.Pattern.Functor.Covariant.Covariant (t Pandora.Paradigm.Controlflow.Joint.Transformer.Monadic.:> (u Pandora.Paradigm.Controlflow.Joint.Transformer.Monadic.:> (v Pandora.Paradigm.Controlflow.Joint.Transformer.Monadic.:> (w Pandora.Paradigm.Controlflow.Joint.Transformer.Monadic.:> (x Pandora.Paradigm.Controlflow.Joint.Transformer.Monadic.:> (y Pandora.Paradigm.Controlflow.Joint.Transformer.Monadic.:> (z Pandora.Paradigm.Controlflow.Joint.Transformer.Monadic.:> f))))))), Pandora.Paradigm.Controlflow.Joint.Adaptable.Layable t (Pandora.Paradigm.Controlflow.Joint.Schematic.Schematic Pandora.Pattern.Functor.Monad.Monad u (v Pandora.Paradigm.Controlflow.Joint.Transformer.Monadic.:> (w Pandora.Paradigm.Controlflow.Joint.Transformer.Monadic.:> (x Pandora.Paradigm.Controlflow.Joint.Transformer.Monadic.:> (y Pandora.Paradigm.Controlflow.Joint.Transformer.Monadic.:> (z Pandora.Paradigm.Controlflow.Joint.Transformer.Monadic.:> f)))))), Pandora.Paradigm.Controlflow.Joint.Adaptable.Layable u (Pandora.Paradigm.Controlflow.Joint.Schematic.Schematic Pandora.Pattern.Functor.Monad.Monad v (w Pandora.Paradigm.Controlflow.Joint.Transformer.Monadic.:> (x Pandora.Paradigm.Controlflow.Joint.Transformer.Monadic.:> (y Pandora.Paradigm.Controlflow.Joint.Transformer.Monadic.:> (z Pandora.Paradigm.Controlflow.Joint.Transformer.Monadic.:> f))))), Pandora.Paradigm.Controlflow.Joint.Adaptable.Layable v (Pandora.Paradigm.Controlflow.Joint.Schematic.Schematic Pandora.Pattern.Functor.Monad.Monad w (x Pandora.Paradigm.Controlflow.Joint.Transformer.Monadic.:> (y Pandora.Paradigm.Controlflow.Joint.Transformer.Monadic.:> (z Pandora.Paradigm.Controlflow.Joint.Transformer.Monadic.:> f)))), Pandora.Paradigm.Controlflow.Joint.Adaptable.Layable w (Pandora.Paradigm.Controlflow.Joint.Schematic.Schematic Pandora.Pattern.Functor.Monad.Monad x (y Pandora.Paradigm.Controlflow.Joint.Transformer.Monadic.:> (z Pandora.Paradigm.Controlflow.Joint.Transformer.Monadic.:> f))), Pandora.Paradigm.Controlflow.Joint.Adaptable.Layable x (Pandora.Paradigm.Controlflow.Joint.Schematic.Schematic Pandora.Pattern.Functor.Monad.Monad y (z Pandora.Paradigm.Controlflow.Joint.Transformer.Monadic.:> f)), Pandora.Paradigm.Controlflow.Joint.Adaptable.Layable y (Pandora.Paradigm.Controlflow.Joint.Schematic.Schematic Pandora.Pattern.Functor.Monad.Monad z f), Pandora.Paradigm.Controlflow.Joint.Adaptable.Wrappable z f) => Pandora.Paradigm.Controlflow.Joint.Adaptable.Adaptable z (t Pandora.Paradigm.Controlflow.Joint.Transformer.Monadic.:> (u Pandora.Paradigm.Controlflow.Joint.Transformer.Monadic.:> (v Pandora.Paradigm.Controlflow.Joint.Transformer.Monadic.:> (w Pandora.Paradigm.Controlflow.Joint.Transformer.Monadic.:> (x Pandora.Paradigm.Controlflow.Joint.Transformer.Monadic.:> (y Pandora.Paradigm.Controlflow.Joint.Transformer.Monadic.:> (z Pandora.Paradigm.Controlflow.Joint.Transformer.Monadic.:> f)))))))
+ Pandora.Paradigm.Controlflow.Joint.Adaptable: instance (Pandora.Pattern.Functor.Covariant.Covariant (t Pandora.Paradigm.Controlflow.Joint.Transformer.Monadic.:> (u Pandora.Paradigm.Controlflow.Joint.Transformer.Monadic.:> (v Pandora.Paradigm.Controlflow.Joint.Transformer.Monadic.:> (w Pandora.Paradigm.Controlflow.Joint.Transformer.Monadic.:> (x Pandora.Paradigm.Controlflow.Joint.Transformer.Monadic.:> (y Pandora.Paradigm.Controlflow.Joint.Transformer.Monadic.:> z)))))), Pandora.Paradigm.Controlflow.Joint.Adaptable.Layable t (Pandora.Paradigm.Controlflow.Joint.Schematic.Schematic Pandora.Pattern.Functor.Monad.Monad u (v Pandora.Paradigm.Controlflow.Joint.Transformer.Monadic.:> (w Pandora.Paradigm.Controlflow.Joint.Transformer.Monadic.:> (x Pandora.Paradigm.Controlflow.Joint.Transformer.Monadic.:> (y Pandora.Paradigm.Controlflow.Joint.Transformer.Monadic.:> z))))), Pandora.Paradigm.Controlflow.Joint.Adaptable.Layable u (Pandora.Paradigm.Controlflow.Joint.Schematic.Schematic Pandora.Pattern.Functor.Monad.Monad v (w Pandora.Paradigm.Controlflow.Joint.Transformer.Monadic.:> (x Pandora.Paradigm.Controlflow.Joint.Transformer.Monadic.:> (y Pandora.Paradigm.Controlflow.Joint.Transformer.Monadic.:> z)))), Pandora.Paradigm.Controlflow.Joint.Adaptable.Layable v (Pandora.Paradigm.Controlflow.Joint.Schematic.Schematic Pandora.Pattern.Functor.Monad.Monad w (x Pandora.Paradigm.Controlflow.Joint.Transformer.Monadic.:> (y Pandora.Paradigm.Controlflow.Joint.Transformer.Monadic.:> z))), Pandora.Paradigm.Controlflow.Joint.Adaptable.Layable w (Pandora.Paradigm.Controlflow.Joint.Schematic.Schematic Pandora.Pattern.Functor.Monad.Monad x (y Pandora.Paradigm.Controlflow.Joint.Transformer.Monadic.:> z)), Pandora.Paradigm.Controlflow.Joint.Adaptable.Layable x (Pandora.Paradigm.Controlflow.Joint.Schematic.Schematic Pandora.Pattern.Functor.Monad.Monad y z), Pandora.Paradigm.Controlflow.Joint.Adaptable.Layable y z) => Pandora.Paradigm.Controlflow.Joint.Adaptable.Adaptable z (t Pandora.Paradigm.Controlflow.Joint.Transformer.Monadic.:> (u Pandora.Paradigm.Controlflow.Joint.Transformer.Monadic.:> (v Pandora.Paradigm.Controlflow.Joint.Transformer.Monadic.:> (w Pandora.Paradigm.Controlflow.Joint.Transformer.Monadic.:> (x Pandora.Paradigm.Controlflow.Joint.Transformer.Monadic.:> (y Pandora.Paradigm.Controlflow.Joint.Transformer.Monadic.:> z))))))
+ Pandora.Paradigm.Controlflow.Joint.Adaptable: instance (Pandora.Pattern.Functor.Covariant.Covariant (t Pandora.Paradigm.Controlflow.Joint.Transformer.Monadic.:> (u Pandora.Paradigm.Controlflow.Joint.Transformer.Monadic.:> (v Pandora.Paradigm.Controlflow.Joint.Transformer.Monadic.:> (w Pandora.Paradigm.Controlflow.Joint.Transformer.Monadic.:> (x Pandora.Paradigm.Controlflow.Joint.Transformer.Monadic.:> (y Pandora.Paradigm.Controlflow.Joint.Transformer.Monadic.:> z)))))), Pandora.Paradigm.Controlflow.Joint.Adaptable.Layable t (Pandora.Paradigm.Controlflow.Joint.Schematic.Schematic Pandora.Pattern.Functor.Monad.Monad u (v Pandora.Paradigm.Controlflow.Joint.Transformer.Monadic.:> (w Pandora.Paradigm.Controlflow.Joint.Transformer.Monadic.:> (x Pandora.Paradigm.Controlflow.Joint.Transformer.Monadic.:> (y Pandora.Paradigm.Controlflow.Joint.Transformer.Monadic.:> z))))), Pandora.Paradigm.Controlflow.Joint.Adaptable.Layable u (Pandora.Paradigm.Controlflow.Joint.Schematic.Schematic Pandora.Pattern.Functor.Monad.Monad v (w Pandora.Paradigm.Controlflow.Joint.Transformer.Monadic.:> (x Pandora.Paradigm.Controlflow.Joint.Transformer.Monadic.:> (y Pandora.Paradigm.Controlflow.Joint.Transformer.Monadic.:> z)))), Pandora.Paradigm.Controlflow.Joint.Adaptable.Layable v (Pandora.Paradigm.Controlflow.Joint.Schematic.Schematic Pandora.Pattern.Functor.Monad.Monad w (x Pandora.Paradigm.Controlflow.Joint.Transformer.Monadic.:> (y Pandora.Paradigm.Controlflow.Joint.Transformer.Monadic.:> z))), Pandora.Paradigm.Controlflow.Joint.Adaptable.Layable w (Pandora.Paradigm.Controlflow.Joint.Schematic.Schematic Pandora.Pattern.Functor.Monad.Monad x (y Pandora.Paradigm.Controlflow.Joint.Transformer.Monadic.:> z)), Pandora.Paradigm.Controlflow.Joint.Adaptable.Layable x (Pandora.Paradigm.Controlflow.Joint.Schematic.Schematic Pandora.Pattern.Functor.Monad.Monad y z), Pandora.Paradigm.Controlflow.Joint.Adaptable.Wrappable y z) => Pandora.Paradigm.Controlflow.Joint.Adaptable.Adaptable y (t Pandora.Paradigm.Controlflow.Joint.Transformer.Monadic.:> (u Pandora.Paradigm.Controlflow.Joint.Transformer.Monadic.:> (v Pandora.Paradigm.Controlflow.Joint.Transformer.Monadic.:> (w Pandora.Paradigm.Controlflow.Joint.Transformer.Monadic.:> (x Pandora.Paradigm.Controlflow.Joint.Transformer.Monadic.:> (y Pandora.Paradigm.Controlflow.Joint.Transformer.Monadic.:> z))))))
+ Pandora.Paradigm.Controlflow.Joint.Adaptable: instance (Pandora.Pattern.Functor.Covariant.Covariant (t Pandora.Paradigm.Controlflow.Joint.Transformer.Monadic.:> (u Pandora.Paradigm.Controlflow.Joint.Transformer.Monadic.:> (v Pandora.Paradigm.Controlflow.Joint.Transformer.Monadic.:> (w Pandora.Paradigm.Controlflow.Joint.Transformer.Monadic.:> (x Pandora.Paradigm.Controlflow.Joint.Transformer.Monadic.:> y))))), Pandora.Paradigm.Controlflow.Joint.Adaptable.Layable t (Pandora.Paradigm.Controlflow.Joint.Schematic.Schematic Pandora.Pattern.Functor.Monad.Monad u (v Pandora.Paradigm.Controlflow.Joint.Transformer.Monadic.:> (w Pandora.Paradigm.Controlflow.Joint.Transformer.Monadic.:> (x Pandora.Paradigm.Controlflow.Joint.Transformer.Monadic.:> y)))), Pandora.Paradigm.Controlflow.Joint.Adaptable.Layable u (Pandora.Paradigm.Controlflow.Joint.Schematic.Schematic Pandora.Pattern.Functor.Monad.Monad v (w Pandora.Paradigm.Controlflow.Joint.Transformer.Monadic.:> (x Pandora.Paradigm.Controlflow.Joint.Transformer.Monadic.:> y))), Pandora.Paradigm.Controlflow.Joint.Adaptable.Layable v (Pandora.Paradigm.Controlflow.Joint.Schematic.Schematic Pandora.Pattern.Functor.Monad.Monad w (x Pandora.Paradigm.Controlflow.Joint.Transformer.Monadic.:> y)), Pandora.Paradigm.Controlflow.Joint.Adaptable.Layable w (Pandora.Paradigm.Controlflow.Joint.Schematic.Schematic Pandora.Pattern.Functor.Monad.Monad x y), Pandora.Paradigm.Controlflow.Joint.Adaptable.Layable x y) => Pandora.Paradigm.Controlflow.Joint.Adaptable.Adaptable y (t Pandora.Paradigm.Controlflow.Joint.Transformer.Monadic.:> (u Pandora.Paradigm.Controlflow.Joint.Transformer.Monadic.:> (v Pandora.Paradigm.Controlflow.Joint.Transformer.Monadic.:> (w Pandora.Paradigm.Controlflow.Joint.Transformer.Monadic.:> (x Pandora.Paradigm.Controlflow.Joint.Transformer.Monadic.:> y)))))
+ Pandora.Paradigm.Controlflow.Joint.Adaptable: instance (Pandora.Pattern.Functor.Covariant.Covariant (t Pandora.Paradigm.Controlflow.Joint.Transformer.Monadic.:> (u Pandora.Paradigm.Controlflow.Joint.Transformer.Monadic.:> (v Pandora.Paradigm.Controlflow.Joint.Transformer.Monadic.:> (w Pandora.Paradigm.Controlflow.Joint.Transformer.Monadic.:> (x Pandora.Paradigm.Controlflow.Joint.Transformer.Monadic.:> y))))), Pandora.Paradigm.Controlflow.Joint.Adaptable.Layable t (Pandora.Paradigm.Controlflow.Joint.Schematic.Schematic Pandora.Pattern.Functor.Monad.Monad u (v Pandora.Paradigm.Controlflow.Joint.Transformer.Monadic.:> (w Pandora.Paradigm.Controlflow.Joint.Transformer.Monadic.:> (x Pandora.Paradigm.Controlflow.Joint.Transformer.Monadic.:> y)))), Pandora.Paradigm.Controlflow.Joint.Adaptable.Layable u (Pandora.Paradigm.Controlflow.Joint.Schematic.Schematic Pandora.Pattern.Functor.Monad.Monad v (w Pandora.Paradigm.Controlflow.Joint.Transformer.Monadic.:> (x Pandora.Paradigm.Controlflow.Joint.Transformer.Monadic.:> y))), Pandora.Paradigm.Controlflow.Joint.Adaptable.Layable v (Pandora.Paradigm.Controlflow.Joint.Schematic.Schematic Pandora.Pattern.Functor.Monad.Monad w (x Pandora.Paradigm.Controlflow.Joint.Transformer.Monadic.:> y)), Pandora.Paradigm.Controlflow.Joint.Adaptable.Layable w (Pandora.Paradigm.Controlflow.Joint.Schematic.Schematic Pandora.Pattern.Functor.Monad.Monad x y), Pandora.Paradigm.Controlflow.Joint.Adaptable.Wrappable x y) => Pandora.Paradigm.Controlflow.Joint.Adaptable.Adaptable x (t Pandora.Paradigm.Controlflow.Joint.Transformer.Monadic.:> (u Pandora.Paradigm.Controlflow.Joint.Transformer.Monadic.:> (v Pandora.Paradigm.Controlflow.Joint.Transformer.Monadic.:> (w Pandora.Paradigm.Controlflow.Joint.Transformer.Monadic.:> (x Pandora.Paradigm.Controlflow.Joint.Transformer.Monadic.:> y)))))
+ Pandora.Paradigm.Controlflow.Joint.Adaptable: instance (Pandora.Pattern.Functor.Covariant.Covariant (t Pandora.Paradigm.Controlflow.Joint.Transformer.Monadic.:> (u Pandora.Paradigm.Controlflow.Joint.Transformer.Monadic.:> (v Pandora.Paradigm.Controlflow.Joint.Transformer.Monadic.:> (w Pandora.Paradigm.Controlflow.Joint.Transformer.Monadic.:> x)))), Pandora.Paradigm.Controlflow.Joint.Adaptable.Layable t (Pandora.Paradigm.Controlflow.Joint.Schematic.Schematic Pandora.Pattern.Functor.Monad.Monad u (v Pandora.Paradigm.Controlflow.Joint.Transformer.Monadic.:> (w Pandora.Paradigm.Controlflow.Joint.Transformer.Monadic.:> x))), Pandora.Paradigm.Controlflow.Joint.Adaptable.Layable u (Pandora.Paradigm.Controlflow.Joint.Schematic.Schematic Pandora.Pattern.Functor.Monad.Monad v (w Pandora.Paradigm.Controlflow.Joint.Transformer.Monadic.:> x)), Pandora.Paradigm.Controlflow.Joint.Adaptable.Layable v (Pandora.Paradigm.Controlflow.Joint.Schematic.Schematic Pandora.Pattern.Functor.Monad.Monad w x), Pandora.Paradigm.Controlflow.Joint.Adaptable.Layable w x) => Pandora.Paradigm.Controlflow.Joint.Adaptable.Adaptable x (t Pandora.Paradigm.Controlflow.Joint.Transformer.Monadic.:> (u Pandora.Paradigm.Controlflow.Joint.Transformer.Monadic.:> (v Pandora.Paradigm.Controlflow.Joint.Transformer.Monadic.:> (w Pandora.Paradigm.Controlflow.Joint.Transformer.Monadic.:> x))))
+ Pandora.Paradigm.Controlflow.Joint.Adaptable: instance (Pandora.Pattern.Functor.Covariant.Covariant (t Pandora.Paradigm.Controlflow.Joint.Transformer.Monadic.:> (u Pandora.Paradigm.Controlflow.Joint.Transformer.Monadic.:> (v Pandora.Paradigm.Controlflow.Joint.Transformer.Monadic.:> (w Pandora.Paradigm.Controlflow.Joint.Transformer.Monadic.:> x)))), Pandora.Paradigm.Controlflow.Joint.Adaptable.Layable t (Pandora.Paradigm.Controlflow.Joint.Schematic.Schematic Pandora.Pattern.Functor.Monad.Monad u (v Pandora.Paradigm.Controlflow.Joint.Transformer.Monadic.:> (w Pandora.Paradigm.Controlflow.Joint.Transformer.Monadic.:> x))), Pandora.Paradigm.Controlflow.Joint.Adaptable.Layable u (Pandora.Paradigm.Controlflow.Joint.Schematic.Schematic Pandora.Pattern.Functor.Monad.Monad v (w Pandora.Paradigm.Controlflow.Joint.Transformer.Monadic.:> x)), Pandora.Paradigm.Controlflow.Joint.Adaptable.Layable v (Pandora.Paradigm.Controlflow.Joint.Schematic.Schematic Pandora.Pattern.Functor.Monad.Monad w x), Pandora.Paradigm.Controlflow.Joint.Adaptable.Wrappable w x) => Pandora.Paradigm.Controlflow.Joint.Adaptable.Adaptable w (t Pandora.Paradigm.Controlflow.Joint.Transformer.Monadic.:> (u Pandora.Paradigm.Controlflow.Joint.Transformer.Monadic.:> (v Pandora.Paradigm.Controlflow.Joint.Transformer.Monadic.:> (w Pandora.Paradigm.Controlflow.Joint.Transformer.Monadic.:> x))))
+ Pandora.Paradigm.Controlflow.Joint.Adaptable: instance (Pandora.Pattern.Functor.Covariant.Covariant (t Pandora.Paradigm.Controlflow.Joint.Transformer.Monadic.:> (u Pandora.Paradigm.Controlflow.Joint.Transformer.Monadic.:> (v Pandora.Paradigm.Controlflow.Joint.Transformer.Monadic.:> w))), Pandora.Paradigm.Controlflow.Joint.Adaptable.Layable t (Pandora.Paradigm.Controlflow.Joint.Schematic.Schematic Pandora.Pattern.Functor.Monad.Monad u (v Pandora.Paradigm.Controlflow.Joint.Transformer.Monadic.:> w)), Pandora.Paradigm.Controlflow.Joint.Adaptable.Layable u (Pandora.Paradigm.Controlflow.Joint.Schematic.Schematic Pandora.Pattern.Functor.Monad.Monad v w), Pandora.Paradigm.Controlflow.Joint.Adaptable.Wrappable v w) => Pandora.Paradigm.Controlflow.Joint.Adaptable.Adaptable v (t Pandora.Paradigm.Controlflow.Joint.Transformer.Monadic.:> (u Pandora.Paradigm.Controlflow.Joint.Transformer.Monadic.:> (v Pandora.Paradigm.Controlflow.Joint.Transformer.Monadic.:> w)))
+ Pandora.Paradigm.Controlflow.Joint.Adaptable: instance (Pandora.Pattern.Functor.Covariant.Covariant (t Pandora.Paradigm.Controlflow.Joint.Transformer.Monadic.:> (u Pandora.Paradigm.Controlflow.Joint.Transformer.Monadic.:> (v Pandora.Paradigm.Controlflow.Joint.Transformer.Monadic.:> w))), Pandora.Paradigm.Controlflow.Joint.Adaptable.Layable t (Pandora.Paradigm.Controlflow.Joint.Schematic.Schematic Pandora.Pattern.Functor.Monad.Monad u v), Pandora.Paradigm.Controlflow.Joint.Adaptable.Layable t (Pandora.Paradigm.Controlflow.Joint.Schematic.Schematic Pandora.Pattern.Functor.Monad.Monad u (v Pandora.Paradigm.Controlflow.Joint.Transformer.Monadic.:> w)), Pandora.Paradigm.Controlflow.Joint.Adaptable.Layable u (Pandora.Paradigm.Controlflow.Joint.Schematic.Schematic Pandora.Pattern.Functor.Monad.Monad v w), Pandora.Paradigm.Controlflow.Joint.Adaptable.Layable v w) => Pandora.Paradigm.Controlflow.Joint.Adaptable.Adaptable w (t Pandora.Paradigm.Controlflow.Joint.Transformer.Monadic.:> (u Pandora.Paradigm.Controlflow.Joint.Transformer.Monadic.:> (v Pandora.Paradigm.Controlflow.Joint.Transformer.Monadic.:> w)))
+ Pandora.Paradigm.Controlflow.Joint.Adaptable: instance (Pandora.Pattern.Functor.Covariant.Covariant (t Pandora.Paradigm.Controlflow.Joint.Transformer.Monadic.:> (u Pandora.Paradigm.Controlflow.Joint.Transformer.Monadic.:> v)), Pandora.Paradigm.Controlflow.Joint.Adaptable.Layable t (Pandora.Paradigm.Controlflow.Joint.Schematic.Schematic Pandora.Pattern.Functor.Monad.Monad u v), Pandora.Paradigm.Controlflow.Joint.Adaptable.Layable u v) => Pandora.Paradigm.Controlflow.Joint.Adaptable.Adaptable v (t Pandora.Paradigm.Controlflow.Joint.Transformer.Monadic.:> (u Pandora.Paradigm.Controlflow.Joint.Transformer.Monadic.:> v))
+ Pandora.Paradigm.Controlflow.Joint.Adaptable: instance (Pandora.Pattern.Functor.Covariant.Covariant (t Pandora.Paradigm.Controlflow.Joint.Transformer.Monadic.:> (u Pandora.Paradigm.Controlflow.Joint.Transformer.Monadic.:> v)), Pandora.Paradigm.Controlflow.Joint.Adaptable.Layable t (Pandora.Paradigm.Controlflow.Joint.Schematic.Schematic Pandora.Pattern.Functor.Monad.Monad u v), Pandora.Paradigm.Controlflow.Joint.Adaptable.Wrappable u v) => Pandora.Paradigm.Controlflow.Joint.Adaptable.Adaptable u (t Pandora.Paradigm.Controlflow.Joint.Transformer.Monadic.:> (u Pandora.Paradigm.Controlflow.Joint.Transformer.Monadic.:> v))
+ Pandora.Paradigm.Controlflow.Joint.Adaptable: instance (Pandora.Pattern.Functor.Covariant.Covariant (t Pandora.Paradigm.Controlflow.Joint.Transformer.Monadic.:> u), Pandora.Paradigm.Controlflow.Joint.Adaptable.Layable t u) => Pandora.Paradigm.Controlflow.Joint.Adaptable.Adaptable u (t Pandora.Paradigm.Controlflow.Joint.Transformer.Monadic.:> u)
+ Pandora.Paradigm.Controlflow.Joint.Adaptable: instance (Pandora.Pattern.Functor.Covariant.Covariant (t Pandora.Paradigm.Controlflow.Joint.Transformer.Monadic.:> u), Pandora.Paradigm.Controlflow.Joint.Adaptable.Wrappable t u) => Pandora.Paradigm.Controlflow.Joint.Adaptable.Adaptable t (t Pandora.Paradigm.Controlflow.Joint.Transformer.Monadic.:> u)
+ Pandora.Paradigm.Controlflow.Joint.Adaptable: instance Pandora.Pattern.Functor.Covariant.Covariant t => Pandora.Paradigm.Controlflow.Joint.Adaptable.Adaptable t t
+ Pandora.Paradigm.Controlflow.Joint.Schematic: type family Schematic (c :: (* -> *) -> k) (t :: * -> *) (u :: * -> *) = (r :: * -> *) | r -> t u
+ Pandora.Paradigm.Controlflow.Joint.Transformer.Comonadic: TC :: Schematic Comonad t u a -> (:<) t u a
+ Pandora.Paradigm.Controlflow.Joint.Transformer.Comonadic: [tc] :: (:<) t u a -> Schematic Comonad t u a
+ Pandora.Paradigm.Controlflow.Joint.Transformer.Comonadic: bring :: (Comonadic t, Extractable u) => (t :< u) ~> t
+ Pandora.Paradigm.Controlflow.Joint.Transformer.Comonadic: class Interpreted t => Comonadic t
+ Pandora.Paradigm.Controlflow.Joint.Transformer.Comonadic: flick :: (Comonadic t, Covariant u) => (t :< u) ~> u
+ Pandora.Paradigm.Controlflow.Joint.Transformer.Comonadic: infixr 3 :<
+ Pandora.Paradigm.Controlflow.Joint.Transformer.Comonadic: instance Pandora.Paradigm.Controlflow.Joint.Interpreted.Interpreted (Pandora.Paradigm.Controlflow.Joint.Schematic.Schematic Pandora.Pattern.Functor.Comonad.Comonad t u) => Pandora.Paradigm.Controlflow.Joint.Interpreted.Interpreted (t Pandora.Paradigm.Controlflow.Joint.Transformer.Comonadic.:< u)
+ Pandora.Paradigm.Controlflow.Joint.Transformer.Comonadic: instance Pandora.Pattern.Functor.Alternative.Alternative (Pandora.Paradigm.Controlflow.Joint.Schematic.Schematic Pandora.Pattern.Functor.Comonad.Comonad t u) => Pandora.Pattern.Functor.Alternative.Alternative (t Pandora.Paradigm.Controlflow.Joint.Transformer.Comonadic.:< u)
+ Pandora.Paradigm.Controlflow.Joint.Transformer.Comonadic: instance Pandora.Pattern.Functor.Applicative.Applicative (Pandora.Paradigm.Controlflow.Joint.Schematic.Schematic Pandora.Pattern.Functor.Comonad.Comonad t u) => Pandora.Pattern.Functor.Applicative.Applicative (t Pandora.Paradigm.Controlflow.Joint.Transformer.Comonadic.:< u)
+ Pandora.Paradigm.Controlflow.Joint.Transformer.Comonadic: instance Pandora.Pattern.Functor.Bindable.Bindable (Pandora.Paradigm.Controlflow.Joint.Schematic.Schematic Pandora.Pattern.Functor.Comonad.Comonad t u) => Pandora.Pattern.Functor.Bindable.Bindable (t Pandora.Paradigm.Controlflow.Joint.Transformer.Comonadic.:< u)
+ Pandora.Paradigm.Controlflow.Joint.Transformer.Comonadic: instance Pandora.Pattern.Functor.Covariant.Covariant (Pandora.Paradigm.Controlflow.Joint.Schematic.Schematic Pandora.Pattern.Functor.Comonad.Comonad t u) => Pandora.Pattern.Functor.Covariant.Covariant (t Pandora.Paradigm.Controlflow.Joint.Transformer.Comonadic.:< u)
+ Pandora.Paradigm.Controlflow.Joint.Transformer.Comonadic: instance Pandora.Pattern.Functor.Distributive.Distributive (Pandora.Paradigm.Controlflow.Joint.Schematic.Schematic Pandora.Pattern.Functor.Comonad.Comonad t u) => Pandora.Pattern.Functor.Distributive.Distributive (t Pandora.Paradigm.Controlflow.Joint.Transformer.Comonadic.:< u)
+ Pandora.Paradigm.Controlflow.Joint.Transformer.Comonadic: instance Pandora.Pattern.Functor.Extendable.Extendable (Pandora.Paradigm.Controlflow.Joint.Schematic.Schematic Pandora.Pattern.Functor.Comonad.Comonad t u) => Pandora.Pattern.Functor.Extendable.Extendable (t Pandora.Paradigm.Controlflow.Joint.Transformer.Comonadic.:< u)
+ Pandora.Paradigm.Controlflow.Joint.Transformer.Comonadic: instance Pandora.Pattern.Functor.Extractable.Extractable (Pandora.Paradigm.Controlflow.Joint.Schematic.Schematic Pandora.Pattern.Functor.Comonad.Comonad t u) => Pandora.Pattern.Functor.Extractable.Extractable (t Pandora.Paradigm.Controlflow.Joint.Transformer.Comonadic.:< u)
+ Pandora.Paradigm.Controlflow.Joint.Transformer.Comonadic: instance Pandora.Pattern.Functor.Pointable.Pointable (Pandora.Paradigm.Controlflow.Joint.Schematic.Schematic Pandora.Pattern.Functor.Comonad.Comonad t u) => Pandora.Pattern.Functor.Pointable.Pointable (t Pandora.Paradigm.Controlflow.Joint.Transformer.Comonadic.:< u)
+ Pandora.Paradigm.Controlflow.Joint.Transformer.Comonadic: instance Pandora.Pattern.Functor.Traversable.Traversable (Pandora.Paradigm.Controlflow.Joint.Schematic.Schematic Pandora.Pattern.Functor.Comonad.Comonad t u) => Pandora.Pattern.Functor.Traversable.Traversable (t Pandora.Paradigm.Controlflow.Joint.Transformer.Comonadic.:< u)
+ Pandora.Paradigm.Controlflow.Joint.Transformer.Comonadic: newtype (:<) t u a
+ Pandora.Paradigm.Controlflow.Joint.Transformer.Monadic: TM :: Schematic Monad t u a -> (:>) t u a
+ Pandora.Paradigm.Controlflow.Joint.Transformer.Monadic: [tm] :: (:>) t u a -> Schematic Monad t u a
+ Pandora.Paradigm.Controlflow.Joint.Transformer.Monadic: class Interpreted t => Monadic t
+ Pandora.Paradigm.Controlflow.Joint.Transformer.Monadic: infixr 3 :>
+ Pandora.Paradigm.Controlflow.Joint.Transformer.Monadic: instance Pandora.Paradigm.Controlflow.Joint.Interpreted.Interpreted (Pandora.Paradigm.Controlflow.Joint.Schematic.Schematic Pandora.Pattern.Functor.Monad.Monad t u) => Pandora.Paradigm.Controlflow.Joint.Interpreted.Interpreted (t Pandora.Paradigm.Controlflow.Joint.Transformer.Monadic.:> u)
+ Pandora.Paradigm.Controlflow.Joint.Transformer.Monadic: instance Pandora.Pattern.Functor.Alternative.Alternative (Pandora.Paradigm.Controlflow.Joint.Schematic.Schematic Pandora.Pattern.Functor.Monad.Monad t u) => Pandora.Pattern.Functor.Alternative.Alternative (t Pandora.Paradigm.Controlflow.Joint.Transformer.Monadic.:> u)
+ Pandora.Paradigm.Controlflow.Joint.Transformer.Monadic: instance Pandora.Pattern.Functor.Applicative.Applicative (Pandora.Paradigm.Controlflow.Joint.Schematic.Schematic Pandora.Pattern.Functor.Monad.Monad t u) => Pandora.Pattern.Functor.Applicative.Applicative (t Pandora.Paradigm.Controlflow.Joint.Transformer.Monadic.:> u)
+ Pandora.Paradigm.Controlflow.Joint.Transformer.Monadic: instance Pandora.Pattern.Functor.Bindable.Bindable (Pandora.Paradigm.Controlflow.Joint.Schematic.Schematic Pandora.Pattern.Functor.Monad.Monad t u) => Pandora.Pattern.Functor.Bindable.Bindable (t Pandora.Paradigm.Controlflow.Joint.Transformer.Monadic.:> u)
+ Pandora.Paradigm.Controlflow.Joint.Transformer.Monadic: instance Pandora.Pattern.Functor.Covariant.Covariant (Pandora.Paradigm.Controlflow.Joint.Schematic.Schematic Pandora.Pattern.Functor.Monad.Monad t u) => Pandora.Pattern.Functor.Covariant.Covariant (t Pandora.Paradigm.Controlflow.Joint.Transformer.Monadic.:> u)
+ Pandora.Paradigm.Controlflow.Joint.Transformer.Monadic: instance Pandora.Pattern.Functor.Distributive.Distributive (Pandora.Paradigm.Controlflow.Joint.Schematic.Schematic Pandora.Pattern.Functor.Monad.Monad t u) => Pandora.Pattern.Functor.Distributive.Distributive (t Pandora.Paradigm.Controlflow.Joint.Transformer.Monadic.:> u)
+ Pandora.Paradigm.Controlflow.Joint.Transformer.Monadic: instance Pandora.Pattern.Functor.Extendable.Extendable (Pandora.Paradigm.Controlflow.Joint.Schematic.Schematic Pandora.Pattern.Functor.Monad.Monad t u) => Pandora.Pattern.Functor.Extendable.Extendable (t Pandora.Paradigm.Controlflow.Joint.Transformer.Monadic.:> u)
+ Pandora.Paradigm.Controlflow.Joint.Transformer.Monadic: instance Pandora.Pattern.Functor.Extractable.Extractable (Pandora.Paradigm.Controlflow.Joint.Schematic.Schematic Pandora.Pattern.Functor.Monad.Monad t u) => Pandora.Pattern.Functor.Extractable.Extractable (t Pandora.Paradigm.Controlflow.Joint.Transformer.Monadic.:> u)
+ Pandora.Paradigm.Controlflow.Joint.Transformer.Monadic: instance Pandora.Pattern.Functor.Pointable.Pointable (Pandora.Paradigm.Controlflow.Joint.Schematic.Schematic Pandora.Pattern.Functor.Monad.Monad t u) => Pandora.Pattern.Functor.Pointable.Pointable (t Pandora.Paradigm.Controlflow.Joint.Transformer.Monadic.:> u)
+ Pandora.Paradigm.Controlflow.Joint.Transformer.Monadic: instance Pandora.Pattern.Functor.Traversable.Traversable (Pandora.Paradigm.Controlflow.Joint.Schematic.Schematic Pandora.Pattern.Functor.Monad.Monad t u) => Pandora.Pattern.Functor.Traversable.Traversable (t Pandora.Paradigm.Controlflow.Joint.Transformer.Monadic.:> u)
+ Pandora.Paradigm.Controlflow.Joint.Transformer.Monadic: lay :: (Monadic t, Covariant u) => u ~> (t :> u)
+ Pandora.Paradigm.Controlflow.Joint.Transformer.Monadic: newtype (:>) t u a
+ Pandora.Paradigm.Controlflow.Joint.Transformer.Monadic: wrap :: (Monadic t, Pointable u) => t ~> (t :> u)
+ Pandora.Paradigm.Inventory.Accumulator: instance (Pandora.Pattern.Functor.Pointable.Pointable u, Pandora.Pattern.Object.Monoid.Monoid e) => Pandora.Pattern.Functor.Pointable.Pointable (Pandora.Paradigm.Controlflow.Joint.Schemes.UT.UT Pandora.Pattern.Functor.Covariant.Covariant Pandora.Pattern.Functor.Covariant.Covariant ((Pandora.Paradigm.Basis.Product.:*:) e) u)
+ Pandora.Paradigm.Inventory.Accumulator: instance (Pandora.Pattern.Object.Semigroup.Semigroup e, Pandora.Pattern.Functor.Applicative.Applicative u) => Pandora.Pattern.Functor.Applicative.Applicative (Pandora.Paradigm.Controlflow.Joint.Schemes.UT.UT Pandora.Pattern.Functor.Covariant.Covariant Pandora.Pattern.Functor.Covariant.Covariant ((Pandora.Paradigm.Basis.Product.:*:) e) u)
+ Pandora.Paradigm.Inventory.Accumulator: instance (Pandora.Pattern.Object.Semigroup.Semigroup e, Pandora.Pattern.Functor.Pointable.Pointable u, Pandora.Pattern.Functor.Bindable.Bindable u) => Pandora.Pattern.Functor.Bindable.Bindable (Pandora.Paradigm.Controlflow.Joint.Schemes.UT.UT Pandora.Pattern.Functor.Covariant.Covariant Pandora.Pattern.Functor.Covariant.Covariant ((Pandora.Paradigm.Basis.Product.:*:) e) u)
+ Pandora.Paradigm.Inventory.Accumulator: instance Pandora.Pattern.Functor.Covariant.Covariant u => Pandora.Pattern.Functor.Covariant.Covariant (Pandora.Paradigm.Controlflow.Joint.Schemes.UT.UT Pandora.Pattern.Functor.Covariant.Covariant Pandora.Pattern.Functor.Covariant.Covariant ((Pandora.Paradigm.Basis.Product.:*:) e) u)
+ Pandora.Paradigm.Inventory.Accumulator: instance Pandora.Pattern.Object.Monoid.Monoid e => Pandora.Paradigm.Controlflow.Joint.Transformer.Monadic.Monadic (Pandora.Paradigm.Inventory.Accumulator.Accumulator e)
+ Pandora.Paradigm.Inventory.Environment: instance (Pandora.Pattern.Functor.Covariant.Covariant u, Pandora.Pattern.Functor.Pointable.Pointable u) => Pandora.Pattern.Functor.Pointable.Pointable (Pandora.Paradigm.Controlflow.Joint.Schemes.TU.TU Pandora.Pattern.Functor.Covariant.Covariant Pandora.Pattern.Functor.Covariant.Covariant ((->) e) u)
+ Pandora.Paradigm.Inventory.Environment: instance Pandora.Paradigm.Controlflow.Joint.Transformer.Monadic.Monadic (Pandora.Paradigm.Inventory.Environment.Environment e)
+ Pandora.Paradigm.Inventory.Environment: instance Pandora.Pattern.Functor.Applicative.Applicative u => Pandora.Pattern.Functor.Applicative.Applicative (Pandora.Paradigm.Controlflow.Joint.Schemes.TU.TU Pandora.Pattern.Functor.Covariant.Covariant Pandora.Pattern.Functor.Covariant.Covariant ((->) e) u)
+ Pandora.Paradigm.Inventory.Environment: instance Pandora.Pattern.Functor.Bindable.Bindable u => Pandora.Pattern.Functor.Bindable.Bindable (Pandora.Paradigm.Controlflow.Joint.Schemes.TU.TU Pandora.Pattern.Functor.Covariant.Covariant Pandora.Pattern.Functor.Covariant.Covariant ((->) e) u)
+ Pandora.Paradigm.Inventory.Environment: instance Pandora.Pattern.Functor.Covariant.Covariant u => Pandora.Pattern.Functor.Covariant.Covariant (Pandora.Paradigm.Controlflow.Joint.Schemes.TU.TU Pandora.Pattern.Functor.Covariant.Covariant Pandora.Pattern.Functor.Covariant.Covariant ((->) e) u)
+ Pandora.Paradigm.Inventory.Optics: instance Pandora.Pattern.Functor.Adjoint.Adjoint (Pandora.Paradigm.Inventory.Store.Store s) (Pandora.Paradigm.Inventory.State.State s)
+ Pandora.Paradigm.Inventory.State: instance Pandora.Paradigm.Controlflow.Joint.Transformer.Monadic.Monadic (Pandora.Paradigm.Inventory.State.State s)
+ Pandora.Paradigm.Inventory.State: instance Pandora.Pattern.Functor.Bindable.Bindable u => Pandora.Pattern.Functor.Applicative.Applicative (Pandora.Paradigm.Controlflow.Joint.Schemes.TUV.TUV Pandora.Pattern.Functor.Covariant.Covariant Pandora.Pattern.Functor.Covariant.Covariant Pandora.Pattern.Functor.Covariant.Covariant ((->) s) u ((Pandora.Paradigm.Basis.Product.:*:) s))
+ Pandora.Paradigm.Inventory.State: instance Pandora.Pattern.Functor.Bindable.Bindable u => Pandora.Pattern.Functor.Bindable.Bindable (Pandora.Paradigm.Controlflow.Joint.Schemes.TUV.TUV Pandora.Pattern.Functor.Covariant.Covariant Pandora.Pattern.Functor.Covariant.Covariant Pandora.Pattern.Functor.Covariant.Covariant ((->) s) u ((Pandora.Paradigm.Basis.Product.:*:) s))
+ Pandora.Paradigm.Inventory.State: instance Pandora.Pattern.Functor.Covariant.Covariant u => Pandora.Pattern.Functor.Covariant.Covariant (Pandora.Paradigm.Controlflow.Joint.Schemes.TUV.TUV Pandora.Pattern.Functor.Covariant.Covariant Pandora.Pattern.Functor.Covariant.Covariant Pandora.Pattern.Functor.Covariant.Covariant ((->) s) u ((Pandora.Paradigm.Basis.Product.:*:) s))
+ Pandora.Paradigm.Inventory.State: instance Pandora.Pattern.Functor.Monad.Monad u => Pandora.Pattern.Functor.Monad.Monad (Pandora.Paradigm.Controlflow.Joint.Schemes.TUV.TUV Pandora.Pattern.Functor.Covariant.Covariant Pandora.Pattern.Functor.Covariant.Covariant Pandora.Pattern.Functor.Covariant.Covariant ((->) s) u ((Pandora.Paradigm.Basis.Product.:*:) s))
+ Pandora.Paradigm.Inventory.State: instance Pandora.Pattern.Functor.Pointable.Pointable u => Pandora.Pattern.Functor.Pointable.Pointable (Pandora.Paradigm.Controlflow.Joint.Schemes.TUV.TUV Pandora.Pattern.Functor.Covariant.Covariant Pandora.Pattern.Functor.Covariant.Covariant Pandora.Pattern.Functor.Covariant.Covariant ((->) s) u ((Pandora.Paradigm.Basis.Product.:*:) s))
+ Pandora.Paradigm.Inventory.Store: Store :: (((:*:) p :. (->) p) := a) -> Store p a
+ Pandora.Paradigm.Inventory.Store: access :: p -> a <-| Store p
+ Pandora.Paradigm.Inventory.Store: instance Pandora.Paradigm.Controlflow.Joint.Interpreted.Interpreted (Pandora.Paradigm.Inventory.Store.Store p)
+ Pandora.Paradigm.Inventory.Store: instance Pandora.Paradigm.Controlflow.Joint.Transformer.Comonadic.Comonadic (Pandora.Paradigm.Inventory.Store.Store p)
+ Pandora.Paradigm.Inventory.Store: instance Pandora.Pattern.Functor.Comonad.Comonad (Pandora.Paradigm.Inventory.Store.Store p)
+ Pandora.Paradigm.Inventory.Store: instance Pandora.Pattern.Functor.Covariant.Covariant (Pandora.Paradigm.Inventory.Store.Store p)
+ Pandora.Paradigm.Inventory.Store: instance Pandora.Pattern.Functor.Covariant.Covariant u => Pandora.Pattern.Functor.Covariant.Covariant (Pandora.Paradigm.Controlflow.Joint.Schemes.TUV.TUV Pandora.Pattern.Functor.Covariant.Covariant Pandora.Pattern.Functor.Covariant.Covariant Pandora.Pattern.Functor.Covariant.Covariant ((Pandora.Paradigm.Basis.Product.:*:) p) u ((->) p))
+ Pandora.Paradigm.Inventory.Store: instance Pandora.Pattern.Functor.Extendable.Extendable (Pandora.Paradigm.Inventory.Store.Store p)
+ Pandora.Paradigm.Inventory.Store: instance Pandora.Pattern.Functor.Extendable.Extendable u => Pandora.Pattern.Functor.Extendable.Extendable (Pandora.Paradigm.Controlflow.Joint.Schemes.TUV.TUV Pandora.Pattern.Functor.Covariant.Covariant Pandora.Pattern.Functor.Covariant.Covariant Pandora.Pattern.Functor.Covariant.Covariant ((Pandora.Paradigm.Basis.Product.:*:) p) u ((->) p))
+ Pandora.Paradigm.Inventory.Store: instance Pandora.Pattern.Functor.Extractable.Extractable (Pandora.Paradigm.Inventory.Store.Store p)
+ Pandora.Paradigm.Inventory.Store: instance Pandora.Pattern.Functor.Extractable.Extractable u => Pandora.Pattern.Functor.Extractable.Extractable (Pandora.Paradigm.Controlflow.Joint.Schemes.TUV.TUV Pandora.Pattern.Functor.Covariant.Covariant Pandora.Pattern.Functor.Covariant.Covariant Pandora.Pattern.Functor.Covariant.Covariant ((Pandora.Paradigm.Basis.Product.:*:) p) u ((->) p))
+ Pandora.Paradigm.Inventory.Store: newtype Store p a
+ Pandora.Paradigm.Inventory.Store: position :: Store p a -> p
+ Pandora.Paradigm.Inventory.Store: retrofit :: (p -> p) -> Store p ~> Store p
+ Pandora.Paradigm.Structure.Specific.Graph: instance Pandora.Pattern.Functor.Covariant.Covariant (Pandora.Paradigm.Controlflow.Joint.Schemes.UT.UT Pandora.Pattern.Functor.Covariant.Covariant Pandora.Pattern.Functor.Covariant.Covariant (Pandora.Paradigm.Basis.Twister.Twister Pandora.Paradigm.Basis.Edges.Edges) Pandora.Paradigm.Basis.Edges.Edges)
+ Pandora.Paradigm.Structure.Specific.Graph: instance Pandora.Pattern.Functor.Traversable.Traversable (Pandora.Paradigm.Controlflow.Joint.Schemes.UT.UT Pandora.Pattern.Functor.Covariant.Covariant Pandora.Pattern.Functor.Covariant.Covariant (Pandora.Paradigm.Basis.Twister.Twister Pandora.Paradigm.Basis.Edges.Edges) Pandora.Paradigm.Basis.Edges.Edges)
+ Pandora.Paradigm.Structure.Specific.Graph: type Graph = UT Covariant Covariant (Twister Edges) Edges
+ Pandora.Paradigm.Structure.Specific.Stack: instance Pandora.Pattern.Functor.Alternative.Alternative (Pandora.Paradigm.Controlflow.Joint.Schemes.UT.UT Pandora.Pattern.Functor.Covariant.Covariant Pandora.Pattern.Functor.Covariant.Covariant (Pandora.Paradigm.Basis.Twister.Twister Pandora.Paradigm.Basis.Maybe.Maybe) Pandora.Paradigm.Basis.Maybe.Maybe)
+ Pandora.Paradigm.Structure.Specific.Stack: instance Pandora.Pattern.Functor.Applicative.Applicative (Pandora.Paradigm.Controlflow.Joint.Schemes.UT.UT Pandora.Pattern.Functor.Covariant.Covariant Pandora.Pattern.Functor.Covariant.Covariant (Pandora.Paradigm.Basis.Twister.Twister Pandora.Paradigm.Basis.Maybe.Maybe) Pandora.Paradigm.Basis.Maybe.Maybe)
+ Pandora.Paradigm.Structure.Specific.Stack: instance Pandora.Pattern.Functor.Avoidable.Avoidable (Pandora.Paradigm.Controlflow.Joint.Schemes.UT.UT Pandora.Pattern.Functor.Covariant.Covariant Pandora.Pattern.Functor.Covariant.Covariant (Pandora.Paradigm.Basis.Twister.Twister Pandora.Paradigm.Basis.Maybe.Maybe) Pandora.Paradigm.Basis.Maybe.Maybe)
+ Pandora.Paradigm.Structure.Specific.Stack: instance Pandora.Pattern.Functor.Covariant.Covariant (Pandora.Paradigm.Controlflow.Joint.Schemes.UT.UT Pandora.Pattern.Functor.Covariant.Covariant Pandora.Pattern.Functor.Covariant.Covariant (Pandora.Paradigm.Basis.Twister.Twister Pandora.Paradigm.Basis.Maybe.Maybe) Pandora.Paradigm.Basis.Maybe.Maybe)
+ Pandora.Paradigm.Structure.Specific.Stack: instance Pandora.Pattern.Functor.Pointable.Pointable (Pandora.Paradigm.Controlflow.Joint.Schemes.UT.UT Pandora.Pattern.Functor.Covariant.Covariant Pandora.Pattern.Functor.Covariant.Covariant (Pandora.Paradigm.Basis.Twister.Twister Pandora.Paradigm.Basis.Maybe.Maybe) Pandora.Paradigm.Basis.Maybe.Maybe)
+ Pandora.Paradigm.Structure.Specific.Stack: instance Pandora.Pattern.Functor.Traversable.Traversable (Pandora.Paradigm.Controlflow.Joint.Schemes.UT.UT Pandora.Pattern.Functor.Covariant.Covariant Pandora.Pattern.Functor.Covariant.Covariant (Pandora.Paradigm.Basis.Twister.Twister Pandora.Paradigm.Basis.Maybe.Maybe) Pandora.Paradigm.Basis.Maybe.Maybe)
+ Pandora.Paradigm.Structure.Specific.Stack: type Stack = UT Covariant Covariant (Twister Maybe) Maybe
+ Pandora.Pattern.Category: (.) :: Category m => m b c -> m a b -> m a c
+ Pandora.Pattern.Category: class Category (m :: * -> * -> *)
+ Pandora.Pattern.Category: identity :: Category m => m a a
+ Pandora.Pattern.Category: infixr 8 .
+ Pandora.Pattern.Category: instance Pandora.Pattern.Category.Category (->)
- Pandora.Paradigm.Basis.Conclusion: fail :: (e -> r) -> Conclusion e a -> Conclusion r a
+ Pandora.Paradigm.Basis.Conclusion: fail :: (e -> r) -> Conclusion e ~> Conclusion r
- Pandora.Paradigm.Basis.Conclusion: failure :: (Covariant t, Failable e t) => e -> t a
+ Pandora.Paradigm.Basis.Conclusion: failure :: Failable e t => e -> t a
- Pandora.Paradigm.Basis.Maybe: nothing :: (Covariant t, Optional t) => t a
+ Pandora.Paradigm.Basis.Maybe: nothing :: Optional t => t a
- Pandora.Paradigm.Basis.Twister: coiterate :: Covariant t => (a |-> t) -> a -> Twister t a
+ Pandora.Paradigm.Basis.Twister: coiterate :: Covariant t => (a |-> t) -> a |-> Twister t
- Pandora.Paradigm.Controlflow.Joint.Adaptable: adapt :: Adaptable eff schema => eff ~> schema
+ Pandora.Paradigm.Controlflow.Joint.Adaptable: adapt :: Adaptable t u => t ~> u
- Pandora.Paradigm.Controlflow.Joint.Adaptable: class Adaptable eff schema
+ Pandora.Paradigm.Controlflow.Joint.Adaptable: class Covariant u => Adaptable t u
- Pandora.Paradigm.Controlflow.Joint.Transformer: type family Schema (t :: * -> *) (u :: * -> *) = (r :: * -> *) | r -> t u;
+ Pandora.Paradigm.Controlflow.Joint.Transformer: type family Transformer c t
- Pandora.Paradigm.Inventory.Accumulator: gather :: (Covariant t, Accumulated e t) => e -> t ()
+ Pandora.Paradigm.Inventory.Accumulator: gather :: Accumulated e t => e -> t ()
- Pandora.Paradigm.Inventory.Environment: env :: (Covariant t, Configured e t) => t e
+ Pandora.Paradigm.Inventory.Environment: env :: Configured e t => t e
- Pandora.Paradigm.Inventory.Optics: type Lens src tgt = src -> Storage tgt src
+ Pandora.Paradigm.Inventory.Optics: type Lens src tgt = src -> Store tgt src
- Pandora.Paradigm.Inventory.State: current :: (Covariant t, Stateful s t) => t s
+ Pandora.Paradigm.Inventory.State: current :: Stateful s t => t s
- Pandora.Paradigm.Inventory.State: modify :: (Covariant t, Stateful s t) => (s -> s) -> t ()
+ Pandora.Paradigm.Inventory.State: modify :: Stateful s t => (s -> s) -> t ()
- Pandora.Paradigm.Inventory.State: replace :: (Covariant t, Stateful s t) => s -> t ()
+ Pandora.Paradigm.Inventory.State: replace :: Stateful s t => s -> t ()
- Pandora.Pattern.Functor.Divariant: ($) :: Divariant t => t a b -> t a b
+ Pandora.Pattern.Functor.Divariant: ($) :: Divariant v => v a b -> v a b
- Pandora.Pattern.Functor.Divariant: (>->) :: Divariant t => (a -> b) -> (c -> d) -> t b c -> t a d
+ Pandora.Pattern.Functor.Divariant: (>->) :: Divariant v => v a b -> v c d -> v b c -> v a d
- Pandora.Pattern.Functor.Divariant: class (forall a. Covariant (t a)) => Divariant (t :: * -> * -> *)
+ Pandora.Pattern.Functor.Divariant: class Divariant (v :: * -> * -> *)
- Pandora.Pattern.Functor.Divariant: dimap :: Divariant t => (a -> b) -> (c -> d) -> t b c -> t a d
+ Pandora.Pattern.Functor.Divariant: dimap :: Divariant v => v a b -> v c d -> v b c -> v a d

Files

CHANGELOG.md view
@@ -142,3 +142,15 @@ * Remove `statefully` in favor of `Interpreted` instance for `State`  # 0.2.3+* Define `Category` type class with `identity` and `.` methods+* Change `>->` signature: `a -> b` to `v a d` and `c -> d` to `v c d`+* Extract `Schema` from `Transformer` type class as `Schematic` type family+* Rename `Transformer` type class to `Monadic`+* Define `Comonadic` type class for comonad transformers+* Define `Transformer` umbrella module and type family+* Rename `:<` data constructor to `Twister` to not confuse it with comonad transformer type operator+* Use `UT` joint scheme for `Stack` and `Graph` data structures+* Remove `Variant` type in favor of `Covariant` and `Contravariant` constraints in joint schemes+* Add `Covariant` constraint on schema parameter in `Adaptable` type class+* Rename `Storage` type to `Store`+* Define `Interpreted`, `Schematic` and `Comonadic` instances for `Store` type
Pandora/Core/Functor.hs view
@@ -4,8 +4,6 @@ infixr 1 .:, :. infixr 2 ::|:., ::|.:, ::|:: -data Variant = Co | Contra- -- | Parameter application type (:=) t a = t a 
Pandora/Core/Morphism.hs view
@@ -1,20 +1,11 @@-module Pandora.Core.Morphism (identity, fix, (.), (&), (!), (%)) where+module Pandora.Core.Morphism (fix, (&), (!), (%)) where -infixr 8 . infixl 1 & infixr 2 ! infixr 9 % -{-# INLINE identity #-}-identity :: a -> a-identity x = x- fix :: (a -> a) -> a fix f = let x = f x in x--{-# INLINE (.) #-}-(.) :: (b -> c) -> (a -> b) -> a -> c-f . g = \x -> f (g x)  {-# INLINE (&) #-} (&) :: a -> (a -> b) -> b
Pandora/Paradigm/Basis/Conclusion.hs view
@@ -1,9 +1,10 @@ module Pandora.Paradigm.Basis.Conclusion (Conclusion (..), Failable, conclusion, fail, failure) where -import Pandora.Core.Functor (Variant (Co))-import Pandora.Core.Morphism ((.))+import Pandora.Core.Transformation (type (~>))+import Pandora.Pattern.Category ((.)) import Pandora.Paradigm.Controlflow.Joint.Interpreted (Interpreted (Primary, unwrap))-import Pandora.Paradigm.Controlflow.Joint.Transformer (Transformer (Schema, lay, wrap), (:>)(T))+import Pandora.Paradigm.Controlflow.Joint.Transformer.Monadic (Monadic (lay, wrap), (:>) (TM))+import Pandora.Paradigm.Controlflow.Joint.Schematic (Schematic) import Pandora.Paradigm.Controlflow.Joint.Adaptable (Adaptable (adapt)) import Pandora.Paradigm.Controlflow.Joint.Schemes.UT (UT (UT)) import Pandora.Pattern.Functor.Covariant (Covariant ((<$>), (<$$>)))@@ -66,7 +67,7 @@ conclusion f _ (Failure x) = f x conclusion _ s (Success x) = s x -fail :: (e -> r) -> Conclusion e a -> Conclusion r a+fail :: (e -> r) -> Conclusion e ~> Conclusion r fail f (Failure x) = Failure $ f x fail _ (Success y) = Success y @@ -74,26 +75,27 @@ 	type Primary (Conclusion e) a = Conclusion e a 	unwrap x = x -instance Transformer (Conclusion e) where-	type Schema (Conclusion e) u = UT 'Co 'Co (Conclusion e) u-	lay x = T . UT $ Success <$> x-	wrap x = T . UT . point $ x+type instance Schematic Monad (Conclusion e) u = UT Covariant Covariant (Conclusion e) u +instance Monadic (Conclusion e) where+	lay x = TM . UT $ Success <$> x+	wrap x = TM . UT . point $ x+ type Failable e = Adaptable (Conclusion e) -instance Covariant u => Covariant (UT 'Co 'Co (Conclusion e) u) where+instance Covariant u => Covariant (UT Covariant Covariant (Conclusion e) u) where 	f <$> UT x = UT $ f <$$> x -instance Applicative u => Applicative (UT 'Co 'Co (Conclusion e) u) where+instance Applicative u => Applicative (UT Covariant Covariant (Conclusion e) u) where 	UT f <*> UT x = UT $ apply <$> f <*> x -instance Pointable u => Pointable (UT 'Co 'Co (Conclusion e) u) where+instance Pointable u => Pointable (UT Covariant Covariant (Conclusion e) u) where 	point = UT . point . point -instance (Pointable u, Bindable u) => Bindable (UT 'Co 'Co (Conclusion e) u) where+instance (Pointable u, Bindable u) => Bindable (UT Covariant Covariant (Conclusion e) u) where 	UT x >>= f = UT $ x >>= conclusion (point . Failure) (unwrap . f) -instance Monad u => Monad (UT 'Co 'Co (Conclusion e) u) where+instance Monad u => Monad (UT Covariant Covariant (Conclusion e) u) where -failure :: (Covariant t, Failable e t) => e -> t a+failure :: Failable e t => e -> t a failure = adapt . Failure
Pandora/Paradigm/Basis/Continuation.hs view
@@ -1,7 +1,8 @@ module Pandora.Paradigm.Basis.Continuation (Continuation (..), cwcc, reset, shift) where  import Pandora.Core.Functor (type (:.), type (:=), type (::|:.))-import Pandora.Core.Morphism ((.), (!), (%))+import Pandora.Core.Morphism ((!), (%))+import Pandora.Pattern.Category ((.)) import Pandora.Pattern.Functor.Covariant (Covariant ((<$>))) import Pandora.Pattern.Functor.Pointable (Pointable (point)) import Pandora.Pattern.Functor.Applicative (Applicative ((<*>)))
Pandora/Paradigm/Basis/Endo.hs view
@@ -1,6 +1,6 @@ module Pandora.Paradigm.Basis.Endo (Endo (..)) where -import Pandora.Core.Morphism ((.), identity)+import Pandora.Pattern.Category (identity, (.)) import Pandora.Pattern.Functor.Invariant (Invariant (invmap)) import Pandora.Pattern.Object.Semigroup (Semigroup ((+))) import Pandora.Pattern.Object.Monoid (Monoid (zero))
Pandora/Paradigm/Basis/Identity.hs view
@@ -1,6 +1,6 @@ module Pandora.Paradigm.Basis.Identity (Identity (..)) where -import Pandora.Core.Morphism ((.))+import Pandora.Pattern.Category ((.)) import Pandora.Pattern.Functor.Covariant (Covariant ((<$>), comap)) import Pandora.Pattern.Functor.Extractable (Extractable (extract)) import Pandora.Pattern.Functor.Pointable (Pointable (point))
Pandora/Paradigm/Basis/Jack.hs view
@@ -1,6 +1,6 @@ module Pandora.Paradigm.Basis.Jack (Jack (..), jack) where -import Pandora.Core.Morphism ((.))+import Pandora.Pattern.Category ((.)) import Pandora.Pattern.Functor.Covariant (Covariant ((<$>)), comap) import Pandora.Pattern.Functor.Pointable (Pointable (point)) import Pandora.Pattern.Functor.Extractable (Extractable (extract))
Pandora/Paradigm/Basis/Kan.hs view
@@ -1,6 +1,6 @@ module Pandora.Paradigm.Basis.Kan (Lan (..), Ran (..)) where -import Pandora.Core.Morphism ((.))+import Pandora.Pattern.Category ((.)) import Pandora.Pattern.Functor.Contravariant (Contravariant ((>$<))) import Pandora.Pattern.Functor.Covariant (Covariant ((<$>))) import Pandora.Pattern.Functor.Divariant (($))
Pandora/Paradigm/Basis/Maybe.hs view
@@ -1,11 +1,11 @@ module Pandora.Paradigm.Basis.Maybe (Maybe (..), Optional, maybe, nothing) where -import Pandora.Core.Functor (Variant (Co))-import Pandora.Core.Morphism ((.)) import Pandora.Paradigm.Controlflow.Joint.Interpreted (Interpreted (Primary, unwrap))-import Pandora.Paradigm.Controlflow.Joint.Transformer (Transformer (Schema, lay, wrap), (:>)(T))+import Pandora.Paradigm.Controlflow.Joint.Transformer.Monadic (Monadic (lay, wrap), (:>) (TM))+import Pandora.Paradigm.Controlflow.Joint.Schematic (Schematic) import Pandora.Paradigm.Controlflow.Joint.Adaptable (Adaptable (adapt)) import Pandora.Paradigm.Controlflow.Joint.Schemes.UT (UT (UT))+import Pandora.Pattern.Category ((.)) import Pandora.Pattern.Functor.Covariant (Covariant ((<$>), (<$$>))) import Pandora.Pattern.Functor.Avoidable (Avoidable (empty)) import Pandora.Pattern.Functor.Pointable (Pointable (point))@@ -87,30 +87,31 @@ maybe x _ Nothing = x maybe _ f (Just y) = f y +type instance Schematic Monad Maybe u = UT Covariant Covariant Maybe u+ instance Interpreted Maybe where 	type Primary Maybe a = Maybe a 	unwrap x = x -instance Transformer Maybe where-	type Schema Maybe u = UT 'Co 'Co Maybe u-	lay x = T . UT $ Just <$> x-	wrap x = T. UT . point $ x+instance Monadic Maybe where+	lay x = TM . UT $ Just <$> x+	wrap x = TM . UT . point $ x  type Optional = Adaptable Maybe -instance Covariant u => Covariant (UT 'Co 'Co Maybe u) where+instance Covariant u => Covariant (UT Covariant Covariant Maybe u) where 	f <$> UT x = UT $ f <$$> x -instance Applicative u => Applicative (UT 'Co 'Co Maybe u) where+instance Applicative u => Applicative (UT Covariant Covariant Maybe u) where 	UT f <*> UT x = UT $ apply <$> f <*> x -instance Pointable u => Pointable (UT 'Co 'Co Maybe u) where+instance Pointable u => Pointable (UT Covariant Covariant Maybe u) where 	point = UT . point . point -instance (Pointable u, Bindable u) => Bindable (UT 'Co 'Co Maybe u) where+instance (Pointable u, Bindable u) => Bindable (UT Covariant Covariant Maybe u) where 	UT x >>= f = UT $ x >>= maybe (point Nothing) (unwrap . f) -instance Monad u => Monad (UT 'Co 'Co Maybe u) where+instance Monad u => Monad (UT Covariant Covariant Maybe u) where -nothing :: (Covariant t, Optional t) => t a+nothing :: Optional t => t a nothing = adapt Nothing
Pandora/Paradigm/Basis/Predicate.hs view
@@ -1,6 +1,7 @@ module Pandora.Paradigm.Basis.Predicate (Predicate (..)) where -import Pandora.Core.Morphism ((.), (!))+import Pandora.Core.Morphism ((!))+import Pandora.Pattern.Category ((.)) import Pandora.Pattern.Functor.Contravariant (Contravariant ((>$<))) import Pandora.Pattern.Functor.Determinable (Determinable (determine)) import Pandora.Pattern.Functor.Divariant (($))
Pandora/Paradigm/Basis/Tagged.hs view
@@ -1,6 +1,6 @@ module Pandora.Paradigm.Basis.Tagged (Tagged (..), retag, tagself, type (:#)) where -import Pandora.Core.Morphism ((.))+import Pandora.Pattern.Category ((.)) import Pandora.Pattern.Functor.Covariant (Covariant ((<$>))) import Pandora.Pattern.Functor.Extractable (Extractable (extract)) import Pandora.Pattern.Functor.Pointable (Pointable (point))
Pandora/Paradigm/Basis/Twister.hs view
@@ -2,65 +2,67 @@  import Pandora.Core.Functor (type (:.), type (:=), type (|->)) import Pandora.Core.Transformation (type (~>))-import Pandora.Pattern.Functor.Covariant (Covariant ((<$>), (<$$>), comap))+import Pandora.Pattern.Functor.Covariant (Covariant ((<$>), (<$$>))) import Pandora.Pattern.Functor.Avoidable (Avoidable (empty)) import Pandora.Pattern.Functor.Pointable (Pointable (point)) import Pandora.Pattern.Functor.Extractable (Extractable (extract)) import Pandora.Pattern.Functor.Alternative (Alternative ((<+>)))-import Pandora.Pattern.Functor.Applicative (Applicative ((<*>)))+import Pandora.Pattern.Functor.Applicative (Applicative ((<*>), (<**>))) import Pandora.Pattern.Functor.Traversable (Traversable ((->>), (->>>))) import Pandora.Pattern.Functor.Bindable (Bindable ((>>=))) import Pandora.Pattern.Functor.Extendable (Extendable ((=>>), extend)) import Pandora.Pattern.Functor.Monad (Monad) import Pandora.Pattern.Functor.Comonad (Comonad)+import Pandora.Pattern.Functor.Lowerable (Lowerable (lower))+import Pandora.Pattern.Functor.Divariant (($)) import Pandora.Pattern.Object.Setoid (Setoid ((==)), (&&)) import Pandora.Pattern.Object.Semigroup (Semigroup ((+))) import Pandora.Pattern.Object.Monoid (Monoid (zero)) -infixr 5 :<--data Twister t a = a :< (t :. Twister t := a)+data Twister t a = Twister a (t :. Twister t := a)  instance Covariant t => Covariant (Twister t) where-	f <$> (x :< xs) = f x :< (f <$$> xs)+	f <$> Twister x xs = Twister (f x) $ f <$$> xs  instance Avoidable t => Pointable (Twister t) where-	point x = x :< empty+	point x = Twister x empty  instance Covariant t => Extractable (Twister t) where-	extract (x :< _) = x+	extract (Twister x _) = x  instance Applicative t => Applicative (Twister t) where-	(f :< fs) <*> (x :< xs) = f x :< ((<*>) <$> fs <*> xs)+	Twister f fs <*> Twister x xs = Twister (f x) $ fs <**> xs  instance Traversable t => Traversable (Twister t) where-	(x :< xs) ->> f = (:<) <$> f x <*> xs ->>> f+	Twister x xs ->> f = Twister <$> f x <*> xs ->>> f  instance Alternative t => Bindable (Twister t) where-	(x :< xs) >>= f = case f x of-		y :< ys -> y :< (ys <+> comap (>>= f) xs)+	Twister x xs >>= f = case f x of Twister y ys -> Twister y $ ys <+> (>>= f) <$> xs  instance Covariant t => Extendable (Twister t) where-	x =>> f = f x :< (extend f <$> untwist x)+	x =>> f = Twister (f x) $ extend f <$> untwist x  instance (Avoidable t, Alternative t) => Monad (Twister t) where  instance Covariant t => Comonad (Twister t) where +instance Lowerable Twister where+	lower (Twister _ xs) = extract <$> xs+ instance (Setoid a, forall b . Setoid b => Setoid (t b)) => Setoid (Twister t a) where-	(x :< xs) == (y :< ys) = x == y && xs == ys+	Twister x xs == Twister y ys = x == y && xs == ys  instance (Semigroup a, forall b . Semigroup b => Semigroup (t b)) => Semigroup (Twister t a) where-	(x :< xs) + (y :< ys) = (x + y) :< (xs + ys)+	Twister x xs + Twister y ys = Twister (x + y) $ xs + ys  instance (Monoid a, forall b . Semigroup b => Monoid (t b)) => Monoid (Twister t a) where-	zero = zero :< zero+	zero = Twister zero zero  untwist :: Twister t a -> (t :. Twister t) a-untwist (_ :< xs) = xs+untwist (Twister _ xs) = xs -coiterate :: Covariant t => a |-> t -> a -> Twister t a-coiterate coalgebra x = x :< (coiterate coalgebra <$> coalgebra x)+coiterate :: Covariant t => a |-> t -> a |-> Twister t+coiterate coalgebra x = Twister x $ coiterate coalgebra <$> coalgebra x  section :: Comonad t => t ~> Twister t-section as = extract as :< extend section as+section as = Twister (extract as) $ extend section as
Pandora/Paradigm/Basis/Yoneda.hs view
@@ -1,6 +1,7 @@ module Pandora.Paradigm.Basis.Yoneda (Yoneda (..)) where -import Pandora.Core.Morphism ((.), (!), identity)+import Pandora.Core.Morphism ((!))+import Pandora.Pattern.Category (identity, (.)) import Pandora.Pattern.Functor.Covariant (Covariant ((<$>))) import Pandora.Pattern.Functor.Alternative (Alternative ((<+>))) import Pandora.Pattern.Functor.Applicative (Applicative ((<*>)))
Pandora/Paradigm/Controlflow/Joint.hs view
@@ -1,6 +1,7 @@ module Pandora.Paradigm.Controlflow.Joint (module Exports) where  import Pandora.Paradigm.Controlflow.Joint.Schemes as Exports+import Pandora.Paradigm.Controlflow.Joint.Schematic as Exports import Pandora.Paradigm.Controlflow.Joint.Transformer as Exports import Pandora.Paradigm.Controlflow.Joint.Interpreted as Exports import Pandora.Paradigm.Controlflow.Joint.Adaptable as Exports
Pandora/Paradigm/Controlflow/Joint/Adaptable.hs view
@@ -1,148 +1,168 @@+{-# LANGUAGE UndecidableInstances #-}+ module Pandora.Paradigm.Controlflow.Joint.Adaptable (Adaptable (..)) where -import Pandora.Core.Morphism (identity, (.)) import Pandora.Core.Transformation (type (~>))+import Pandora.Pattern.Category (identity, (.)) import Pandora.Pattern.Functor.Covariant (Covariant) import Pandora.Pattern.Functor.Pointable (Pointable)-import Pandora.Paradigm.Controlflow.Joint.Transformer (Transformer (Schema, lay, wrap), (:>))+import Pandora.Pattern.Functor.Monad (Monad)+import Pandora.Paradigm.Controlflow.Joint.Schematic (Schematic)+import Pandora.Paradigm.Controlflow.Joint.Transformer.Monadic (Monadic (lay, wrap), (:>)) -class Adaptable eff schema where+class Covariant u => Adaptable t u where 	{-# MINIMAL adapt #-}-	adapt :: eff ~> schema+	adapt :: t ~> u -type Layable t u = (Transformer t, Covariant u)-type Wrappable t u = (Transformer t, Pointable u)+type Layable t u = (Monadic t, Covariant u)+type Wrappable t u = (Monadic t, Pointable u) -instance Adaptable t t where+instance Covariant t => Adaptable t t where 	adapt = identity -instance Layable t u => Adaptable u (t :> u) where+instance (Covariant (t :> u), Layable t u) => Adaptable u (t :> u) where 	adapt = lay -instance Wrappable t u => Adaptable t (t :> u) where+instance (Covariant (t :> u), Wrappable t u) => Adaptable t (t :> u) where 	adapt = wrap  instance-	( Layable t (Schema u v)+	( Covariant (t :> u :> v)+	, Layable t (Schematic Monad u v) 	, Wrappable u v 	) => Adaptable u (t :> u :> v) where 	adapt = lay . wrap  instance-	( Layable t (Schema u v)+	( Covariant (t :> u :> v)+	, Layable t (Schematic Monad u v) 	, Layable u v 	) => Adaptable v (t :> u :> v) where 	adapt = lay . lay  instance-	( Layable t (Schema u (v :> w))-	, Layable u (Schema v w)+	( Covariant (t :> u :> v :> w)+	, Layable t (Schematic Monad u (v :> w))+	, Layable u (Schematic Monad v w) 	, Wrappable v w 	) => Adaptable v (t :> u :> v :> w) where 	adapt = lay . lay . wrap  instance-	( Layable t (Schema u v)-	, Layable t (Schema u (v :> w))-	, Layable u (Schema v w)+	( Covariant (t :> u :> v :> w)+	, Layable t (Schematic Monad u v)+	, Layable t (Schematic Monad u (v :> w))+	, Layable u (Schematic Monad v w) 	, Layable v w 	) => Adaptable w (t :> u :> v :> w) where 	adapt = lay . lay . lay -instance (Layable t (Schema u (v :> w :> x))-	, Layable u (Schema v (w :> x))-	, Layable v (Schema w x)+instance+	( Covariant (t :> u :> v :> w :> x)+	, Layable t (Schematic Monad u (v :> w :> x))+	, Layable u (Schematic Monad v (w :> x))+	, Layable v (Schematic Monad w x) 	, Layable w x 	) => Adaptable x (t :> u :> v :> w :> x) where 	adapt = lay . lay . lay . lay -instance (Layable t (Schema u (v :> w :> x))-	, Layable u (Schema v (w :> x))-	, Layable v (Schema w x)+instance+	( Covariant (t :> u :> v :> w :> x)+	, Layable t (Schematic Monad u (v :> w :> x))+	, Layable u (Schematic Monad v (w :> x))+	, Layable v (Schematic Monad w x) 	, Wrappable w x 	) => Adaptable w (t :> u :> v :> w :> x) where 	adapt = lay . lay . lay . wrap  instance-	( Layable t (Schema u (v :> w :> x :> y))-	, Layable u (Schema v (w :> x :> y))-	, Layable v (Schema w (x :> y))-	, Layable w (Schema x y)+	( Covariant (t :> u :> v :> w :> x :> y)+	, Layable t (Schematic Monad u (v :> w :> x :> y))+	, Layable u (Schematic Monad v (w :> x :> y))+	, Layable v (Schematic Monad w (x :> y))+	, Layable w (Schematic Monad x y) 	, Layable x y 	) => Adaptable y (t :> u :> v :> w :> x :> y) where 	adapt = lay . lay . lay . lay . lay  instance-	( Layable t (Schema u (v :> w :> x :> y))-	, Layable u (Schema v (w :> x :> y))-	, Layable v (Schema w (x :> y))-	, Layable w (Schema x y)+	( Covariant (t :> u :> v :> w :> x :> y)+	, Layable t (Schematic Monad u (v :> w :> x :> y))+	, Layable u (Schematic Monad v (w :> x :> y))+	, Layable v (Schematic Monad w (x :> y))+	, Layable w (Schematic Monad x y) 	, Wrappable x y 	) => Adaptable x (t :> u :> v :> w :> x :> y) where 	adapt = lay . lay . lay . lay . wrap  instance-	( Layable t (Schema u (v :> w :> x :> y :> z))-	, Layable u (Schema v (w :> x :> y :> z))-	, Layable v (Schema w (x :> y :> z))-	, Layable w (Schema x (y :> z))-	, Layable x (Schema y z)+	( Covariant (t :> u :> v :> w :> x :> y :> z)+	, Layable t (Schematic Monad u (v :> w :> x :> y :> z))+	, Layable u (Schematic Monad v (w :> x :> y :> z))+	, Layable v (Schematic Monad w (x :> y :> z))+	, Layable w (Schematic Monad x (y :> z))+	, Layable x (Schematic Monad y z) 	, Layable y z 	) => Adaptable z (t :> u :> v :> w :> x :> y :> z) where 	adapt = lay . lay . lay . lay . lay . lay  instance-	( Layable t (Schema u (v :> w :> x :> y :> z))-	, Layable u (Schema v (w :> x :> y :> z))-	, Layable v (Schema w (x :> y :> z))-	, Layable w (Schema x (y :> z))-	, Layable x (Schema y z)+	( Covariant (t :> u :> v :> w :> x :> y :> z)+	, Layable t (Schematic Monad u (v :> w :> x :> y :> z))+	, Layable u (Schematic Monad v (w :> x :> y :> z))+	, Layable v (Schematic Monad w (x :> y :> z))+	, Layable w (Schematic Monad x (y :> z))+	, Layable x (Schematic Monad y z) 	, Wrappable y z 	) => Adaptable y (t :> u :> v :> w :> x :> y :> z) where 	adapt = lay . lay . lay . lay . lay . wrap  instance-	( Layable t (Schema u (v :> w :> x :> y :> z :> f))-	, Layable u (Schema v (w :> x :> y :> z :> f))-	, Layable v (Schema w (x :> y :> z :> f))-	, Layable w (Schema x (y :> z :> f))-	, Layable x (Schema y (z :> f))-	, Layable y (Schema z f)+	( Covariant (t :> u :> v :> w :> x :> y :> z :> f)+	, Layable t (Schematic Monad u (v :> w :> x :> y :> z :> f))+	, Layable u (Schematic Monad v (w :> x :> y :> z :> f))+	, Layable v (Schematic Monad w (x :> y :> z :> f))+	, Layable w (Schematic Monad x (y :> z :> f))+	, Layable x (Schematic Monad y (z :> f))+	, Layable y (Schematic Monad z f) 	, Layable z f 	) => Adaptable f (t :> u :> v :> w :> x :> y :> z :> f) where 	adapt = lay . lay . lay . lay . lay . lay . lay  instance-	( Layable t (Schema u (v :> w :> x :> y :> z :> f))-	, Layable u (Schema v (w :> x :> y :> z :> f))-	, Layable v (Schema w (x :> y :> z :> f))-	, Layable w (Schema x (y :> z :> f))-	, Layable x (Schema y (z :> f))-	, Layable y (Schema z f)+	( Covariant (t :> u :> v :> w :> x :> y :> z :> f)+	, Layable t (Schematic Monad u (v :> w :> x :> y :> z :> f))+	, Layable u (Schematic Monad v (w :> x :> y :> z :> f))+	, Layable v (Schematic Monad w (x :> y :> z :> f))+	, Layable w (Schematic Monad x (y :> z :> f))+	, Layable x (Schematic Monad y (z :> f))+	, Layable y (Schematic Monad z f) 	, Wrappable z f 	) => Adaptable z (t :> u :> v :> w :> x :> y :> z :> f) where 	adapt = lay . lay . lay . lay . lay . lay . wrap  instance-	( Layable t (Schema u (v :> w :> x :> y :> z :> f :> h))-	, Layable u (Schema v (w :> x :> y :> z :> f :> h))-	, Layable v (Schema w (x :> y :> z :> f :> h))-	, Layable w (Schema x (y :> z :> f :> h))-	, Layable x (Schema y (z :> f :> h))-	, Layable y (Schema z (f :> h))-	, Layable z (Schema f h)+	( Covariant (t :> u :> v :> w :> x :> y :> z :> f :> h)+	, Layable t (Schematic Monad u (v :> w :> x :> y :> z :> f :> h))+	, Layable u (Schematic Monad v (w :> x :> y :> z :> f :> h))+	, Layable v (Schematic Monad w (x :> y :> z :> f :> h))+	, Layable w (Schematic Monad x (y :> z :> f :> h))+	, Layable x (Schematic Monad y (z :> f :> h))+	, Layable y (Schematic Monad z (f :> h))+	, Layable z (Schematic Monad f h) 	, Layable f h 	) => Adaptable h (t :> u :> v :> w :> x :> y :> z :> f :> h) where 	adapt = lay . lay . lay . lay . lay . lay . lay . lay  instance-	( Layable t (Schema u (v :> w :> x :> y :> z :> f :> h))-	, Layable u (Schema v (w :> x :> y :> z :> f :> h))-	, Layable v (Schema w (x :> y :> z :> f :> h))-	, Layable w (Schema x (y :> z :> f :> h))-	, Layable x (Schema y (z :> f :> h))-	, Layable y (Schema z (f :> h))-	, Layable z (Schema f h)+	( Covariant (t :> u :> v :> w :> x :> y :> z :> f :> h)+	, Layable t (Schematic Monad u (v :> w :> x :> y :> z :> f :> h))+	, Layable u (Schematic Monad v (w :> x :> y :> z :> f :> h))+	, Layable v (Schematic Monad w (x :> y :> z :> f :> h))+	, Layable w (Schematic Monad x (y :> z :> f :> h))+	, Layable x (Schematic Monad y (z :> f :> h))+	, Layable y (Schematic Monad z (f :> h))+	, Layable z (Schematic Monad f h) 	, Wrappable f h 	) => Adaptable f (t :> u :> v :> w :> x :> y :> z :> f :> h) where 	adapt = lay . lay . lay . lay . lay . lay . lay . wrap
+ Pandora/Paradigm/Controlflow/Joint/Schematic.hs view
@@ -0,0 +1,3 @@+module Pandora.Paradigm.Controlflow.Joint.Schematic (Schematic) where++type family Schematic (c :: (* -> *) -> k) (t :: * -> *) (u :: * -> *) = (r :: * -> *) | r -> t u
Pandora/Paradigm/Controlflow/Joint/Transformer.hs view
@@ -1,55 +1,10 @@-module Pandora.Paradigm.Controlflow.Joint.Transformer (Transformer (..), (:>) (..)) where--import Pandora.Core.Morphism ((.))-import Pandora.Core.Transformation (type (~>))-import Pandora.Paradigm.Controlflow.Joint.Interpreted (Interpreted (Primary, unwrap))-import Pandora.Pattern.Functor.Covariant (Covariant ((<$>)))-import Pandora.Pattern.Functor.Pointable (Pointable (point))-import Pandora.Pattern.Functor.Extractable (Extractable (extract))-import Pandora.Pattern.Functor.Applicative (Applicative ((<*>)))-import Pandora.Pattern.Functor.Alternative (Alternative ((<+>)))-import Pandora.Pattern.Functor.Distributive (Distributive ((>>-)))-import Pandora.Pattern.Functor.Traversable (Traversable ((->>)))-import Pandora.Pattern.Functor.Bindable (Bindable ((>>=)))-import Pandora.Pattern.Functor.Extendable (Extendable ((=>>)))-import Pandora.Pattern.Functor.Divariant (($))--class Interpreted t => Transformer t where-	{-# MINIMAL lay, wrap #-}-	type Schema (t :: * -> *) (u :: * -> *) = (r :: * -> *) | r -> t u-	lay :: Covariant u => u ~> t :> u-	wrap :: Pointable u => t ~> t :> u--infixr 3 :>-newtype (:>) t u a = T { trans :: Schema t u a }--instance Covariant (Schema t u) => Covariant (t :> u) where-	f <$> T x = T $ f <$> x--instance Pointable (Schema t u) => Pointable (t :> u) where-	point = T . point--instance Extractable (Schema t u) => Extractable (t :> u) where-	extract = extract . trans--instance Applicative (Schema t u) => Applicative (t :> u) where-	T f <*> T x = T $ f <*> x--instance Alternative (Schema t u) => Alternative (t :> u) where-	T x <+> T y = T $ x <+> y--instance Traversable (Schema t u) => Traversable (t :> u) where-	T x ->> f = T <$> x ->> f--instance Distributive (Schema t u) => Distributive (t :> u) where-	x >>- f = T $ x >>- trans . f+module Pandora.Paradigm.Controlflow.Joint.Transformer (module Exports, Transformer) where -instance Bindable (Schema t u) => Bindable (t :> u) where-	T x >>= f = T $ x >>= trans . f+import Pandora.Paradigm.Controlflow.Joint.Transformer.Comonadic as Exports+import Pandora.Paradigm.Controlflow.Joint.Transformer.Monadic as Exports -instance Extendable (Schema t u) => Extendable (t :> u) where-	T x =>> f = T $ x =>> f . T+import Pandora.Pattern.Functor (Monad, Comonad) -instance (Interpreted (Schema t u), Transformer t) => Interpreted (t :> u) where-	type Primary (t :> u) a = Primary (Schema t u) a-	unwrap (T x) = unwrap x+type family Transformer c t where+	Transformer Monad t = Monadic t+	Transformer Comonad t = Comonadic t
+ Pandora/Paradigm/Controlflow/Joint/Transformer/Comonadic.hs view
@@ -0,0 +1,58 @@+{-# LANGUAGE UndecidableInstances #-}++module Pandora.Paradigm.Controlflow.Joint.Transformer.Comonadic (Comonadic (..), (:<) (..)) where++import Pandora.Core.Transformation (type (~>))+import Pandora.Paradigm.Controlflow.Joint.Interpreted (Interpreted (Primary, unwrap))+import Pandora.Paradigm.Controlflow.Joint.Schematic (Schematic)+import Pandora.Pattern.Category ((.))+import Pandora.Pattern.Functor.Covariant (Covariant ((<$>)))+import Pandora.Pattern.Functor.Pointable (Pointable (point))+import Pandora.Pattern.Functor.Extractable (Extractable (extract))+import Pandora.Pattern.Functor.Applicative (Applicative ((<*>)))+import Pandora.Pattern.Functor.Alternative (Alternative ((<+>)))+import Pandora.Pattern.Functor.Distributive (Distributive ((>>-)))+import Pandora.Pattern.Functor.Traversable (Traversable ((->>)))+import Pandora.Pattern.Functor.Bindable (Bindable ((>>=)))+import Pandora.Pattern.Functor.Extendable (Extendable ((=>>)))+import Pandora.Pattern.Functor.Comonad (Comonad)+import Pandora.Pattern.Functor.Divariant (($))++class Interpreted t => Comonadic t where+	{-# MINIMAL flick, bring #-}+	flick :: Covariant u => t :< u ~> u+	bring :: Extractable u => t :< u ~> t++infixr 3 :<+newtype (:<) t u a = TC { tc :: Schematic Comonad t u a }++instance Covariant (Schematic Comonad t u) => Covariant (t :< u) where+	f <$> TC x = TC $ f <$> x++instance Pointable (Schematic Comonad t u) => Pointable (t :< u) where+	point = TC . point++instance Extractable (Schematic Comonad t u) => Extractable (t :< u) where+	extract = extract . tc++instance Applicative (Schematic Comonad t u) => Applicative (t :< u) where+	TC f <*> TC x = TC $ f <*> x++instance Alternative (Schematic Comonad t u) => Alternative (t :< u) where+	TC x <+> TC y = TC $ x <+> y++instance Traversable (Schematic Comonad t u) => Traversable (t :< u) where+	TC x ->> f = TC <$> x ->> f++instance Distributive (Schematic Comonad t u) => Distributive (t :< u) where+	x >>- f = TC $ x >>- tc . f++instance Bindable (Schematic Comonad t u) => Bindable (t :< u) where+	TC x >>= f = TC $ x >>= tc . f++instance Extendable (Schematic Comonad t u) => Extendable (t :< u) where+	TC x =>> f = TC $ x =>> f . TC++instance (Interpreted (Schematic Comonad t u)) => Interpreted (t :< u) where+	type Primary (t :< u) a = Primary (Schematic Comonad t u) a+	unwrap (TC x) = unwrap x
+ Pandora/Paradigm/Controlflow/Joint/Transformer/Monadic.hs view
@@ -0,0 +1,58 @@+{-# LANGUAGE UndecidableInstances #-}++module Pandora.Paradigm.Controlflow.Joint.Transformer.Monadic (Monadic (..), (:>) (..)) where++import Pandora.Core.Transformation (type (~>))+import Pandora.Paradigm.Controlflow.Joint.Interpreted (Interpreted (Primary, unwrap))+import Pandora.Paradigm.Controlflow.Joint.Schematic (Schematic)+import Pandora.Pattern.Category ((.))+import Pandora.Pattern.Functor.Covariant (Covariant ((<$>)))+import Pandora.Pattern.Functor.Pointable (Pointable (point))+import Pandora.Pattern.Functor.Extractable (Extractable (extract))+import Pandora.Pattern.Functor.Applicative (Applicative ((<*>)))+import Pandora.Pattern.Functor.Alternative (Alternative ((<+>)))+import Pandora.Pattern.Functor.Distributive (Distributive ((>>-)))+import Pandora.Pattern.Functor.Traversable (Traversable ((->>)))+import Pandora.Pattern.Functor.Bindable (Bindable ((>>=)))+import Pandora.Pattern.Functor.Extendable (Extendable ((=>>)))+import Pandora.Pattern.Functor.Monad (Monad)+import Pandora.Pattern.Functor.Divariant (($))++class Interpreted t => Monadic t where+	{-# MINIMAL lay, wrap #-}+	lay :: Covariant u => u ~> t :> u+	wrap :: Pointable u => t ~> t :> u++infixr 3 :>+newtype (:>) t u a = TM { tm :: Schematic Monad t u a }++instance Covariant (Schematic Monad t u) => Covariant (t :> u) where+	f <$> TM x = TM $ f <$> x++instance Pointable (Schematic Monad t u) => Pointable (t :> u) where+	point = TM . point++instance Extractable (Schematic Monad t u) => Extractable (t :> u) where+	extract = extract . tm++instance Applicative (Schematic Monad t u) => Applicative (t :> u) where+	TM f <*> TM x = TM $ f <*> x++instance Alternative (Schematic Monad t u) => Alternative (t :> u) where+	TM x <+> TM y = TM $ x <+> y++instance Traversable (Schematic Monad t u) => Traversable (t :> u) where+	TM x ->> f = TM <$> x ->> f++instance Distributive (Schematic Monad t u) => Distributive (t :> u) where+	x >>- f = TM $ x >>- tm . f++instance Bindable (Schematic Monad t u) => Bindable (t :> u) where+	TM x >>= f = TM $ x >>= tm . f++instance Extendable (Schematic Monad t u) => Extendable (t :> u) where+	TM x =>> f = TM $ x =>> f . TM++instance (Interpreted (Schematic Monad t u)) => Interpreted (t :> u) where+	type Primary (t :> u) a = Primary (Schematic Monad t u) a+	unwrap (TM x) = unwrap x
Pandora/Paradigm/Controlflow/Observable.hs view
@@ -1,7 +1,7 @@ module Pandora.Paradigm.Controlflow.Observable (Observable, observe, 	notify, follow, subscribe, watch, (.:~.), (.:~*), (*:~.), (*:~*)) where -import Pandora.Core.Morphism ((.))+import Pandora.Pattern.Category ((.)) import Pandora.Paradigm.Basis.Continuation (Continuation (Continuation, continue)) import Pandora.Pattern.Functor.Applicative (Applicative (forever)) import Pandora.Pattern.Functor.Divariant (($))
Pandora/Paradigm/Inventory.hs view
@@ -1,7 +1,7 @@ module Pandora.Paradigm.Inventory (module Exports) where  import Pandora.Paradigm.Inventory.Optics as Exports-import Pandora.Paradigm.Inventory.Storage as Exports+import Pandora.Paradigm.Inventory.Store as Exports import Pandora.Paradigm.Inventory.State as Exports import Pandora.Paradigm.Inventory.Environment as Exports import Pandora.Paradigm.Inventory.Accumulator as Exports
Pandora/Paradigm/Inventory/Accumulator.hs view
@@ -2,18 +2,19 @@  module Pandora.Paradigm.Inventory.Accumulator (Accumulator (..), Accumulated, gather) where -import Pandora.Core.Functor (Variant (Co))-import Pandora.Core.Morphism ((.)) import Pandora.Paradigm.Basis.Product (Product ((:*:)), type (:*:)) import Pandora.Paradigm.Controlflow.Joint.Interpreted (Interpreted (Primary, unwrap))-import Pandora.Paradigm.Controlflow.Joint.Transformer (Transformer (Schema, lay, wrap), (:>) (T))+import Pandora.Paradigm.Controlflow.Joint.Transformer.Monadic (Monadic (lay, wrap), (:>) (TM))+import Pandora.Paradigm.Controlflow.Joint.Schematic (Schematic) import Pandora.Paradigm.Controlflow.Joint.Adaptable (Adaptable (adapt)) import Pandora.Paradigm.Controlflow.Joint.Schemes.UT (UT (UT))+import Pandora.Pattern.Category ((.)) import Pandora.Pattern.Functor.Covariant (Covariant ((<$>), (<$$>))) import Pandora.Pattern.Functor.Pointable (Pointable (point)) import Pandora.Pattern.Functor.Applicative (Applicative ((<*>))) import Pandora.Pattern.Functor.Bindable (Bindable ((>>=))) import Pandora.Pattern.Functor.Divariant (($))+import Pandora.Pattern.Functor.Monad (Monad) import Pandora.Pattern.Object.Monoid (Monoid (zero)) import Pandora.Pattern.Object.Semigroup (Semigroup ((+))) @@ -33,29 +34,30 @@ 	Accumulator (e :*: x) >>= f = let (e' :*: b) = unwrap $ f x in 		Accumulator $ e + e':*: b +type instance Schematic Monad (Accumulator e) u = UT Covariant Covariant ((:*:) e) u+ instance Interpreted (Accumulator e) where 	type Primary (Accumulator e) a = e :*: a 	unwrap (Accumulator x) = x -instance Monoid e => Transformer (Accumulator e) where-	type Schema (Accumulator e) u = UT 'Co 'Co ((:*:) e) u-	lay x = T . UT $ (zero :*:) <$> x-	wrap = T . UT . point . unwrap+instance Monoid e => Monadic (Accumulator e) where+	lay x = TM . UT $ (zero :*:) <$> x+	wrap = TM . UT . point . unwrap  type Accumulated e t = Adaptable (Accumulator e) t -instance Covariant u => Covariant (UT 'Co 'Co ((:*:) e) u) where+instance Covariant u => Covariant (UT Covariant Covariant ((:*:) e) u) where 	f <$> UT x = UT $ f <$$> x -instance (Semigroup e, Applicative u) => Applicative (UT 'Co 'Co ((:*:) e) u) where+instance (Semigroup e, Applicative u) => Applicative (UT Covariant Covariant ((:*:) e) u) where 	UT f <*> UT x = UT $ k <$> f <*> x where 		k ~(u :*: g) ~(v :*: y) = u + v :*: g y -instance (Pointable u, Monoid e) => Pointable (UT 'Co 'Co ((:*:) e) u) where+instance (Pointable u, Monoid e) => Pointable (UT Covariant Covariant ((:*:) e) u) where 	point = UT . point . (zero :*:) -instance (Semigroup e, Pointable u, Bindable u) => Bindable (UT 'Co 'Co ((:*:) e) u) where+instance (Semigroup e, Pointable u, Bindable u) => Bindable (UT Covariant Covariant ((:*:) e) u) where 	UT x >>= f = UT $ x >>= \(acc :*: v) -> (\(acc' :*: y) -> (acc + acc' :*: y)) <$> unwrap (f v) -gather :: (Covariant t, Accumulated e t) => e -> t ()+gather :: Accumulated e t => e -> t () gather x = adapt . Accumulator $ x :*: ()
Pandora/Paradigm/Inventory/Environment.hs view
@@ -2,12 +2,13 @@  module Pandora.Paradigm.Inventory.Environment (Environment (..), Configured, env) where -import Pandora.Core.Functor (Variant (Co))-import Pandora.Core.Morphism (identity, (.), (!), (%))+import Pandora.Core.Morphism ((!), (%)) import Pandora.Paradigm.Controlflow.Joint.Interpreted (Interpreted (Primary, unwrap))-import Pandora.Paradigm.Controlflow.Joint.Transformer (Transformer (Schema, lay, wrap), (:>) (T))+import Pandora.Paradigm.Controlflow.Joint.Transformer.Monadic (Monadic (lay, wrap), (:>) (TM))+import Pandora.Paradigm.Controlflow.Joint.Schematic (Schematic) import Pandora.Paradigm.Controlflow.Joint.Adaptable (Adaptable (adapt)) import Pandora.Paradigm.Controlflow.Joint.Schemes.TU (TU (TU))+import Pandora.Pattern.Category (identity, (.)) import Pandora.Pattern.Functor.Covariant (Covariant ((<$>))) import Pandora.Pattern.Functor.Pointable (Pointable (point)) import Pandora.Pattern.Functor.Applicative (Applicative ((<*>)))@@ -35,28 +36,29 @@  instance Monad (Environment e) where +type instance Schematic Monad (Environment e) u = TU Covariant Covariant ((->) e) u+ instance Interpreted (Environment e) where 	type Primary (Environment e) a = (->) e a 	unwrap (Environment x) = x -instance Transformer (Environment e) where-	type Schema (Environment e) u = TU 'Co 'Co ((->) e) u-	lay = T . TU . (!)-	wrap x = T. TU $ point <$> unwrap x+instance Monadic (Environment e) where+	lay = TM . TU . (!)+	wrap x = TM. TU $ point <$> unwrap x  type Configured e = Adaptable (Environment e) -instance Covariant u => Covariant (TU 'Co 'Co ((->) e) u) where+instance Covariant u => Covariant (TU Covariant Covariant ((->) e) u) where 	f <$> TU x = TU $ \r -> f <$> x r -instance (Covariant u, Pointable u) => Pointable (TU 'Co 'Co ((->) e) u) where+instance (Covariant u, Pointable u) => Pointable (TU Covariant Covariant ((->) e) u) where 	point = TU . point . point -instance Applicative u => Applicative (TU 'Co 'Co ((->) e) u) where+instance Applicative u => Applicative (TU Covariant Covariant ((->) e) u) where 	TU f <*> TU x = TU $ \r -> f r <*> x r -instance Bindable u => Bindable (TU 'Co 'Co ((->) e) u) where+instance Bindable u => Bindable (TU Covariant Covariant ((->) e) u) where 	TU x >>= f = TU $ \e -> x e >>= ($ e) . unwrap . f -env :: (Covariant t, Configured e t) => t e+env :: Configured e t => t e env = adapt $ Environment identity
Pandora/Paradigm/Inventory/Optics.hs view
@@ -2,24 +2,25 @@  module Pandora.Paradigm.Inventory.Optics (Lens, type (:-.), (|>), view, set, over, (^.), (.~), (%~)) where -import Pandora.Core.Morphism ((.), (!), (%))+import Pandora.Core.Morphism ((!), (%)) import Pandora.Paradigm.Basis.Product (Product ((:*:))) import Pandora.Paradigm.Controlflow.Joint.Interpreted (Interpreted (unwrap)) import Pandora.Paradigm.Inventory.State (State (State))-import Pandora.Paradigm.Inventory.Storage (Storage (Storage), access, position, retrofit)+import Pandora.Paradigm.Inventory.Store (Store (Store), access, position, retrofit)+import Pandora.Pattern.Category ((.)) import Pandora.Pattern.Functor.Covariant (Covariant ((<$))) import Pandora.Pattern.Functor.Extractable (Extractable (extract)) import Pandora.Pattern.Functor.Adjoint (Adjoint ((-|), (|-))) import Pandora.Pattern.Functor.Divariant (($)) -instance Adjoint (Storage s) (State s) where-	v -| f = State $ \s -> (:*:) s . f . Storage $ s :*: (v !)-	Storage (s :*: f) |- g = extract . unwrap % s . g $ f s+instance Adjoint (Store s) (State s) where+	v -| f = State $ \s -> (:*:) s . f . Store $ s :*: (v !)+	Store (s :*: f) |- g = extract . unwrap % s . g $ f s  infixr 0 :-. type (:-.) src tgt = Lens src tgt -type Lens src tgt = src -> Storage tgt src+type Lens src tgt = src -> Store tgt src  -- | Lens composition infix operator (|>) :: Lens src btw -> Lens btw tgt -> Lens src tgt
Pandora/Paradigm/Inventory/State.hs view
@@ -2,14 +2,9 @@  module Pandora.Paradigm.Inventory.State (State (..), Stateful, current, modify, replace, fold, find) where -import Pandora.Core.Functor (Variant (Co), type (:.), type (:=))-import Pandora.Core.Morphism ((.), (%))-import Pandora.Paradigm.Controlflow.Joint.Interpreted (Interpreted (Primary, unwrap))-import Pandora.Paradigm.Controlflow.Joint.Transformer (Transformer (Schema, lay, wrap), (:>) (T))-import Pandora.Paradigm.Controlflow.Joint.Adaptable (Adaptable (adapt))-import Pandora.Paradigm.Controlflow.Joint.Schemes.TUV (TUV (TUV))-import Pandora.Paradigm.Basis.Predicate (Predicate (predicate))-import Pandora.Paradigm.Basis.Product (Product ((:*:)), type (:*:), attached, delta, uncurry)+import Pandora.Core.Functor (type (:.), type (:=))+import Pandora.Core.Morphism ((%))+import Pandora.Pattern.Category ((.)) import Pandora.Pattern.Functor.Covariant (Covariant ((<$>), ($>), (<$$>))) import Pandora.Pattern.Functor.Extractable (Extractable (extract)) import Pandora.Pattern.Functor.Avoidable (Avoidable (empty))@@ -21,6 +16,13 @@ import Pandora.Pattern.Functor.Monad (Monad) import Pandora.Pattern.Functor.Divariant (($)) import Pandora.Pattern.Object.Setoid (bool)+import Pandora.Paradigm.Controlflow.Joint.Adaptable (Adaptable (adapt))+import Pandora.Paradigm.Controlflow.Joint.Interpreted (Interpreted (Primary, unwrap))+import Pandora.Paradigm.Controlflow.Joint.Transformer.Monadic (Monadic (lay, wrap), (:>) (TM))+import Pandora.Paradigm.Controlflow.Joint.Schematic (Schematic)+import Pandora.Paradigm.Controlflow.Joint.Schemes.TUV (TUV (TUV))+import Pandora.Paradigm.Basis.Predicate (Predicate (predicate))+import Pandora.Paradigm.Basis.Product (Product ((:*:)), type (:*:), attached, delta, uncurry)  newtype State s a = State ((->) s :. (:*:) s := a) @@ -52,32 +54,34 @@ 	type Primary (State s) a = (->) s :. (:*:) s := a 	unwrap (State x) = x -instance Transformer (State s) where-	type Schema (State s) u = TUV 'Co 'Co 'Co ((->) s) u ((:*:) s)-	lay x = T . TUV $ \s -> (s :*:) <$> x-	wrap x = T . TUV $ point <$> unwrap x+type instance Schematic Monad (State s) u =+	TUV Covariant Covariant Covariant ((->) s) u ((:*:) s) +instance Monadic (State s) where+	lay x = TM . TUV $ \s -> (s :*:) <$> x+	wrap x = TM . TUV $ point <$> unwrap x+ type Stateful s = Adaptable (State s) -instance Covariant u => Covariant (TUV 'Co 'Co 'Co ((->) s) u ((:*:) s)) where+instance Covariant u => Covariant (TUV Covariant Covariant Covariant ((->) s) u ((:*:) s)) where 	f <$> TUV x = TUV $ \old -> f <$$> x old -instance Bindable u => Applicative (TUV 'Co 'Co 'Co ((->) s) u ((:*:) s)) where+instance Bindable u => Applicative (TUV Covariant Covariant Covariant ((->) s) u ((:*:) s)) where 	TUV f <*> TUV x = TUV $ \old -> f old >>= \(new :*: g) -> g <$$> x new -instance Pointable u => Pointable (TUV 'Co 'Co 'Co ((->) s) u ((:*:) s)) where+instance Pointable u => Pointable (TUV Covariant Covariant Covariant ((->) s) u ((:*:) s)) where 	point x = TUV $ \s -> point $ s :*: x -instance Bindable u => Bindable (TUV 'Co 'Co 'Co ((->) s) u ((:*:) s)) where+instance Bindable u => Bindable (TUV Covariant Covariant Covariant ((->) s) u ((:*:) s)) where 	TUV x >>= f = TUV $ \old -> x old >>= \(new :*: y) -> ($ new) . unwrap . f $ y -instance Monad u => Monad (TUV 'Co 'Co 'Co ((->) s) u ((:*:) s)) where+instance Monad u => Monad (TUV Covariant Covariant Covariant ((->) s) u ((:*:) s)) where -current :: (Covariant t, Stateful s t) => t s+current :: Stateful s t => t s current = adapt $ State delta -modify :: (Covariant t, Stateful s t) => (s -> s) -> t ()+modify :: Stateful s t => (s -> s) -> t () modify f = adapt $ State $ \s -> f s :*: () -replace :: (Covariant t, Stateful s t) => s -> t ()+replace :: Stateful s t => s -> t () replace s = adapt $ State $ \_ -> s :*: ()
− Pandora/Paradigm/Inventory/Storage.hs
@@ -1,33 +0,0 @@-module Pandora.Paradigm.Inventory.Storage (Storage (..), position, access, retrofit) where--import Pandora.Core.Functor (type (:.), type (:=))-import Pandora.Core.Morphism ((.), (%))-import Pandora.Paradigm.Basis.Product (Product ((:*:)), type (:*:))-import Pandora.Pattern.Functor.Covariant (Covariant ((<$>)))-import Pandora.Pattern.Functor.Extractable (Extractable (extract))-import Pandora.Pattern.Functor.Extendable (Extendable ((=>>)))-import Pandora.Pattern.Functor.Comonad (Comonad)-import Pandora.Pattern.Functor.Divariant (($))--newtype Storage p a = Storage { stored :: (:*:) p :. (->) p := a }--instance Covariant (Storage p) where-	g <$> Storage (p :*: f) = Storage . (:*:) p $ (g .) f--instance Extractable (Storage p) where-	extract (Storage (p :*: f)) = f p--instance Extendable (Storage p) where-	Storage (old :*: f) =>> g = Storage . (:*:) old-		$ \new -> g . Storage $ new :*: f--instance Comonad (Storage p) where--position :: Storage p a -> p-position (Storage (p :*: _)) = p--access :: p -> Storage p a -> a-access p = extract % p . stored--retrofit :: (p -> p) -> Storage p a -> Storage p a-retrofit g (Storage (p :*: f)) = Storage $ g p :*: f
+ Pandora/Paradigm/Inventory/Store.hs view
@@ -0,0 +1,61 @@+{-# OPTIONS_GHC -fno-warn-orphans #-}++module Pandora.Paradigm.Inventory.Store (Store (..), position, access, retrofit) where++import Pandora.Core.Functor (type (:.), type (:=), type (<-|))+import Pandora.Core.Morphism ((%))+import Pandora.Core.Transformation (type (~>))+import Pandora.Pattern.Category ((.))+import Pandora.Pattern.Functor.Covariant (Covariant ((<$>), (<$$>)))+import Pandora.Pattern.Functor.Extractable (Extractable (extract))+import Pandora.Pattern.Functor.Extendable (Extendable ((=>>)))+import Pandora.Pattern.Functor.Comonad (Comonad)+import Pandora.Pattern.Functor.Divariant (($))+import Pandora.Paradigm.Basis.Product (Product ((:*:)), type (:*:))+import Pandora.Paradigm.Controlflow.Joint.Interpreted (Interpreted (Primary, unwrap))+import Pandora.Paradigm.Controlflow.Joint.Schematic (Schematic)+import Pandora.Paradigm.Controlflow.Joint.Schemes.TUV (TUV (TUV))+import Pandora.Paradigm.Controlflow.Joint.Transformer.Comonadic (Comonadic (flick, bring), (:<) (TC))++newtype Store p a = Store ((:*:) p :. (->) p := a)++instance Covariant (Store p) where+	f <$> Store (p :*: x) = Store . (:*:) p $ f <$> x++instance Extractable (Store p) where+	extract (Store (p :*: f)) = f p++instance Extendable (Store p) where+	Store (old :*: x) =>> f = Store . (:*:) old+		$ \new -> f <$> Store $ new :*: x++instance Comonad (Store p) where++instance Interpreted (Store p) where+	type Primary (Store p) a = (:*:) p :. (->) p := a+	unwrap (Store x) = x++type instance Schematic Comonad (Store p) u =+	TUV Covariant Covariant Covariant ((:*:) p) u ((->) p)++instance Comonadic (Store p) where+	flick (TC (TUV (p :*: f))) = ($ p) <$> f+	bring (TC (TUV (p :*: f))) = Store $ p :*: extract f++instance Covariant u => Covariant (TUV Covariant Covariant Covariant ((:*:) p) u ((->) p)) where+	f <$> TUV (p :*: x) = TUV . (:*:) p $ f <$$> x++instance Extractable u => Extractable (TUV Covariant Covariant Covariant ((:*:) p) u ((->) p)) where+	extract (TUV (p :*: x)) = extract x p++instance Extendable u => Extendable (TUV Covariant Covariant Covariant ((:*:) p) u ((->) p)) where+	TUV (old :*: x) =>> f = TUV . (:*:) old $ x =>> (\x' new -> f . TUV . (:*:) new $ x')++position :: Store p a -> p+position (Store (p :*: _)) = p++access :: p -> a <-| Store p+access p = extract % p . unwrap++retrofit :: (p -> p) -> Store p ~> Store p+retrofit g (Store (p :*: f)) = Store $ g p :*: f
Pandora/Paradigm/Structure/Specific/Binary.hs view
@@ -2,13 +2,19 @@  import Pandora.Core.Morphism ((&)) import Pandora.Paradigm.Basis.Wye (Wye (End, Left, Right, Both))-import Pandora.Paradigm.Basis.Twister (Twister ((:<)))+import Pandora.Paradigm.Basis.Twister (Twister (Twister))+import Pandora.Pattern.Category ((.))+import Pandora.Pattern.Functor.Divariant (($)) import Pandora.Pattern.Object.Chain (Chain ((<=>)), order)  type Binary = Twister Wye  insert :: Chain a => a -> Binary a -> Binary a-insert x (y :< End) = x <=> y & order (y :< Right (x :< End)) (y :< Right (x :< End)) (y :< Left (x :< End))-insert x (y :< Left ls) = x <=> y & order (y :< Both ls (x :< End)) (y :< Both ls (x :< End)) (y :< Left (insert x ls))-insert x (y :< Right rs) = x <=> y & order (y :< Right (insert x rs)) (y :< Right (insert x rs)) (y :< Both (x :< End) rs)-insert x (y :< Both ls rs) = x <=> y & order (y :< Both ls (insert x rs)) (y :< Both ls (insert x rs)) (y :< Both (insert x ls) rs)+insert x (Twister y End) = x <=> y & order (Twister y . Right $ Twister x End)+	(Twister y . Right $ Twister x End) (Twister y . Left $ Twister x End)+insert x (Twister y (Left ls)) = x <=> y & order (Twister y . Both ls $ Twister x End)+	(Twister y $ Both ls $ Twister x End) (Twister y . Left $ insert x ls)+insert x (Twister y (Right rs)) = x <=> y & order (Twister y . Right $ insert x rs)+	(Twister y $ Right (insert x rs)) (Twister y $ Both (Twister x End) rs)+insert x (Twister y (Both ls rs)) = x <=> y & order (Twister y . Both ls $ insert x rs)+	(Twister y . Both ls $ insert x rs) (Twister y $ Both (insert x ls) rs)
Pandora/Paradigm/Structure/Specific/Graph.hs view
@@ -1,29 +1,26 @@+{-# OPTIONS_GHC -fno-warn-orphans #-}+ module Pandora.Paradigm.Structure.Specific.Graph (Graph, loose) where -import Pandora.Core.Functor (type (:.), type (:=)) import Pandora.Core.Transformation (type (~>))-import Pandora.Core.Morphism ((.))-import Pandora.Paradigm.Basis.Edges (Edges (Empty, Overlay))-import Pandora.Paradigm.Basis.Twister (Twister ((:<)))-import Pandora.Paradigm.Inventory.State (fold)+import Pandora.Pattern.Category ((.)) import Pandora.Pattern.Functor.Covariant (Covariant ((<$>), (<$$>))) import Pandora.Pattern.Functor.Divariant (($)) import Pandora.Pattern.Functor.Traversable (Traversable ((->>), (->>>)))-import Pandora.Paradigm.Controlflow.Joint.Interpreted (Interpreted (Primary, unwrap))---- | Acyclic graph structure without loops-newtype Graph a = Graph (Edges :. Twister Edges := a)+import Pandora.Paradigm.Basis.Edges (Edges (Empty, Overlay))+import Pandora.Paradigm.Basis.Twister (Twister (Twister))+import Pandora.Paradigm.Controlflow.Joint.Schemes.UT (UT (UT))+import Pandora.Paradigm.Inventory.State (fold) -instance Covariant Graph where-	f <$> Graph stack = Graph $ f <$$> stack+-- | Directed acyclic graph structure+type Graph = UT Covariant Covariant (Twister Edges) Edges -instance Traversable Graph where-	Graph stack ->> f = Graph <$> stack ->>> f+instance Covariant (UT Covariant Covariant (Twister Edges) Edges) where+	f <$> UT g = UT $ f <$$> g -instance Interpreted Graph where-	type Primary Graph a = Edges :. Twister Edges := a-	unwrap (Graph stack) = stack+instance Traversable (UT Covariant Covariant (Twister Edges) Edges) where+	UT g ->> f = UT <$> g ->>> f  -- | Transform any traversable structure into all loose edges graph loose :: Traversable t => t ~> Graph-loose = Graph . fold Empty (\x -> Overlay . (:<) x)+loose = UT . fold Empty (\x -> Overlay . Twister x)
Pandora/Paradigm/Structure/Specific/Stack.hs view
@@ -1,13 +1,14 @@+{-# OPTIONS_GHC -fno-warn-orphans #-}+ module Pandora.Paradigm.Structure.Specific.Stack (Stack, push, top, pop, filter, linearize) where -import Pandora.Core.Functor (type (:.), type (:=))-import Pandora.Core.Morphism ((.)) import Pandora.Core.Transformation (type (~>)) import Pandora.Paradigm.Basis.Maybe (Maybe (Just, Nothing)) import Pandora.Paradigm.Basis.Predicate (Predicate (Predicate))-import Pandora.Paradigm.Basis.Twister (Twister ((:<)), untwist)+import Pandora.Paradigm.Basis.Twister (Twister (Twister), untwist) import Pandora.Paradigm.Inventory.State (fold)-import Pandora.Paradigm.Controlflow.Joint.Interpreted (Interpreted (Primary, unwrap))+import Pandora.Paradigm.Controlflow.Joint.Schemes.UT (UT (UT))+import Pandora.Pattern.Category ((.)) import Pandora.Pattern.Functor.Covariant (Covariant ((<$>), (<$$>))) import Pandora.Pattern.Functor.Alternative (Alternative ((<+>))) import Pandora.Pattern.Functor.Avoidable (Avoidable (empty))@@ -20,43 +21,39 @@ import Pandora.Pattern.Object.Setoid ((?))  -- | Linear data structure that serves as a collection of elements-newtype Stack a = Stack (Maybe :. Twister Maybe := a)--instance Covariant Stack where-	f <$> Stack stack = Stack $ f <$$> stack+type Stack = UT Covariant Covariant (Twister Maybe) Maybe -instance Pointable Stack where-	point x = Stack . Just $ x :< Nothing+instance Covariant (UT Covariant Covariant (Twister Maybe) Maybe) where+	f <$> UT stack = UT $ f <$$> stack -instance Alternative Stack where-	Stack stack <+> Stack stack' = Stack $ stack <+> stack'+instance Pointable (UT Covariant Covariant (Twister Maybe) Maybe) where+	point = UT . Just . point -instance Avoidable Stack where-	empty = Stack Nothing+instance Alternative (UT Covariant Covariant (Twister Maybe) Maybe) where+	UT x <+> UT y = UT $ x <+> y -instance Applicative Stack where-	Stack f <*> Stack x = Stack $ f <**> x+instance Avoidable (UT Covariant Covariant (Twister Maybe) Maybe) where+	empty = UT Nothing -instance Traversable Stack where-	Stack stack ->> f = Stack <$> stack ->>> f+instance Applicative (UT Covariant Covariant (Twister Maybe) Maybe) where+	UT f <*> UT x = UT $ f <**> x -instance Interpreted Stack where-	type Primary Stack a = Maybe :. Twister Maybe := a-	unwrap (Stack stack) = stack+instance Traversable (UT Covariant Covariant (Twister Maybe) Maybe) where+	UT stack ->> f = UT <$> stack ->>> f  push :: a -> Stack a -> Stack a-push x (Stack stack) = Stack $ ((:<) x . Just <$> stack) <+> (point . point) x+push x (UT stack) = UT $ (Twister x . Just <$> stack) <+> (point . point) x  top :: Stack ~> Maybe-top (Stack stack) = extract <$> stack+top (UT stack) = extract <$> stack  pop :: Stack ~> Stack-pop (Stack stack) = Stack $ stack >>= untwist+pop (UT stack) = UT $ stack >>= untwist  filter :: Predicate a -> Stack a -> Stack a-filter (Predicate p) = Stack . fold empty-	(\now new -> p now ? Just (now :< new) $ new)+filter (Predicate p) = UT . fold empty+	(\now new -> p now ? Just (Twister now new) $ new)  -- | Transform any traversable structure into a stack linearize :: Traversable t => t ~> Stack-linearize = Stack . fold Nothing (\x -> Just . (:<) x)+linearize = UT . fold Nothing (\x -> Just . Twister x)
Pandora/Pattern.hs view
@@ -1,5 +1,5 @@ module Pandora.Pattern (module Exports) where  import Pandora.Pattern.Object as Exports-import Pandora.Paradigm.Controlflow.Joint as Exports import Pandora.Pattern.Functor as Exports+import Pandora.Pattern.Category as Exports
+ Pandora/Pattern/Category.hs view
@@ -0,0 +1,11 @@+module Pandora.Pattern.Category (Category (..)) where++infixr 8 .++class Category (m :: * -> * -> *) where+	identity :: m a a+	(.) :: m b c -> m a b -> m a c++instance Category (->) where+	identity x = x+	f . g = \x -> f (g x)
Pandora/Pattern/Functor/Adjoint.hs view
@@ -1,7 +1,7 @@ module Pandora.Pattern.Functor.Adjoint (Adjoint (..), type (-|)) where  import Pandora.Core.Functor (type (:.), type (:=))-import Pandora.Core.Morphism (identity)+import Pandora.Pattern.Category (identity) import Pandora.Pattern.Functor.Covariant (Covariant)  type (-|) = Adjoint
Pandora/Pattern/Functor/Applicative.hs view
@@ -1,7 +1,7 @@ module Pandora.Pattern.Functor.Applicative (Applicative (..)) where  import Pandora.Core.Functor (type (:.), type (:=))-import Pandora.Core.Morphism (identity)+import Pandora.Pattern.Category (identity) import Pandora.Pattern.Functor.Covariant (Covariant ((<$>), (<$)))  infixl 4 <*>, <*, *>
Pandora/Pattern/Functor/Bindable.hs view
@@ -1,7 +1,8 @@ module Pandora.Pattern.Functor.Bindable (Bindable (..)) where  import Pandora.Core.Functor (type (:.), type (:=))-import Pandora.Core.Morphism ((%), identity)+import Pandora.Core.Morphism ((%))+import Pandora.Pattern.Category (identity) import Pandora.Pattern.Functor.Covariant (Covariant)  infixl 1 >>=
Pandora/Pattern/Functor/Contravariant.hs view
@@ -1,7 +1,8 @@ module Pandora.Pattern.Functor.Contravariant (Contravariant (..)) where  import Pandora.Core.Functor (type (:.), type (:=))-import Pandora.Core.Morphism ((.), (!), (%))+import Pandora.Core.Morphism ((!), (%))+import Pandora.Pattern.Category ((.))  infixl 4 >$<, $<, >$ 
Pandora/Pattern/Functor/Covariant.hs view
@@ -1,7 +1,8 @@ module Pandora.Pattern.Functor.Covariant (Covariant (..)) where  import Pandora.Core.Functor (type (:.), type (:=), type (<-|))-import Pandora.Core.Morphism (fix, (.), (!), (%))+import Pandora.Core.Morphism (fix, (!), (%))+import Pandora.Pattern.Category ((.))  infixl 4 <$>, <$, $> 
Pandora/Pattern/Functor/Distributive.hs view
@@ -1,9 +1,9 @@ module Pandora.Pattern.Functor.Distributive (Distributive (..)) where  import Pandora.Core.Functor (type (:.), type (:=))-import Pandora.Core.Morphism (identity, (.), (%))+import Pandora.Core.Morphism ((%)) import Pandora.Pattern.Functor.Covariant (Covariant ((<$>)))-+import Pandora.Pattern.Category (identity, (.)) {- | > Let f :: Distributive g => (a -> g b) 
Pandora/Pattern/Functor/Divariant.hs view
@@ -1,8 +1,6 @@ module Pandora.Pattern.Functor.Divariant (Divariant (..)) where -import Pandora.Pattern.Functor.Covariant (Covariant)--import Pandora.Core.Morphism ((.))+import Pandora.Pattern.Category ((.))  infixl 4 >-> infixr 0 $@@ -13,16 +11,14 @@ > * Interpreted: dimap (f . g) (h . i) ≡ dimap g h . dimap f i -} -class (forall a . Covariant (t a)) => Divariant (t :: * -> * -> *) where+class Divariant (v :: * -> * -> *) where 	{-# MINIMAL (>->) #-}-	-- | Infix version of 'comap'-	(>->) :: (a -> b) -> (c -> d) -> t b c -> t a d-+	(>->) :: v a b -> v c d -> v b c -> v a d 	-- | Prefix version of '>->'-	dimap :: (a -> b) -> (c -> d) -> t b c -> t a d-	dimap f g x = (f >-> g) x--	($) :: t a b -> t a b+	dimap :: v a b -> v c d -> v b c -> v a d+	dimap f g x = f >-> g $ x+	-- Generalized function application+	($) :: v a b -> v a b 	($) f = f  instance Divariant ((->)) where
Pandora/Pattern/Functor/Extendable.hs view
@@ -1,7 +1,8 @@ module Pandora.Pattern.Functor.Extendable (Extendable (..)) where  import Pandora.Core.Functor (type (:.), type (:=))-import Pandora.Core.Morphism ((.), (%), identity)+import Pandora.Core.Morphism ((%))+import Pandora.Pattern.Category (identity, (.)) import Pandora.Pattern.Functor.Covariant (Covariant)  infixl 1 =>>
Pandora/Pattern/Functor/Representable.hs view
@@ -1,7 +1,8 @@ module Pandora.Pattern.Functor.Representable (Representable (..)) where  import Pandora.Core.Functor (type (<-|))-import Pandora.Core.Morphism (identity, (%))+import Pandora.Core.Morphism ((%))+import Pandora.Pattern.Category (identity) import Pandora.Pattern.Functor.Pointable (Pointable)  {- |
Pandora/Pattern/Functor/Traversable.hs view
@@ -1,7 +1,7 @@ module Pandora.Pattern.Functor.Traversable (Traversable (..)) where  import Pandora.Core.Functor (type (:.), type (:=))-import Pandora.Core.Morphism (identity, (.))+import Pandora.Pattern.Category (identity, (.)) import Pandora.Pattern.Functor.Covariant (Covariant) import Pandora.Pattern.Functor.Applicative (Applicative) import Pandora.Pattern.Functor.Pointable (Pointable)
pandora.cabal view
@@ -1,5 +1,5 @@ name:                pandora-version:             0.2.2+version:             0.2.3 synopsis:            A box of patterns and paradigms description:         Humble attempt to define a library for problem solving based on math abstractions. homepage:            https://github.com/iokasimov/pandora@@ -55,6 +55,9 @@     Pandora.Paradigm.Controlflow.Joint     Pandora.Paradigm.Controlflow.Joint.Interpreted     Pandora.Paradigm.Controlflow.Joint.Transformer+    Pandora.Paradigm.Controlflow.Joint.Transformer.Monadic+    Pandora.Paradigm.Controlflow.Joint.Transformer.Comonadic+    Pandora.Paradigm.Controlflow.Joint.Schematic     Pandora.Paradigm.Controlflow.Joint.Adaptable     Pandora.Paradigm.Controlflow.Joint.Schemes     Pandora.Paradigm.Controlflow.Joint.Schemes.TU@@ -70,7 +73,7 @@     Pandora.Paradigm.Inventory.Environment     Pandora.Paradigm.Inventory.Optics     Pandora.Paradigm.Inventory.State-    Pandora.Paradigm.Inventory.Storage+    Pandora.Paradigm.Inventory.Store     -- Tree-based datastructures     Pandora.Paradigm.Structure     Pandora.Paradigm.Structure.Cartesian@@ -81,6 +84,8 @@     Pandora.Paradigm.Structure.Specific.Binary      Pandora.Pattern+    -- Category typeclass+    Pandora.Pattern.Category     -- Functor typeclassess     Pandora.Pattern.Functor     Pandora.Pattern.Functor.Adjoint@@ -119,6 +124,5 @@     FlexibleContexts, FlexibleInstances, KindSignatures, LiberalTypeSynonyms     MultiParamTypeClasses, NoImplicitPrelude, PackageImports, PolyKinds, RankNTypes     ScopedTypeVariables, TypeApplications, TypeFamilies, TypeFamilyDependencies, TypeOperators-    UndecidableInstances   default-language: Haskell2010   ghc-options: -Wall -fno-warn-tabs