packages feed

pandora 0.1.8 → 0.1.9

raw patch · 41 files changed

+613/−560 lines, 41 filesPVP: major bump suggested

API removals or changes: PVP suggests a major version bump

API changes (from Hackage documentation)

- Pandora.Paradigm.Basis.Conclusion: instance (Pandora.Pattern.Functor.Pointable.Pointable u, Pandora.Pattern.Functor.Bindable.Bindable u) => Pandora.Pattern.Functor.Bindable.Bindable (Pandora.Paradigm.Junction.Schemes.UT.UT (Pandora.Paradigm.Basis.Conclusion.Conclusion e) () (Pandora.Paradigm.Basis.Conclusion.Conclusion e) u)
- Pandora.Paradigm.Basis.Conclusion: instance Pandora.Paradigm.Junction.Composition.Composition (Pandora.Paradigm.Basis.Conclusion.Conclusion e)
- Pandora.Paradigm.Basis.Conclusion: instance Pandora.Paradigm.Junction.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.Junction.Schemes.UT.UT (Pandora.Paradigm.Basis.Conclusion.Conclusion e) () (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.Junction.Schemes.UT.UT (Pandora.Paradigm.Basis.Conclusion.Conclusion e) () (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.Junction.Schemes.UT.UT (Pandora.Paradigm.Basis.Conclusion.Conclusion e) () (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.Junction.Schemes.UT.UT (Pandora.Paradigm.Basis.Conclusion.Conclusion e) () (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.Junction.Schemes.UT.UT Pandora.Paradigm.Basis.Maybe.Maybe () Pandora.Paradigm.Basis.Maybe.Maybe u)
- Pandora.Paradigm.Basis.Maybe: instance Pandora.Paradigm.Junction.Composition.Composition Pandora.Paradigm.Basis.Maybe.Maybe
- Pandora.Paradigm.Basis.Maybe: instance Pandora.Paradigm.Junction.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.Junction.Schemes.UT.UT Pandora.Paradigm.Basis.Maybe.Maybe () Pandora.Paradigm.Basis.Maybe.Maybe u)
- Pandora.Paradigm.Basis.Maybe: instance Pandora.Pattern.Functor.Covariant.Covariant u => Pandora.Pattern.Functor.Covariant.Covariant (Pandora.Paradigm.Junction.Schemes.UT.UT Pandora.Paradigm.Basis.Maybe.Maybe () Pandora.Paradigm.Basis.Maybe.Maybe u)
- Pandora.Paradigm.Basis.Maybe: instance Pandora.Pattern.Functor.Monad.Monad u => Pandora.Pattern.Functor.Monad.Monad (Pandora.Paradigm.Junction.Schemes.UT.UT Pandora.Paradigm.Basis.Maybe.Maybe () Pandora.Paradigm.Basis.Maybe.Maybe u)
- Pandora.Paradigm.Basis.Maybe: instance Pandora.Pattern.Functor.Pointable.Pointable u => Pandora.Pattern.Functor.Pointable.Pointable (Pandora.Paradigm.Junction.Schemes.UT.UT Pandora.Paradigm.Basis.Maybe.Maybe () Pandora.Paradigm.Basis.Maybe.Maybe u)
- Pandora.Paradigm.Basis.Twister: unwrap :: Twister t a -> (t :.: Twister t) a
- Pandora.Paradigm.Inventory.Stateful: instance Pandora.Paradigm.Junction.Composition.Composition (Pandora.Paradigm.Inventory.Stateful.Stateful s)
- Pandora.Paradigm.Inventory.Stateful: instance Pandora.Paradigm.Junction.Transformer.Transformer (Pandora.Paradigm.Inventory.Stateful.Stateful s)
- Pandora.Paradigm.Inventory.Stateful: instance Pandora.Pattern.Functor.Bindable.Bindable u => Pandora.Pattern.Functor.Applicative.Applicative (Pandora.Paradigm.Junction.Schemes.TUV.TUV Pandora.Paradigm.Inventory.Stateful.Stateful () Pandora.Paradigm.Inventory.Stateful.Stateful ((->) s) u ((Pandora.Paradigm.Basis.Product.:*:) s))
- Pandora.Paradigm.Inventory.Stateful: instance Pandora.Pattern.Functor.Bindable.Bindable u => Pandora.Pattern.Functor.Bindable.Bindable (Pandora.Paradigm.Junction.Schemes.TUV.TUV Pandora.Paradigm.Inventory.Stateful.Stateful () Pandora.Paradigm.Inventory.Stateful.Stateful ((->) s) u ((Pandora.Paradigm.Basis.Product.:*:) s))
- Pandora.Paradigm.Inventory.Stateful: instance Pandora.Pattern.Functor.Covariant.Covariant u => Pandora.Pattern.Functor.Covariant.Covariant (Pandora.Paradigm.Junction.Schemes.TUV.TUV Pandora.Paradigm.Inventory.Stateful.Stateful () Pandora.Paradigm.Inventory.Stateful.Stateful ((->) s) u ((Pandora.Paradigm.Basis.Product.:*:) s))
- Pandora.Paradigm.Inventory.Stateful: instance Pandora.Pattern.Functor.Monad.Monad u => Pandora.Pattern.Functor.Monad.Monad (Pandora.Paradigm.Junction.Schemes.TUV.TUV Pandora.Paradigm.Inventory.Stateful.Stateful () Pandora.Paradigm.Inventory.Stateful.Stateful ((->) s) u ((Pandora.Paradigm.Basis.Product.:*:) s))
- Pandora.Paradigm.Inventory.Stateful: instance Pandora.Pattern.Functor.Pointable.Pointable u => Pandora.Pattern.Functor.Pointable.Pointable (Pandora.Paradigm.Junction.Schemes.TUV.TUV Pandora.Paradigm.Inventory.Stateful.Stateful () Pandora.Paradigm.Inventory.Stateful.Stateful ((->) s) u ((Pandora.Paradigm.Basis.Product.:*:) s))
- Pandora.Paradigm.Junction.Composition: class Composition t where {
- Pandora.Paradigm.Junction.Composition: composition :: Composition t => t a -> Outline t a
- Pandora.Paradigm.Junction.Composition: type family Outline t a :: *;
- Pandora.Paradigm.Junction.Composition: }
- Pandora.Paradigm.Junction.Kan: Lan :: ((t b -> a) -> u b) -> Lan
- Pandora.Paradigm.Junction.Kan: Ran :: ((a -> t b) -> u b) -> Ran
- Pandora.Paradigm.Junction.Kan: [lan] :: Lan -> (t b -> a) -> u b
- Pandora.Paradigm.Junction.Kan: [ran] :: Ran -> (a -> t b) -> u b
- Pandora.Paradigm.Junction.Kan: instance Pandora.Pattern.Functor.Contravariant.Contravariant (Pandora.Paradigm.Junction.Kan.Lan t u b)
- Pandora.Paradigm.Junction.Kan: instance Pandora.Pattern.Functor.Covariant.Covariant (Pandora.Paradigm.Junction.Kan.Ran t u b)
- Pandora.Paradigm.Junction.Kan: newtype Lan (t :: * -> *) (u :: * -> *) (b :: *) (a :: *)
- Pandora.Paradigm.Junction.Kan: newtype Ran (t :: * -> *) (u :: * -> *) (b :: *) (a :: *)
- Pandora.Paradigm.Junction.Schemes.TU: TU :: ((t :.: u) >< a) -> TU ct cu t u a
- Pandora.Paradigm.Junction.Schemes.TU: instance (Pandora.Pattern.Functor.Alternative.Alternative t, Pandora.Pattern.Functor.Covariant.Covariant u) => Pandora.Pattern.Functor.Alternative.Alternative (Pandora.Paradigm.Junction.Schemes.TU.TU 'Pandora.Core.Functor.Co 'Pandora.Core.Functor.Co t u)
- Pandora.Paradigm.Junction.Schemes.TU: instance (Pandora.Pattern.Functor.Applicative.Applicative t, Pandora.Pattern.Functor.Applicative.Applicative u) => Pandora.Pattern.Functor.Applicative.Applicative (Pandora.Paradigm.Junction.Schemes.TU.TU 'Pandora.Core.Functor.Co 'Pandora.Core.Functor.Co t u)
- Pandora.Paradigm.Junction.Schemes.TU: instance (Pandora.Pattern.Functor.Avoidable.Avoidable t, Pandora.Pattern.Functor.Covariant.Covariant u) => Pandora.Pattern.Functor.Avoidable.Avoidable (Pandora.Paradigm.Junction.Schemes.TU.TU 'Pandora.Core.Functor.Co 'Pandora.Core.Functor.Co t u)
- Pandora.Paradigm.Junction.Schemes.TU: instance (Pandora.Pattern.Functor.Contravariant.Contravariant t, Pandora.Pattern.Functor.Contravariant.Contravariant u) => Pandora.Pattern.Functor.Covariant.Covariant (Pandora.Paradigm.Junction.Schemes.TU.TU 'Pandora.Core.Functor.Contra 'Pandora.Core.Functor.Contra t u)
- Pandora.Paradigm.Junction.Schemes.TU: instance (Pandora.Pattern.Functor.Contravariant.Contravariant t, Pandora.Pattern.Functor.Covariant.Covariant u) => Pandora.Pattern.Functor.Contravariant.Contravariant (Pandora.Paradigm.Junction.Schemes.TU.TU 'Pandora.Core.Functor.Contra 'Pandora.Core.Functor.Co t u)
- Pandora.Paradigm.Junction.Schemes.TU: instance (Pandora.Pattern.Functor.Covariant.Covariant t, Pandora.Pattern.Functor.Contravariant.Contravariant u) => Pandora.Pattern.Functor.Contravariant.Contravariant (Pandora.Paradigm.Junction.Schemes.TU.TU 'Pandora.Core.Functor.Co 'Pandora.Core.Functor.Contra t u)
- Pandora.Paradigm.Junction.Schemes.TU: instance (Pandora.Pattern.Functor.Covariant.Covariant t, Pandora.Pattern.Functor.Covariant.Covariant u) => Pandora.Pattern.Functor.Covariant.Covariant (Pandora.Paradigm.Junction.Schemes.TU.TU 'Pandora.Core.Functor.Co 'Pandora.Core.Functor.Co t u)
- Pandora.Paradigm.Junction.Schemes.TU: instance (Pandora.Pattern.Functor.Distributive.Distributive t, Pandora.Pattern.Functor.Distributive.Distributive u) => Pandora.Pattern.Functor.Distributive.Distributive (Pandora.Paradigm.Junction.Schemes.TU.TU 'Pandora.Core.Functor.Co 'Pandora.Core.Functor.Co t u)
- Pandora.Paradigm.Junction.Schemes.TU: instance (Pandora.Pattern.Functor.Extractable.Extractable t, Pandora.Pattern.Functor.Extractable.Extractable u) => Pandora.Pattern.Functor.Extractable.Extractable (Pandora.Paradigm.Junction.Schemes.TU.TU 'Pandora.Core.Functor.Co 'Pandora.Core.Functor.Co t u)
- Pandora.Paradigm.Junction.Schemes.TU: instance (Pandora.Pattern.Functor.Pointable.Pointable t, Pandora.Pattern.Functor.Pointable.Pointable u) => Pandora.Pattern.Functor.Pointable.Pointable (Pandora.Paradigm.Junction.Schemes.TU.TU 'Pandora.Core.Functor.Co 'Pandora.Core.Functor.Co t u)
- Pandora.Paradigm.Junction.Schemes.TU: instance (Pandora.Pattern.Functor.Traversable.Traversable t, Pandora.Pattern.Functor.Traversable.Traversable u) => Pandora.Pattern.Functor.Traversable.Traversable (Pandora.Paradigm.Junction.Schemes.TU.TU 'Pandora.Core.Functor.Co 'Pandora.Core.Functor.Co t u)
- Pandora.Paradigm.Junction.Schemes.TU: instance (t Pandora.Paradigm.Junction.Schemes.TU.:-|: u, v Pandora.Paradigm.Junction.Schemes.TU.:-|: w) => Pandora.Pattern.Functor.Adjoint.Adjoint (Pandora.Paradigm.Junction.Schemes.TU.TU 'Pandora.Core.Functor.Co 'Pandora.Core.Functor.Co t v) (Pandora.Paradigm.Junction.Schemes.TU.TU 'Pandora.Core.Functor.Co 'Pandora.Core.Functor.Co u w)
- Pandora.Paradigm.Junction.Schemes.TU: instance forall k1 k2 k3 (ct :: k3) (cu :: k2) (t :: k1 -> *) (u :: * -> k1). Pandora.Paradigm.Junction.Composition.Composition (Pandora.Paradigm.Junction.Schemes.TU.TU ct cu t u)
- Pandora.Paradigm.Junction.Schemes.TU: newtype TU ct cu t u a
- Pandora.Paradigm.Junction.Schemes.TUV: TUV :: ((t :.: (u :.: v)) >< a) -> TUV ct cu cv t u v a
- Pandora.Paradigm.Junction.Schemes.TUV: instance (Pandora.Pattern.Functor.Alternative.Alternative t, Pandora.Pattern.Functor.Covariant.Covariant u, Pandora.Pattern.Functor.Covariant.Covariant v) => Pandora.Pattern.Functor.Alternative.Alternative (Pandora.Paradigm.Junction.Schemes.TUV.TUV 'Pandora.Core.Functor.Co 'Pandora.Core.Functor.Co 'Pandora.Core.Functor.Co t u v)
- Pandora.Paradigm.Junction.Schemes.TUV: instance (Pandora.Pattern.Functor.Applicative.Applicative t, Pandora.Pattern.Functor.Applicative.Applicative u, Pandora.Pattern.Functor.Applicative.Applicative v) => Pandora.Pattern.Functor.Applicative.Applicative (Pandora.Paradigm.Junction.Schemes.TUV.TUV 'Pandora.Core.Functor.Co 'Pandora.Core.Functor.Co 'Pandora.Core.Functor.Co t u v)
- Pandora.Paradigm.Junction.Schemes.TUV: instance (Pandora.Pattern.Functor.Avoidable.Avoidable t, Pandora.Pattern.Functor.Covariant.Covariant u, Pandora.Pattern.Functor.Covariant.Covariant v) => Pandora.Pattern.Functor.Avoidable.Avoidable (Pandora.Paradigm.Junction.Schemes.TUV.TUV 'Pandora.Core.Functor.Co 'Pandora.Core.Functor.Co 'Pandora.Core.Functor.Co t u v)
- Pandora.Paradigm.Junction.Schemes.TUV: instance (Pandora.Pattern.Functor.Contravariant.Contravariant t, Pandora.Pattern.Functor.Contravariant.Contravariant u, Pandora.Pattern.Functor.Contravariant.Contravariant v) => Pandora.Pattern.Functor.Contravariant.Contravariant (Pandora.Paradigm.Junction.Schemes.TUV.TUV 'Pandora.Core.Functor.Contra 'Pandora.Core.Functor.Contra 'Pandora.Core.Functor.Contra t u v)
- Pandora.Paradigm.Junction.Schemes.TUV: instance (Pandora.Pattern.Functor.Contravariant.Contravariant t, Pandora.Pattern.Functor.Contravariant.Contravariant u, Pandora.Pattern.Functor.Covariant.Covariant v) => Pandora.Pattern.Functor.Covariant.Covariant (Pandora.Paradigm.Junction.Schemes.TUV.TUV 'Pandora.Core.Functor.Contra 'Pandora.Core.Functor.Contra 'Pandora.Core.Functor.Co t u v)
- Pandora.Paradigm.Junction.Schemes.TUV: instance (Pandora.Pattern.Functor.Contravariant.Contravariant t, Pandora.Pattern.Functor.Covariant.Covariant u, Pandora.Pattern.Functor.Contravariant.Contravariant v) => Pandora.Pattern.Functor.Covariant.Covariant (Pandora.Paradigm.Junction.Schemes.TUV.TUV 'Pandora.Core.Functor.Contra 'Pandora.Core.Functor.Co 'Pandora.Core.Functor.Contra t u v)
- Pandora.Paradigm.Junction.Schemes.TUV: instance (Pandora.Pattern.Functor.Contravariant.Contravariant t, Pandora.Pattern.Functor.Covariant.Covariant u, Pandora.Pattern.Functor.Covariant.Covariant v) => Pandora.Pattern.Functor.Contravariant.Contravariant (Pandora.Paradigm.Junction.Schemes.TUV.TUV 'Pandora.Core.Functor.Contra 'Pandora.Core.Functor.Co 'Pandora.Core.Functor.Co t u v)
- Pandora.Paradigm.Junction.Schemes.TUV: instance (Pandora.Pattern.Functor.Covariant.Covariant t, Pandora.Pattern.Functor.Contravariant.Contravariant u, Pandora.Pattern.Functor.Contravariant.Contravariant v) => Pandora.Pattern.Functor.Covariant.Covariant (Pandora.Paradigm.Junction.Schemes.TUV.TUV 'Pandora.Core.Functor.Co 'Pandora.Core.Functor.Contra 'Pandora.Core.Functor.Contra t u v)
- Pandora.Paradigm.Junction.Schemes.TUV: instance (Pandora.Pattern.Functor.Covariant.Covariant t, Pandora.Pattern.Functor.Contravariant.Contravariant u, Pandora.Pattern.Functor.Covariant.Covariant v) => Pandora.Pattern.Functor.Contravariant.Contravariant (Pandora.Paradigm.Junction.Schemes.TUV.TUV 'Pandora.Core.Functor.Co 'Pandora.Core.Functor.Contra 'Pandora.Core.Functor.Co t u v)
- Pandora.Paradigm.Junction.Schemes.TUV: instance (Pandora.Pattern.Functor.Covariant.Covariant t, Pandora.Pattern.Functor.Covariant.Covariant u, Pandora.Pattern.Functor.Contravariant.Contravariant v) => Pandora.Pattern.Functor.Contravariant.Contravariant (Pandora.Paradigm.Junction.Schemes.TUV.TUV 'Pandora.Core.Functor.Co 'Pandora.Core.Functor.Co 'Pandora.Core.Functor.Contra t u v)
- Pandora.Paradigm.Junction.Schemes.TUV: instance (Pandora.Pattern.Functor.Covariant.Covariant t, Pandora.Pattern.Functor.Covariant.Covariant u, Pandora.Pattern.Functor.Covariant.Covariant v) => Pandora.Pattern.Functor.Covariant.Covariant (Pandora.Paradigm.Junction.Schemes.TUV.TUV 'Pandora.Core.Functor.Co 'Pandora.Core.Functor.Co 'Pandora.Core.Functor.Co t u v)
- Pandora.Paradigm.Junction.Schemes.TUV: instance (Pandora.Pattern.Functor.Distributive.Distributive t, Pandora.Pattern.Functor.Distributive.Distributive u, Pandora.Pattern.Functor.Distributive.Distributive v) => Pandora.Pattern.Functor.Distributive.Distributive (Pandora.Paradigm.Junction.Schemes.TUV.TUV 'Pandora.Core.Functor.Co 'Pandora.Core.Functor.Co 'Pandora.Core.Functor.Co t u v)
- Pandora.Paradigm.Junction.Schemes.TUV: instance (Pandora.Pattern.Functor.Extractable.Extractable t, Pandora.Pattern.Functor.Extractable.Extractable u, Pandora.Pattern.Functor.Extractable.Extractable v) => Pandora.Pattern.Functor.Extractable.Extractable (Pandora.Paradigm.Junction.Schemes.TUV.TUV 'Pandora.Core.Functor.Co 'Pandora.Core.Functor.Co 'Pandora.Core.Functor.Co t u v)
- Pandora.Paradigm.Junction.Schemes.TUV: instance (Pandora.Pattern.Functor.Pointable.Pointable t, Pandora.Pattern.Functor.Pointable.Pointable u, Pandora.Pattern.Functor.Pointable.Pointable v) => Pandora.Pattern.Functor.Pointable.Pointable (Pandora.Paradigm.Junction.Schemes.TUV.TUV 'Pandora.Core.Functor.Co 'Pandora.Core.Functor.Co 'Pandora.Core.Functor.Co t u v)
- Pandora.Paradigm.Junction.Schemes.TUV: instance (Pandora.Pattern.Functor.Traversable.Traversable t, Pandora.Pattern.Functor.Traversable.Traversable u, Pandora.Pattern.Functor.Traversable.Traversable v) => Pandora.Pattern.Functor.Traversable.Traversable (Pandora.Paradigm.Junction.Schemes.TUV.TUV 'Pandora.Core.Functor.Co 'Pandora.Core.Functor.Co 'Pandora.Core.Functor.Co t u v)
- Pandora.Paradigm.Junction.Schemes.TUV: instance (t Pandora.Paradigm.Junction.Schemes.TUV.:-|: w, v Pandora.Paradigm.Junction.Schemes.TUV.:-|: x, u Pandora.Paradigm.Junction.Schemes.TUV.:-|: y) => Pandora.Pattern.Functor.Adjoint.Adjoint (Pandora.Paradigm.Junction.Schemes.TUV.TUV 'Pandora.Core.Functor.Co 'Pandora.Core.Functor.Co 'Pandora.Core.Functor.Co t v u) (Pandora.Paradigm.Junction.Schemes.TUV.TUV 'Pandora.Core.Functor.Co 'Pandora.Core.Functor.Co 'Pandora.Core.Functor.Co w x y)
- Pandora.Paradigm.Junction.Schemes.TUV: instance forall k1 k2 k3 k4 k5 (ct :: k5) (cu :: k4) (cv :: k3) (t :: k2 -> *) (u :: k1 -> k2) (v :: * -> k1). Pandora.Paradigm.Junction.Composition.Composition (Pandora.Paradigm.Junction.Schemes.TUV.TUV ct cu cv t u v)
- Pandora.Paradigm.Junction.Schemes.TUV: newtype TUV ct cu cv t u v a
- Pandora.Paradigm.Junction.Schemes.TUVW: TUVW :: ((t :.: (u :.: (v :.: w))) >< a) -> TUVW ct cu cv cw t u v w a
- Pandora.Paradigm.Junction.Schemes.TUVW: instance (Pandora.Pattern.Functor.Alternative.Alternative t, Pandora.Pattern.Functor.Covariant.Covariant u, Pandora.Pattern.Functor.Covariant.Covariant v, Pandora.Pattern.Functor.Covariant.Covariant w) => Pandora.Pattern.Functor.Alternative.Alternative (Pandora.Paradigm.Junction.Schemes.TUVW.TUVW 'Pandora.Core.Functor.Co 'Pandora.Core.Functor.Co 'Pandora.Core.Functor.Co 'Pandora.Core.Functor.Co t u v w)
- Pandora.Paradigm.Junction.Schemes.TUVW: instance (Pandora.Pattern.Functor.Applicative.Applicative t, Pandora.Pattern.Functor.Applicative.Applicative u, Pandora.Pattern.Functor.Applicative.Applicative v, Pandora.Pattern.Functor.Applicative.Applicative w) => Pandora.Pattern.Functor.Applicative.Applicative (Pandora.Paradigm.Junction.Schemes.TUVW.TUVW 'Pandora.Core.Functor.Co 'Pandora.Core.Functor.Co 'Pandora.Core.Functor.Co 'Pandora.Core.Functor.Co t u v w)
- Pandora.Paradigm.Junction.Schemes.TUVW: instance (Pandora.Pattern.Functor.Avoidable.Avoidable t, Pandora.Pattern.Functor.Covariant.Covariant u, Pandora.Pattern.Functor.Covariant.Covariant v, Pandora.Pattern.Functor.Covariant.Covariant w) => Pandora.Pattern.Functor.Avoidable.Avoidable (Pandora.Paradigm.Junction.Schemes.TUVW.TUVW 'Pandora.Core.Functor.Co 'Pandora.Core.Functor.Co 'Pandora.Core.Functor.Co 'Pandora.Core.Functor.Co t u v w)
- Pandora.Paradigm.Junction.Schemes.TUVW: instance (Pandora.Pattern.Functor.Contravariant.Contravariant t, Pandora.Pattern.Functor.Contravariant.Contravariant u, Pandora.Pattern.Functor.Contravariant.Contravariant v, Pandora.Pattern.Functor.Contravariant.Contravariant w) => Pandora.Pattern.Functor.Covariant.Covariant (Pandora.Paradigm.Junction.Schemes.TUVW.TUVW 'Pandora.Core.Functor.Contra 'Pandora.Core.Functor.Contra 'Pandora.Core.Functor.Contra 'Pandora.Core.Functor.Contra t u v w)
- Pandora.Paradigm.Junction.Schemes.TUVW: instance (Pandora.Pattern.Functor.Contravariant.Contravariant t, Pandora.Pattern.Functor.Contravariant.Contravariant u, Pandora.Pattern.Functor.Contravariant.Contravariant v, Pandora.Pattern.Functor.Covariant.Covariant w) => Pandora.Pattern.Functor.Contravariant.Contravariant (Pandora.Paradigm.Junction.Schemes.TUVW.TUVW 'Pandora.Core.Functor.Contra 'Pandora.Core.Functor.Contra 'Pandora.Core.Functor.Contra 'Pandora.Core.Functor.Co t u v w)
- Pandora.Paradigm.Junction.Schemes.TUVW: instance (Pandora.Pattern.Functor.Contravariant.Contravariant t, Pandora.Pattern.Functor.Contravariant.Contravariant u, Pandora.Pattern.Functor.Covariant.Covariant v, Pandora.Pattern.Functor.Contravariant.Contravariant w) => Pandora.Pattern.Functor.Contravariant.Contravariant (Pandora.Paradigm.Junction.Schemes.TUVW.TUVW 'Pandora.Core.Functor.Contra 'Pandora.Core.Functor.Contra 'Pandora.Core.Functor.Co 'Pandora.Core.Functor.Contra t u v w)
- Pandora.Paradigm.Junction.Schemes.TUVW: instance (Pandora.Pattern.Functor.Contravariant.Contravariant t, Pandora.Pattern.Functor.Contravariant.Contravariant u, Pandora.Pattern.Functor.Covariant.Covariant v, Pandora.Pattern.Functor.Covariant.Covariant w) => Pandora.Pattern.Functor.Covariant.Covariant (Pandora.Paradigm.Junction.Schemes.TUVW.TUVW 'Pandora.Core.Functor.Contra 'Pandora.Core.Functor.Contra 'Pandora.Core.Functor.Co 'Pandora.Core.Functor.Co t u v w)
- Pandora.Paradigm.Junction.Schemes.TUVW: instance (Pandora.Pattern.Functor.Contravariant.Contravariant t, Pandora.Pattern.Functor.Covariant.Covariant u, Pandora.Pattern.Functor.Contravariant.Contravariant v, Pandora.Pattern.Functor.Contravariant.Contravariant w) => Pandora.Pattern.Functor.Contravariant.Contravariant (Pandora.Paradigm.Junction.Schemes.TUVW.TUVW 'Pandora.Core.Functor.Contra 'Pandora.Core.Functor.Co 'Pandora.Core.Functor.Contra 'Pandora.Core.Functor.Contra t u v w)
- Pandora.Paradigm.Junction.Schemes.TUVW: instance (Pandora.Pattern.Functor.Contravariant.Contravariant t, Pandora.Pattern.Functor.Covariant.Covariant u, Pandora.Pattern.Functor.Contravariant.Contravariant v, Pandora.Pattern.Functor.Covariant.Covariant w) => Pandora.Pattern.Functor.Covariant.Covariant (Pandora.Paradigm.Junction.Schemes.TUVW.TUVW 'Pandora.Core.Functor.Contra 'Pandora.Core.Functor.Co 'Pandora.Core.Functor.Contra 'Pandora.Core.Functor.Co t u v w)
- Pandora.Paradigm.Junction.Schemes.TUVW: instance (Pandora.Pattern.Functor.Contravariant.Contravariant t, Pandora.Pattern.Functor.Covariant.Covariant u, Pandora.Pattern.Functor.Covariant.Covariant v, Pandora.Pattern.Functor.Contravariant.Contravariant w) => Pandora.Pattern.Functor.Covariant.Covariant (Pandora.Paradigm.Junction.Schemes.TUVW.TUVW 'Pandora.Core.Functor.Contra 'Pandora.Core.Functor.Co 'Pandora.Core.Functor.Co 'Pandora.Core.Functor.Contra t u v w)
- Pandora.Paradigm.Junction.Schemes.TUVW: instance (Pandora.Pattern.Functor.Contravariant.Contravariant t, Pandora.Pattern.Functor.Covariant.Covariant u, Pandora.Pattern.Functor.Covariant.Covariant v, Pandora.Pattern.Functor.Covariant.Covariant w) => Pandora.Pattern.Functor.Contravariant.Contravariant (Pandora.Paradigm.Junction.Schemes.TUVW.TUVW 'Pandora.Core.Functor.Contra 'Pandora.Core.Functor.Co 'Pandora.Core.Functor.Co 'Pandora.Core.Functor.Co t u v w)
- Pandora.Paradigm.Junction.Schemes.TUVW: instance (Pandora.Pattern.Functor.Covariant.Covariant t, Pandora.Pattern.Functor.Contravariant.Contravariant u, Pandora.Pattern.Functor.Contravariant.Contravariant v, Pandora.Pattern.Functor.Contravariant.Contravariant w) => Pandora.Pattern.Functor.Contravariant.Contravariant (Pandora.Paradigm.Junction.Schemes.TUVW.TUVW 'Pandora.Core.Functor.Co 'Pandora.Core.Functor.Contra 'Pandora.Core.Functor.Contra 'Pandora.Core.Functor.Contra t u v w)
- Pandora.Paradigm.Junction.Schemes.TUVW: instance (Pandora.Pattern.Functor.Covariant.Covariant t, Pandora.Pattern.Functor.Contravariant.Contravariant u, Pandora.Pattern.Functor.Contravariant.Contravariant v, Pandora.Pattern.Functor.Covariant.Covariant w) => Pandora.Pattern.Functor.Covariant.Covariant (Pandora.Paradigm.Junction.Schemes.TUVW.TUVW 'Pandora.Core.Functor.Co 'Pandora.Core.Functor.Contra 'Pandora.Core.Functor.Contra 'Pandora.Core.Functor.Co t u v w)
- Pandora.Paradigm.Junction.Schemes.TUVW: instance (Pandora.Pattern.Functor.Covariant.Covariant t, Pandora.Pattern.Functor.Contravariant.Contravariant u, Pandora.Pattern.Functor.Covariant.Covariant v, Pandora.Pattern.Functor.Contravariant.Contravariant w) => Pandora.Pattern.Functor.Covariant.Covariant (Pandora.Paradigm.Junction.Schemes.TUVW.TUVW 'Pandora.Core.Functor.Co 'Pandora.Core.Functor.Contra 'Pandora.Core.Functor.Co 'Pandora.Core.Functor.Contra t u v w)
- Pandora.Paradigm.Junction.Schemes.TUVW: instance (Pandora.Pattern.Functor.Covariant.Covariant t, Pandora.Pattern.Functor.Contravariant.Contravariant u, Pandora.Pattern.Functor.Covariant.Covariant v, Pandora.Pattern.Functor.Covariant.Covariant w) => Pandora.Pattern.Functor.Contravariant.Contravariant (Pandora.Paradigm.Junction.Schemes.TUVW.TUVW 'Pandora.Core.Functor.Co 'Pandora.Core.Functor.Contra 'Pandora.Core.Functor.Co 'Pandora.Core.Functor.Co t u v w)
- Pandora.Paradigm.Junction.Schemes.TUVW: instance (Pandora.Pattern.Functor.Covariant.Covariant t, Pandora.Pattern.Functor.Covariant.Covariant u, Pandora.Pattern.Functor.Contravariant.Contravariant v, Pandora.Pattern.Functor.Contravariant.Contravariant w) => Pandora.Pattern.Functor.Covariant.Covariant (Pandora.Paradigm.Junction.Schemes.TUVW.TUVW 'Pandora.Core.Functor.Co 'Pandora.Core.Functor.Co 'Pandora.Core.Functor.Contra 'Pandora.Core.Functor.Contra t u v w)
- Pandora.Paradigm.Junction.Schemes.TUVW: instance (Pandora.Pattern.Functor.Covariant.Covariant t, Pandora.Pattern.Functor.Covariant.Covariant u, Pandora.Pattern.Functor.Contravariant.Contravariant v, Pandora.Pattern.Functor.Covariant.Covariant w) => Pandora.Pattern.Functor.Contravariant.Contravariant (Pandora.Paradigm.Junction.Schemes.TUVW.TUVW 'Pandora.Core.Functor.Co 'Pandora.Core.Functor.Co 'Pandora.Core.Functor.Contra 'Pandora.Core.Functor.Co t u v w)
- Pandora.Paradigm.Junction.Schemes.TUVW: instance (Pandora.Pattern.Functor.Covariant.Covariant t, Pandora.Pattern.Functor.Covariant.Covariant u, Pandora.Pattern.Functor.Covariant.Covariant v, Pandora.Pattern.Functor.Contravariant.Contravariant w) => Pandora.Pattern.Functor.Contravariant.Contravariant (Pandora.Paradigm.Junction.Schemes.TUVW.TUVW 'Pandora.Core.Functor.Co 'Pandora.Core.Functor.Co 'Pandora.Core.Functor.Co 'Pandora.Core.Functor.Contra t u v w)
- Pandora.Paradigm.Junction.Schemes.TUVW: instance (Pandora.Pattern.Functor.Covariant.Covariant t, Pandora.Pattern.Functor.Covariant.Covariant u, Pandora.Pattern.Functor.Covariant.Covariant v, Pandora.Pattern.Functor.Covariant.Covariant w) => Pandora.Pattern.Functor.Covariant.Covariant (Pandora.Paradigm.Junction.Schemes.TUVW.TUVW 'Pandora.Core.Functor.Co 'Pandora.Core.Functor.Co 'Pandora.Core.Functor.Co 'Pandora.Core.Functor.Co t u v w)
- Pandora.Paradigm.Junction.Schemes.TUVW: instance (Pandora.Pattern.Functor.Distributive.Distributive t, Pandora.Pattern.Functor.Distributive.Distributive u, Pandora.Pattern.Functor.Distributive.Distributive v, Pandora.Pattern.Functor.Distributive.Distributive w) => Pandora.Pattern.Functor.Distributive.Distributive (Pandora.Paradigm.Junction.Schemes.TUVW.TUVW 'Pandora.Core.Functor.Co 'Pandora.Core.Functor.Co 'Pandora.Core.Functor.Co 'Pandora.Core.Functor.Co t u v w)
- Pandora.Paradigm.Junction.Schemes.TUVW: instance (Pandora.Pattern.Functor.Extractable.Extractable t, Pandora.Pattern.Functor.Extractable.Extractable u, Pandora.Pattern.Functor.Extractable.Extractable v, Pandora.Pattern.Functor.Extractable.Extractable w) => Pandora.Pattern.Functor.Extractable.Extractable (Pandora.Paradigm.Junction.Schemes.TUVW.TUVW 'Pandora.Core.Functor.Co 'Pandora.Core.Functor.Co 'Pandora.Core.Functor.Co 'Pandora.Core.Functor.Co t u v w)
- Pandora.Paradigm.Junction.Schemes.TUVW: instance (Pandora.Pattern.Functor.Pointable.Pointable t, Pandora.Pattern.Functor.Pointable.Pointable u, Pandora.Pattern.Functor.Pointable.Pointable v, Pandora.Pattern.Functor.Pointable.Pointable w) => Pandora.Pattern.Functor.Pointable.Pointable (Pandora.Paradigm.Junction.Schemes.TUVW.TUVW 'Pandora.Core.Functor.Co 'Pandora.Core.Functor.Co 'Pandora.Core.Functor.Co 'Pandora.Core.Functor.Co t u v w)
- Pandora.Paradigm.Junction.Schemes.TUVW: instance (Pandora.Pattern.Functor.Traversable.Traversable t, Pandora.Pattern.Functor.Traversable.Traversable u, Pandora.Pattern.Functor.Traversable.Traversable v, Pandora.Pattern.Functor.Traversable.Traversable w) => Pandora.Pattern.Functor.Traversable.Traversable (Pandora.Paradigm.Junction.Schemes.TUVW.TUVW 'Pandora.Core.Functor.Co 'Pandora.Core.Functor.Co 'Pandora.Core.Functor.Co 'Pandora.Core.Functor.Co t u v w)
- Pandora.Paradigm.Junction.Schemes.TUVW: instance (t Pandora.Paradigm.Junction.Schemes.TUVW.:-|: u, v Pandora.Paradigm.Junction.Schemes.TUVW.:-|: w, q Pandora.Paradigm.Junction.Schemes.TUVW.:-|: q, r Pandora.Paradigm.Junction.Schemes.TUVW.:-|: s) => Pandora.Pattern.Functor.Adjoint.Adjoint (Pandora.Paradigm.Junction.Schemes.TUVW.TUVW 'Pandora.Core.Functor.Co 'Pandora.Core.Functor.Co 'Pandora.Core.Functor.Co 'Pandora.Core.Functor.Co t v q r) (Pandora.Paradigm.Junction.Schemes.TUVW.TUVW 'Pandora.Core.Functor.Co 'Pandora.Core.Functor.Co 'Pandora.Core.Functor.Co 'Pandora.Core.Functor.Co u w q s)
- Pandora.Paradigm.Junction.Schemes.TUVW: instance forall k1 k2 k3 k4 k5 k6 k7 (ct :: k7) (cu :: k6) (cv :: k5) (cw :: k4) (t :: k3 -> *) (u :: k2 -> k3) (v :: k1 -> k2) (w :: * -> k1). Pandora.Paradigm.Junction.Composition.Composition (Pandora.Paradigm.Junction.Schemes.TUVW.TUVW ct cu cv cw t u v w)
- Pandora.Paradigm.Junction.Schemes.TUVW: newtype TUVW ct cu cv cw t u v w a
- Pandora.Paradigm.Junction.Schemes.UT: UT :: ((u :.: t) >< a) -> UT ct cu t u a
- Pandora.Paradigm.Junction.Schemes.UT: instance (Pandora.Pattern.Functor.Applicative.Applicative t, Pandora.Pattern.Functor.Applicative.Applicative u) => Pandora.Pattern.Functor.Applicative.Applicative (Pandora.Paradigm.Junction.Schemes.UT.UT 'Pandora.Core.Functor.Co 'Pandora.Core.Functor.Co t u)
- Pandora.Paradigm.Junction.Schemes.UT: instance (Pandora.Pattern.Functor.Covariant.Covariant t, Pandora.Pattern.Functor.Alternative.Alternative u) => Pandora.Pattern.Functor.Alternative.Alternative (Pandora.Paradigm.Junction.Schemes.UT.UT 'Pandora.Core.Functor.Co 'Pandora.Core.Functor.Co t u)
- Pandora.Paradigm.Junction.Schemes.UT: instance (Pandora.Pattern.Functor.Covariant.Covariant t, Pandora.Pattern.Functor.Avoidable.Avoidable u) => Pandora.Pattern.Functor.Avoidable.Avoidable (Pandora.Paradigm.Junction.Schemes.UT.UT 'Pandora.Core.Functor.Co 'Pandora.Core.Functor.Co t u)
- Pandora.Paradigm.Junction.Schemes.UT: instance (Pandora.Pattern.Functor.Covariant.Covariant t, Pandora.Pattern.Functor.Covariant.Covariant u) => Pandora.Pattern.Functor.Covariant.Covariant (Pandora.Paradigm.Junction.Schemes.UT.UT 'Pandora.Core.Functor.Co 'Pandora.Core.Functor.Co t u)
- Pandora.Paradigm.Junction.Schemes.UT: instance (Pandora.Pattern.Functor.Distributive.Distributive t, Pandora.Pattern.Functor.Distributive.Distributive u) => Pandora.Pattern.Functor.Distributive.Distributive (Pandora.Paradigm.Junction.Schemes.UT.UT 'Pandora.Core.Functor.Co 'Pandora.Core.Functor.Co t u)
- Pandora.Paradigm.Junction.Schemes.UT: instance (Pandora.Pattern.Functor.Extractable.Extractable t, Pandora.Pattern.Functor.Extractable.Extractable u) => Pandora.Pattern.Functor.Extractable.Extractable (Pandora.Paradigm.Junction.Schemes.UT.UT 'Pandora.Core.Functor.Co 'Pandora.Core.Functor.Co t u)
- Pandora.Paradigm.Junction.Schemes.UT: instance (Pandora.Pattern.Functor.Pointable.Pointable t, Pandora.Pattern.Functor.Pointable.Pointable u) => Pandora.Pattern.Functor.Pointable.Pointable (Pandora.Paradigm.Junction.Schemes.UT.UT 'Pandora.Core.Functor.Co 'Pandora.Core.Functor.Co t u)
- Pandora.Paradigm.Junction.Schemes.UT: instance (Pandora.Pattern.Functor.Traversable.Traversable t, Pandora.Pattern.Functor.Traversable.Traversable u) => Pandora.Pattern.Functor.Traversable.Traversable (Pandora.Paradigm.Junction.Schemes.UT.UT 'Pandora.Core.Functor.Co 'Pandora.Core.Functor.Co t u)
- Pandora.Paradigm.Junction.Schemes.UT: instance Pandora.Pattern.Functor.Extractable.Extractable t => Pandora.Pattern.Functor.Lowerable.Lowerable (Pandora.Paradigm.Junction.Schemes.UT.UT 'Pandora.Core.Functor.Co 'Pandora.Core.Functor.Co t)
- Pandora.Paradigm.Junction.Schemes.UT: instance Pandora.Pattern.Functor.Pointable.Pointable t => Pandora.Pattern.Functor.Liftable.Liftable (Pandora.Paradigm.Junction.Schemes.UT.UT 'Pandora.Core.Functor.Co 'Pandora.Core.Functor.Co t)
- Pandora.Paradigm.Junction.Schemes.UT: instance forall k1 k2 (u :: k2 -> *) (t :: k1 -> k2) (a :: k1). Pandora.Pattern.Object.Chain.Chain ((u Pandora.Core.Functor.:.: t) Pandora.Core.Functor.>< a) => Pandora.Pattern.Object.Chain.Chain (Pandora.Paradigm.Junction.Schemes.UT.UT 'Pandora.Core.Functor.Co 'Pandora.Core.Functor.Co t u a)
- Pandora.Paradigm.Junction.Schemes.UT: instance forall k1 k2 (u :: k2 -> *) (t :: k1 -> k2) (a :: k1). Pandora.Pattern.Object.Monoid.Monoid ((u Pandora.Core.Functor.:.: t) Pandora.Core.Functor.>< a) => Pandora.Pattern.Object.Monoid.Monoid (Pandora.Paradigm.Junction.Schemes.UT.UT 'Pandora.Core.Functor.Co 'Pandora.Core.Functor.Co t u a)
- Pandora.Paradigm.Junction.Schemes.UT: instance forall k1 k2 (u :: k2 -> *) (t :: k1 -> k2) (a :: k1). Pandora.Pattern.Object.Semigroup.Semigroup ((u Pandora.Core.Functor.:.: t) Pandora.Core.Functor.>< a) => Pandora.Pattern.Object.Semigroup.Semigroup (Pandora.Paradigm.Junction.Schemes.UT.UT 'Pandora.Core.Functor.Co 'Pandora.Core.Functor.Co t u a)
- Pandora.Paradigm.Junction.Schemes.UT: instance forall k1 k2 (u :: k2 -> *) (t :: k1 -> k2) (a :: k1). Pandora.Pattern.Object.Setoid.Setoid ((u Pandora.Core.Functor.:.: t) Pandora.Core.Functor.>< a) => Pandora.Pattern.Object.Setoid.Setoid (Pandora.Paradigm.Junction.Schemes.UT.UT 'Pandora.Core.Functor.Co 'Pandora.Core.Functor.Co t u a)
- Pandora.Paradigm.Junction.Schemes.UT: instance forall k1 k2 k3 (ct :: k3) (cu :: k2) (t :: * -> k1) (u :: k1 -> *). Pandora.Paradigm.Junction.Composition.Composition (Pandora.Paradigm.Junction.Schemes.UT.UT ct cu t u)
- Pandora.Paradigm.Junction.Schemes.UT: newtype UT ct cu t u a
- Pandora.Paradigm.Junction.Schemes.UTU: UTU :: ((u :.: t u) >< a) -> UTU ct cu t u a
- Pandora.Paradigm.Junction.Schemes.UTU: instance (Pandora.Pattern.Functor.Applicative.Applicative (t u), Pandora.Pattern.Functor.Applicative.Applicative u) => Pandora.Pattern.Functor.Applicative.Applicative (Pandora.Paradigm.Junction.Schemes.UTU.UTU 'Pandora.Core.Functor.Co 'Pandora.Core.Functor.Co t u)
- Pandora.Paradigm.Junction.Schemes.UTU: instance (Pandora.Pattern.Functor.Covariant.Covariant (t u), Pandora.Pattern.Functor.Alternative.Alternative u) => Pandora.Pattern.Functor.Alternative.Alternative (Pandora.Paradigm.Junction.Schemes.UTU.UTU 'Pandora.Core.Functor.Co 'Pandora.Core.Functor.Co t u)
- Pandora.Paradigm.Junction.Schemes.UTU: instance (Pandora.Pattern.Functor.Covariant.Covariant (t u), Pandora.Pattern.Functor.Avoidable.Avoidable u) => Pandora.Pattern.Functor.Avoidable.Avoidable (Pandora.Paradigm.Junction.Schemes.UTU.UTU 'Pandora.Core.Functor.Co 'Pandora.Core.Functor.Co t u)
- Pandora.Paradigm.Junction.Schemes.UTU: instance (Pandora.Pattern.Functor.Covariant.Covariant (t u), Pandora.Pattern.Functor.Covariant.Covariant u) => Pandora.Pattern.Functor.Covariant.Covariant (Pandora.Paradigm.Junction.Schemes.UTU.UTU 'Pandora.Core.Functor.Co 'Pandora.Core.Functor.Co t u)
- Pandora.Paradigm.Junction.Schemes.UTU: instance (Pandora.Pattern.Functor.Distributive.Distributive (t u), Pandora.Pattern.Functor.Distributive.Distributive u) => Pandora.Pattern.Functor.Distributive.Distributive (Pandora.Paradigm.Junction.Schemes.UTU.UTU 'Pandora.Core.Functor.Co 'Pandora.Core.Functor.Co t u)
- Pandora.Paradigm.Junction.Schemes.UTU: instance (Pandora.Pattern.Functor.Extractable.Extractable (t u), Pandora.Pattern.Functor.Extractable.Extractable u) => Pandora.Pattern.Functor.Extractable.Extractable (Pandora.Paradigm.Junction.Schemes.UTU.UTU 'Pandora.Core.Functor.Co 'Pandora.Core.Functor.Co t u)
- Pandora.Paradigm.Junction.Schemes.UTU: instance (Pandora.Pattern.Functor.Pointable.Pointable (t u), Pandora.Pattern.Functor.Pointable.Pointable u) => Pandora.Pattern.Functor.Pointable.Pointable (Pandora.Paradigm.Junction.Schemes.UTU.UTU 'Pandora.Core.Functor.Co 'Pandora.Core.Functor.Co t u)
- Pandora.Paradigm.Junction.Schemes.UTU: instance (Pandora.Pattern.Functor.Traversable.Traversable (t u), Pandora.Pattern.Functor.Traversable.Traversable u) => Pandora.Pattern.Functor.Traversable.Traversable (Pandora.Paradigm.Junction.Schemes.UTU.UTU 'Pandora.Core.Functor.Co 'Pandora.Core.Functor.Co t u)
- Pandora.Paradigm.Junction.Schemes.UTU: instance (forall (u' :: * -> *). Pandora.Pattern.Functor.Extractable.Extractable u', Pandora.Pattern.Functor.Lowerable.Lowerable t) => Pandora.Pattern.Functor.Lowerable.Lowerable (Pandora.Paradigm.Junction.Schemes.UTU.UTU 'Pandora.Core.Functor.Co 'Pandora.Core.Functor.Co t)
- Pandora.Paradigm.Junction.Schemes.UTU: instance (forall (u' :: * -> *). Pandora.Pattern.Functor.Pointable.Pointable u', Pandora.Pattern.Functor.Liftable.Liftable t) => Pandora.Pattern.Functor.Liftable.Liftable (Pandora.Paradigm.Junction.Schemes.UTU.UTU 'Pandora.Core.Functor.Co 'Pandora.Core.Functor.Co t)
- Pandora.Paradigm.Junction.Schemes.UTU: instance forall k1 k2 (t :: (k2 -> *) -> k1 -> k2) (a :: k1) (u :: k2 -> *). (forall (u' :: k2 -> *). Pandora.Pattern.Object.Chain.Chain ((u' Pandora.Core.Functor.:.: t u') Pandora.Core.Functor.>< a)) => Pandora.Pattern.Object.Chain.Chain (Pandora.Paradigm.Junction.Schemes.UTU.UTU 'Pandora.Core.Functor.Co 'Pandora.Core.Functor.Co t u a)
- Pandora.Paradigm.Junction.Schemes.UTU: instance forall k1 k2 (t :: (k2 -> *) -> k1 -> k2) (a :: k1) (u :: k2 -> *). (forall (u' :: k2 -> *). Pandora.Pattern.Object.Monoid.Monoid ((u' Pandora.Core.Functor.:.: t u') Pandora.Core.Functor.>< a)) => Pandora.Pattern.Object.Monoid.Monoid (Pandora.Paradigm.Junction.Schemes.UTU.UTU 'Pandora.Core.Functor.Co 'Pandora.Core.Functor.Co t u a)
- Pandora.Paradigm.Junction.Schemes.UTU: instance forall k1 k2 (t :: (k2 -> *) -> k1 -> k2) (a :: k1) (u :: k2 -> *). (forall (u' :: k2 -> *). Pandora.Pattern.Object.Semigroup.Semigroup ((u' Pandora.Core.Functor.:.: t u') Pandora.Core.Functor.>< a)) => Pandora.Pattern.Object.Semigroup.Semigroup (Pandora.Paradigm.Junction.Schemes.UTU.UTU 'Pandora.Core.Functor.Co 'Pandora.Core.Functor.Co t u a)
- Pandora.Paradigm.Junction.Schemes.UTU: instance forall k1 k2 (t :: (k2 -> *) -> k1 -> k2) (a :: k1) (u :: k2 -> *). (forall (u' :: k2 -> *). Pandora.Pattern.Object.Setoid.Setoid ((u' Pandora.Core.Functor.:.: t u') Pandora.Core.Functor.>< a)) => Pandora.Pattern.Object.Setoid.Setoid (Pandora.Paradigm.Junction.Schemes.UTU.UTU 'Pandora.Core.Functor.Co 'Pandora.Core.Functor.Co t u a)
- Pandora.Paradigm.Junction.Schemes.UTU: instance forall k1 k2 k3 (ct :: k3) (cu :: k2) (t :: (k1 -> *) -> * -> k1) (u :: k1 -> *). Pandora.Paradigm.Junction.Composition.Composition (Pandora.Paradigm.Junction.Schemes.UTU.UTU ct cu t u)
- Pandora.Paradigm.Junction.Schemes.UTU: newtype UTU ct cu t u a
- Pandora.Paradigm.Junction.Transformer: class Transformer t where {
- Pandora.Paradigm.Junction.Transformer: equip :: (Transformer t, Pointable u) => t a -> Layout t u a
- Pandora.Paradigm.Junction.Transformer: lay :: (Transformer t, Covariant u) => u a -> Layout t u a
- Pandora.Paradigm.Junction.Transformer: type family Layout (t :: * -> *) (u :: * -> *) (a :: *) = r | r -> t u;
- Pandora.Paradigm.Junction.Transformer: }
- Pandora.Paradigm.Structure.Stack: type Stack a = Maybe :.: Twister Maybe >< a
- Pandora.Pattern.Functor.Avoidable: idle :: Avoidable t => t a
+ Pandora.Paradigm.Basis.Conclusion: instance (Pandora.Pattern.Functor.Pointable.Pointable u, Pandora.Pattern.Functor.Bindable.Bindable u) => Pandora.Pattern.Functor.Bindable.Bindable (Pandora.Pattern.Junction.Schemes.UT.UT (Pandora.Paradigm.Basis.Conclusion.Conclusion e) () (Pandora.Paradigm.Basis.Conclusion.Conclusion e) u)
+ Pandora.Paradigm.Basis.Conclusion: instance Pandora.Pattern.Functor.Applicative.Applicative u => Pandora.Pattern.Functor.Applicative.Applicative (Pandora.Pattern.Junction.Schemes.UT.UT (Pandora.Paradigm.Basis.Conclusion.Conclusion e) () (Pandora.Paradigm.Basis.Conclusion.Conclusion e) u)
+ Pandora.Paradigm.Basis.Conclusion: instance Pandora.Pattern.Functor.Covariant.Covariant u => Pandora.Pattern.Functor.Covariant.Covariant (Pandora.Pattern.Junction.Schemes.UT.UT (Pandora.Paradigm.Basis.Conclusion.Conclusion e) () (Pandora.Paradigm.Basis.Conclusion.Conclusion e) u)
+ Pandora.Paradigm.Basis.Conclusion: instance Pandora.Pattern.Functor.Monad.Monad u => Pandora.Pattern.Functor.Monad.Monad (Pandora.Pattern.Junction.Schemes.UT.UT (Pandora.Paradigm.Basis.Conclusion.Conclusion e) () (Pandora.Paradigm.Basis.Conclusion.Conclusion e) u)
+ Pandora.Paradigm.Basis.Conclusion: instance Pandora.Pattern.Functor.Pointable.Pointable u => Pandora.Pattern.Functor.Pointable.Pointable (Pandora.Pattern.Junction.Schemes.UT.UT (Pandora.Paradigm.Basis.Conclusion.Conclusion e) () (Pandora.Paradigm.Basis.Conclusion.Conclusion e) u)
+ Pandora.Paradigm.Basis.Conclusion: instance Pandora.Pattern.Junction.Composition.Composition (Pandora.Paradigm.Basis.Conclusion.Conclusion e)
+ Pandora.Paradigm.Basis.Conclusion: instance Pandora.Pattern.Junction.Transformer.Transformer (Pandora.Paradigm.Basis.Conclusion.Conclusion e)
+ Pandora.Paradigm.Basis.Kan: Lan :: ((t b -> a) -> u b) -> Lan
+ Pandora.Paradigm.Basis.Kan: Ran :: ((a -> t b) -> u b) -> Ran
+ Pandora.Paradigm.Basis.Kan: [lan] :: Lan -> (t b -> a) -> u b
+ Pandora.Paradigm.Basis.Kan: [ran] :: Ran -> (a -> t b) -> u b
+ Pandora.Paradigm.Basis.Kan: instance Pandora.Pattern.Functor.Contravariant.Contravariant (Pandora.Paradigm.Basis.Kan.Lan t u b)
+ Pandora.Paradigm.Basis.Kan: instance Pandora.Pattern.Functor.Covariant.Covariant (Pandora.Paradigm.Basis.Kan.Ran t u b)
+ Pandora.Paradigm.Basis.Kan: newtype Lan (t :: * -> *) (u :: * -> *) (b :: *) (a :: *)
+ Pandora.Paradigm.Basis.Kan: newtype Ran (t :: * -> *) (u :: * -> *) (b :: *) (a :: *)
+ Pandora.Paradigm.Basis.Maybe: instance (Pandora.Pattern.Functor.Pointable.Pointable u, Pandora.Pattern.Functor.Bindable.Bindable u) => Pandora.Pattern.Functor.Bindable.Bindable (Pandora.Pattern.Junction.Schemes.UT.UT Pandora.Paradigm.Basis.Maybe.Maybe () Pandora.Paradigm.Basis.Maybe.Maybe u)
+ Pandora.Paradigm.Basis.Maybe: instance Pandora.Pattern.Functor.Applicative.Applicative u => Pandora.Pattern.Functor.Applicative.Applicative (Pandora.Pattern.Junction.Schemes.UT.UT Pandora.Paradigm.Basis.Maybe.Maybe () Pandora.Paradigm.Basis.Maybe.Maybe u)
+ Pandora.Paradigm.Basis.Maybe: instance Pandora.Pattern.Functor.Covariant.Covariant u => Pandora.Pattern.Functor.Covariant.Covariant (Pandora.Pattern.Junction.Schemes.UT.UT Pandora.Paradigm.Basis.Maybe.Maybe () Pandora.Paradigm.Basis.Maybe.Maybe u)
+ Pandora.Paradigm.Basis.Maybe: instance Pandora.Pattern.Functor.Monad.Monad u => Pandora.Pattern.Functor.Monad.Monad (Pandora.Pattern.Junction.Schemes.UT.UT Pandora.Paradigm.Basis.Maybe.Maybe () Pandora.Paradigm.Basis.Maybe.Maybe u)
+ Pandora.Paradigm.Basis.Maybe: instance Pandora.Pattern.Functor.Pointable.Pointable u => Pandora.Pattern.Functor.Pointable.Pointable (Pandora.Pattern.Junction.Schemes.UT.UT Pandora.Paradigm.Basis.Maybe.Maybe () Pandora.Paradigm.Basis.Maybe.Maybe u)
+ Pandora.Paradigm.Basis.Maybe: instance Pandora.Pattern.Junction.Composition.Composition Pandora.Paradigm.Basis.Maybe.Maybe
+ Pandora.Paradigm.Basis.Maybe: instance Pandora.Pattern.Junction.Transformer.Transformer Pandora.Paradigm.Basis.Maybe.Maybe
+ Pandora.Paradigm.Basis.Twister: untwist :: Twister t a -> (t :.: Twister t) a
+ Pandora.Paradigm.Inventory.Stateful: instance Pandora.Pattern.Functor.Bindable.Bindable u => Pandora.Pattern.Functor.Applicative.Applicative (Pandora.Pattern.Junction.Schemes.TUV.TUV Pandora.Paradigm.Inventory.Stateful.Stateful () Pandora.Paradigm.Inventory.Stateful.Stateful ((->) s) u ((Pandora.Paradigm.Basis.Product.:*:) s))
+ Pandora.Paradigm.Inventory.Stateful: instance Pandora.Pattern.Functor.Bindable.Bindable u => Pandora.Pattern.Functor.Bindable.Bindable (Pandora.Pattern.Junction.Schemes.TUV.TUV Pandora.Paradigm.Inventory.Stateful.Stateful () Pandora.Paradigm.Inventory.Stateful.Stateful ((->) s) u ((Pandora.Paradigm.Basis.Product.:*:) s))
+ Pandora.Paradigm.Inventory.Stateful: instance Pandora.Pattern.Functor.Covariant.Covariant u => Pandora.Pattern.Functor.Covariant.Covariant (Pandora.Pattern.Junction.Schemes.TUV.TUV Pandora.Paradigm.Inventory.Stateful.Stateful () Pandora.Paradigm.Inventory.Stateful.Stateful ((->) s) u ((Pandora.Paradigm.Basis.Product.:*:) s))
+ Pandora.Paradigm.Inventory.Stateful: instance Pandora.Pattern.Functor.Monad.Monad u => Pandora.Pattern.Functor.Monad.Monad (Pandora.Pattern.Junction.Schemes.TUV.TUV Pandora.Paradigm.Inventory.Stateful.Stateful () Pandora.Paradigm.Inventory.Stateful.Stateful ((->) s) u ((Pandora.Paradigm.Basis.Product.:*:) s))
+ Pandora.Paradigm.Inventory.Stateful: instance Pandora.Pattern.Functor.Pointable.Pointable u => Pandora.Pattern.Functor.Pointable.Pointable (Pandora.Pattern.Junction.Schemes.TUV.TUV Pandora.Paradigm.Inventory.Stateful.Stateful () Pandora.Paradigm.Inventory.Stateful.Stateful ((->) s) u ((Pandora.Paradigm.Basis.Product.:*:) s))
+ Pandora.Paradigm.Inventory.Stateful: instance Pandora.Pattern.Junction.Composition.Composition (Pandora.Paradigm.Inventory.Stateful.Stateful s)
+ Pandora.Paradigm.Inventory.Stateful: instance Pandora.Pattern.Junction.Transformer.Transformer (Pandora.Paradigm.Inventory.Stateful.Stateful s)
+ Pandora.Paradigm.Inventory.Stateful: statefully :: s -> Stateful s a -> s :*: a
+ Pandora.Paradigm.Structure.Stack: data Stack a
+ Pandora.Paradigm.Structure.Stack: filter :: Predicate a -> Stack a -> Stack a
+ Pandora.Paradigm.Structure.Stack: instance Pandora.Pattern.Functor.Alternative.Alternative Pandora.Paradigm.Structure.Stack.Stack
+ Pandora.Paradigm.Structure.Stack: instance Pandora.Pattern.Functor.Applicative.Applicative Pandora.Paradigm.Structure.Stack.Stack
+ Pandora.Paradigm.Structure.Stack: instance Pandora.Pattern.Functor.Avoidable.Avoidable Pandora.Paradigm.Structure.Stack.Stack
+ Pandora.Paradigm.Structure.Stack: instance Pandora.Pattern.Functor.Covariant.Covariant Pandora.Paradigm.Structure.Stack.Stack
+ Pandora.Paradigm.Structure.Stack: instance Pandora.Pattern.Functor.Pointable.Pointable Pandora.Paradigm.Structure.Stack.Stack
+ Pandora.Paradigm.Structure.Stack: instance Pandora.Pattern.Functor.Traversable.Traversable Pandora.Paradigm.Structure.Stack.Stack
+ Pandora.Paradigm.Structure.Stack: instance Pandora.Pattern.Junction.Composition.Composition Pandora.Paradigm.Structure.Stack.Stack
+ Pandora.Pattern.Functor.Avoidable: empty :: Avoidable t => t a
+ Pandora.Pattern.Functor.Distributive: instance Pandora.Pattern.Functor.Distributive.Distributive ((->) e)
+ Pandora.Pattern.Junction.Composition: class Composition t where {
+ Pandora.Pattern.Junction.Composition: type family Primary t a :: *;
+ Pandora.Pattern.Junction.Composition: unwrap :: Composition t => t a -> Primary t a
+ Pandora.Pattern.Junction.Composition: }
+ Pandora.Pattern.Junction.Schemes.TU: TU :: ((t :.: u) >< a) -> TU ct cu t u a
+ Pandora.Pattern.Junction.Schemes.TU: instance (Pandora.Pattern.Functor.Alternative.Alternative t, Pandora.Pattern.Functor.Covariant.Covariant u) => Pandora.Pattern.Functor.Alternative.Alternative (Pandora.Pattern.Junction.Schemes.TU.TU 'Pandora.Core.Functor.Co 'Pandora.Core.Functor.Co t u)
+ Pandora.Pattern.Junction.Schemes.TU: instance (Pandora.Pattern.Functor.Applicative.Applicative t, Pandora.Pattern.Functor.Applicative.Applicative u) => Pandora.Pattern.Functor.Applicative.Applicative (Pandora.Pattern.Junction.Schemes.TU.TU 'Pandora.Core.Functor.Co 'Pandora.Core.Functor.Co t u)
+ Pandora.Pattern.Junction.Schemes.TU: instance (Pandora.Pattern.Functor.Avoidable.Avoidable t, Pandora.Pattern.Functor.Covariant.Covariant u) => Pandora.Pattern.Functor.Avoidable.Avoidable (Pandora.Pattern.Junction.Schemes.TU.TU 'Pandora.Core.Functor.Co 'Pandora.Core.Functor.Co t u)
+ Pandora.Pattern.Junction.Schemes.TU: instance (Pandora.Pattern.Functor.Contravariant.Contravariant t, Pandora.Pattern.Functor.Contravariant.Contravariant u) => Pandora.Pattern.Functor.Covariant.Covariant (Pandora.Pattern.Junction.Schemes.TU.TU 'Pandora.Core.Functor.Contra 'Pandora.Core.Functor.Contra t u)
+ Pandora.Pattern.Junction.Schemes.TU: instance (Pandora.Pattern.Functor.Contravariant.Contravariant t, Pandora.Pattern.Functor.Covariant.Covariant u) => Pandora.Pattern.Functor.Contravariant.Contravariant (Pandora.Pattern.Junction.Schemes.TU.TU 'Pandora.Core.Functor.Contra 'Pandora.Core.Functor.Co t u)
+ Pandora.Pattern.Junction.Schemes.TU: instance (Pandora.Pattern.Functor.Covariant.Covariant t, Pandora.Pattern.Functor.Contravariant.Contravariant u) => Pandora.Pattern.Functor.Contravariant.Contravariant (Pandora.Pattern.Junction.Schemes.TU.TU 'Pandora.Core.Functor.Co 'Pandora.Core.Functor.Contra t u)
+ Pandora.Pattern.Junction.Schemes.TU: instance (Pandora.Pattern.Functor.Covariant.Covariant t, Pandora.Pattern.Functor.Covariant.Covariant u) => Pandora.Pattern.Functor.Covariant.Covariant (Pandora.Pattern.Junction.Schemes.TU.TU 'Pandora.Core.Functor.Co 'Pandora.Core.Functor.Co t u)
+ Pandora.Pattern.Junction.Schemes.TU: instance (Pandora.Pattern.Functor.Distributive.Distributive t, Pandora.Pattern.Functor.Distributive.Distributive u) => Pandora.Pattern.Functor.Distributive.Distributive (Pandora.Pattern.Junction.Schemes.TU.TU 'Pandora.Core.Functor.Co 'Pandora.Core.Functor.Co t u)
+ Pandora.Pattern.Junction.Schemes.TU: instance (Pandora.Pattern.Functor.Extractable.Extractable t, Pandora.Pattern.Functor.Extractable.Extractable u) => Pandora.Pattern.Functor.Extractable.Extractable (Pandora.Pattern.Junction.Schemes.TU.TU 'Pandora.Core.Functor.Co 'Pandora.Core.Functor.Co t u)
+ Pandora.Pattern.Junction.Schemes.TU: instance (Pandora.Pattern.Functor.Pointable.Pointable t, Pandora.Pattern.Functor.Pointable.Pointable u) => Pandora.Pattern.Functor.Pointable.Pointable (Pandora.Pattern.Junction.Schemes.TU.TU 'Pandora.Core.Functor.Co 'Pandora.Core.Functor.Co t u)
+ Pandora.Pattern.Junction.Schemes.TU: instance (Pandora.Pattern.Functor.Traversable.Traversable t, Pandora.Pattern.Functor.Traversable.Traversable u) => Pandora.Pattern.Functor.Traversable.Traversable (Pandora.Pattern.Junction.Schemes.TU.TU 'Pandora.Core.Functor.Co 'Pandora.Core.Functor.Co t u)
+ Pandora.Pattern.Junction.Schemes.TU: instance (t Pandora.Pattern.Junction.Schemes.TU.:-|: u, v Pandora.Pattern.Junction.Schemes.TU.:-|: w) => Pandora.Pattern.Functor.Adjoint.Adjoint (Pandora.Pattern.Junction.Schemes.TU.TU 'Pandora.Core.Functor.Co 'Pandora.Core.Functor.Co t v) (Pandora.Pattern.Junction.Schemes.TU.TU 'Pandora.Core.Functor.Co 'Pandora.Core.Functor.Co u w)
+ Pandora.Pattern.Junction.Schemes.TU: instance forall k1 k2 k3 (ct :: k3) (cu :: k2) (t :: k1 -> *) (u :: * -> k1). Pandora.Pattern.Junction.Composition.Composition (Pandora.Pattern.Junction.Schemes.TU.TU ct cu t u)
+ Pandora.Pattern.Junction.Schemes.TU: newtype TU ct cu t u a
+ Pandora.Pattern.Junction.Schemes.TUV: TUV :: ((t :.: (u :.: v)) >< a) -> TUV ct cu cv t u v a
+ Pandora.Pattern.Junction.Schemes.TUV: instance (Pandora.Pattern.Functor.Alternative.Alternative t, Pandora.Pattern.Functor.Covariant.Covariant u, Pandora.Pattern.Functor.Covariant.Covariant v) => Pandora.Pattern.Functor.Alternative.Alternative (Pandora.Pattern.Junction.Schemes.TUV.TUV 'Pandora.Core.Functor.Co 'Pandora.Core.Functor.Co 'Pandora.Core.Functor.Co t u v)
+ Pandora.Pattern.Junction.Schemes.TUV: instance (Pandora.Pattern.Functor.Applicative.Applicative t, Pandora.Pattern.Functor.Applicative.Applicative u, Pandora.Pattern.Functor.Applicative.Applicative v) => Pandora.Pattern.Functor.Applicative.Applicative (Pandora.Pattern.Junction.Schemes.TUV.TUV 'Pandora.Core.Functor.Co 'Pandora.Core.Functor.Co 'Pandora.Core.Functor.Co t u v)
+ Pandora.Pattern.Junction.Schemes.TUV: instance (Pandora.Pattern.Functor.Avoidable.Avoidable t, Pandora.Pattern.Functor.Covariant.Covariant u, Pandora.Pattern.Functor.Covariant.Covariant v) => Pandora.Pattern.Functor.Avoidable.Avoidable (Pandora.Pattern.Junction.Schemes.TUV.TUV 'Pandora.Core.Functor.Co 'Pandora.Core.Functor.Co 'Pandora.Core.Functor.Co t u v)
+ Pandora.Pattern.Junction.Schemes.TUV: instance (Pandora.Pattern.Functor.Contravariant.Contravariant t, Pandora.Pattern.Functor.Contravariant.Contravariant u, Pandora.Pattern.Functor.Contravariant.Contravariant v) => Pandora.Pattern.Functor.Contravariant.Contravariant (Pandora.Pattern.Junction.Schemes.TUV.TUV 'Pandora.Core.Functor.Contra 'Pandora.Core.Functor.Contra 'Pandora.Core.Functor.Contra t u v)
+ Pandora.Pattern.Junction.Schemes.TUV: instance (Pandora.Pattern.Functor.Contravariant.Contravariant t, Pandora.Pattern.Functor.Contravariant.Contravariant u, Pandora.Pattern.Functor.Covariant.Covariant v) => Pandora.Pattern.Functor.Covariant.Covariant (Pandora.Pattern.Junction.Schemes.TUV.TUV 'Pandora.Core.Functor.Contra 'Pandora.Core.Functor.Contra 'Pandora.Core.Functor.Co t u v)
+ Pandora.Pattern.Junction.Schemes.TUV: instance (Pandora.Pattern.Functor.Contravariant.Contravariant t, Pandora.Pattern.Functor.Covariant.Covariant u, Pandora.Pattern.Functor.Contravariant.Contravariant v) => Pandora.Pattern.Functor.Covariant.Covariant (Pandora.Pattern.Junction.Schemes.TUV.TUV 'Pandora.Core.Functor.Contra 'Pandora.Core.Functor.Co 'Pandora.Core.Functor.Contra t u v)
+ Pandora.Pattern.Junction.Schemes.TUV: instance (Pandora.Pattern.Functor.Contravariant.Contravariant t, Pandora.Pattern.Functor.Covariant.Covariant u, Pandora.Pattern.Functor.Covariant.Covariant v) => Pandora.Pattern.Functor.Contravariant.Contravariant (Pandora.Pattern.Junction.Schemes.TUV.TUV 'Pandora.Core.Functor.Contra 'Pandora.Core.Functor.Co 'Pandora.Core.Functor.Co t u v)
+ Pandora.Pattern.Junction.Schemes.TUV: instance (Pandora.Pattern.Functor.Covariant.Covariant t, Pandora.Pattern.Functor.Contravariant.Contravariant u, Pandora.Pattern.Functor.Contravariant.Contravariant v) => Pandora.Pattern.Functor.Covariant.Covariant (Pandora.Pattern.Junction.Schemes.TUV.TUV 'Pandora.Core.Functor.Co 'Pandora.Core.Functor.Contra 'Pandora.Core.Functor.Contra t u v)
+ Pandora.Pattern.Junction.Schemes.TUV: instance (Pandora.Pattern.Functor.Covariant.Covariant t, Pandora.Pattern.Functor.Contravariant.Contravariant u, Pandora.Pattern.Functor.Covariant.Covariant v) => Pandora.Pattern.Functor.Contravariant.Contravariant (Pandora.Pattern.Junction.Schemes.TUV.TUV 'Pandora.Core.Functor.Co 'Pandora.Core.Functor.Contra 'Pandora.Core.Functor.Co t u v)
+ Pandora.Pattern.Junction.Schemes.TUV: instance (Pandora.Pattern.Functor.Covariant.Covariant t, Pandora.Pattern.Functor.Covariant.Covariant u, Pandora.Pattern.Functor.Contravariant.Contravariant v) => Pandora.Pattern.Functor.Contravariant.Contravariant (Pandora.Pattern.Junction.Schemes.TUV.TUV 'Pandora.Core.Functor.Co 'Pandora.Core.Functor.Co 'Pandora.Core.Functor.Contra t u v)
+ Pandora.Pattern.Junction.Schemes.TUV: instance (Pandora.Pattern.Functor.Covariant.Covariant t, Pandora.Pattern.Functor.Covariant.Covariant u, Pandora.Pattern.Functor.Covariant.Covariant v) => Pandora.Pattern.Functor.Covariant.Covariant (Pandora.Pattern.Junction.Schemes.TUV.TUV 'Pandora.Core.Functor.Co 'Pandora.Core.Functor.Co 'Pandora.Core.Functor.Co t u v)
+ Pandora.Pattern.Junction.Schemes.TUV: instance (Pandora.Pattern.Functor.Distributive.Distributive t, Pandora.Pattern.Functor.Distributive.Distributive u, Pandora.Pattern.Functor.Distributive.Distributive v) => Pandora.Pattern.Functor.Distributive.Distributive (Pandora.Pattern.Junction.Schemes.TUV.TUV 'Pandora.Core.Functor.Co 'Pandora.Core.Functor.Co 'Pandora.Core.Functor.Co t u v)
+ Pandora.Pattern.Junction.Schemes.TUV: instance (Pandora.Pattern.Functor.Extractable.Extractable t, Pandora.Pattern.Functor.Extractable.Extractable u, Pandora.Pattern.Functor.Extractable.Extractable v) => Pandora.Pattern.Functor.Extractable.Extractable (Pandora.Pattern.Junction.Schemes.TUV.TUV 'Pandora.Core.Functor.Co 'Pandora.Core.Functor.Co 'Pandora.Core.Functor.Co t u v)
+ Pandora.Pattern.Junction.Schemes.TUV: instance (Pandora.Pattern.Functor.Pointable.Pointable t, Pandora.Pattern.Functor.Pointable.Pointable u, Pandora.Pattern.Functor.Pointable.Pointable v) => Pandora.Pattern.Functor.Pointable.Pointable (Pandora.Pattern.Junction.Schemes.TUV.TUV 'Pandora.Core.Functor.Co 'Pandora.Core.Functor.Co 'Pandora.Core.Functor.Co t u v)
+ Pandora.Pattern.Junction.Schemes.TUV: instance (Pandora.Pattern.Functor.Traversable.Traversable t, Pandora.Pattern.Functor.Traversable.Traversable u, Pandora.Pattern.Functor.Traversable.Traversable v) => Pandora.Pattern.Functor.Traversable.Traversable (Pandora.Pattern.Junction.Schemes.TUV.TUV 'Pandora.Core.Functor.Co 'Pandora.Core.Functor.Co 'Pandora.Core.Functor.Co t u v)
+ Pandora.Pattern.Junction.Schemes.TUV: instance (t Pandora.Pattern.Junction.Schemes.TUV.:-|: w, v Pandora.Pattern.Junction.Schemes.TUV.:-|: x, u Pandora.Pattern.Junction.Schemes.TUV.:-|: y) => Pandora.Pattern.Functor.Adjoint.Adjoint (Pandora.Pattern.Junction.Schemes.TUV.TUV 'Pandora.Core.Functor.Co 'Pandora.Core.Functor.Co 'Pandora.Core.Functor.Co t v u) (Pandora.Pattern.Junction.Schemes.TUV.TUV 'Pandora.Core.Functor.Co 'Pandora.Core.Functor.Co 'Pandora.Core.Functor.Co w x y)
+ Pandora.Pattern.Junction.Schemes.TUV: instance forall k1 k2 k3 k4 k5 (ct :: k5) (cu :: k4) (cv :: k3) (t :: k2 -> *) (u :: k1 -> k2) (v :: * -> k1). Pandora.Pattern.Junction.Composition.Composition (Pandora.Pattern.Junction.Schemes.TUV.TUV ct cu cv t u v)
+ Pandora.Pattern.Junction.Schemes.TUV: newtype TUV ct cu cv t u v a
+ Pandora.Pattern.Junction.Schemes.TUVW: TUVW :: ((t :.: (u :.: (v :.: w))) >< a) -> TUVW ct cu cv cw t u v w a
+ Pandora.Pattern.Junction.Schemes.TUVW: instance (Pandora.Pattern.Functor.Alternative.Alternative t, Pandora.Pattern.Functor.Covariant.Covariant u, Pandora.Pattern.Functor.Covariant.Covariant v, Pandora.Pattern.Functor.Covariant.Covariant w) => Pandora.Pattern.Functor.Alternative.Alternative (Pandora.Pattern.Junction.Schemes.TUVW.TUVW 'Pandora.Core.Functor.Co 'Pandora.Core.Functor.Co 'Pandora.Core.Functor.Co 'Pandora.Core.Functor.Co t u v w)
+ Pandora.Pattern.Junction.Schemes.TUVW: instance (Pandora.Pattern.Functor.Applicative.Applicative t, Pandora.Pattern.Functor.Applicative.Applicative u, Pandora.Pattern.Functor.Applicative.Applicative v, Pandora.Pattern.Functor.Applicative.Applicative w) => Pandora.Pattern.Functor.Applicative.Applicative (Pandora.Pattern.Junction.Schemes.TUVW.TUVW 'Pandora.Core.Functor.Co 'Pandora.Core.Functor.Co 'Pandora.Core.Functor.Co 'Pandora.Core.Functor.Co t u v w)
+ Pandora.Pattern.Junction.Schemes.TUVW: instance (Pandora.Pattern.Functor.Avoidable.Avoidable t, Pandora.Pattern.Functor.Covariant.Covariant u, Pandora.Pattern.Functor.Covariant.Covariant v, Pandora.Pattern.Functor.Covariant.Covariant w) => Pandora.Pattern.Functor.Avoidable.Avoidable (Pandora.Pattern.Junction.Schemes.TUVW.TUVW 'Pandora.Core.Functor.Co 'Pandora.Core.Functor.Co 'Pandora.Core.Functor.Co 'Pandora.Core.Functor.Co t u v w)
+ Pandora.Pattern.Junction.Schemes.TUVW: instance (Pandora.Pattern.Functor.Contravariant.Contravariant t, Pandora.Pattern.Functor.Contravariant.Contravariant u, Pandora.Pattern.Functor.Contravariant.Contravariant v, Pandora.Pattern.Functor.Contravariant.Contravariant w) => Pandora.Pattern.Functor.Covariant.Covariant (Pandora.Pattern.Junction.Schemes.TUVW.TUVW 'Pandora.Core.Functor.Contra 'Pandora.Core.Functor.Contra 'Pandora.Core.Functor.Contra 'Pandora.Core.Functor.Contra t u v w)
+ Pandora.Pattern.Junction.Schemes.TUVW: instance (Pandora.Pattern.Functor.Contravariant.Contravariant t, Pandora.Pattern.Functor.Contravariant.Contravariant u, Pandora.Pattern.Functor.Contravariant.Contravariant v, Pandora.Pattern.Functor.Covariant.Covariant w) => Pandora.Pattern.Functor.Contravariant.Contravariant (Pandora.Pattern.Junction.Schemes.TUVW.TUVW 'Pandora.Core.Functor.Contra 'Pandora.Core.Functor.Contra 'Pandora.Core.Functor.Contra 'Pandora.Core.Functor.Co t u v w)
+ Pandora.Pattern.Junction.Schemes.TUVW: instance (Pandora.Pattern.Functor.Contravariant.Contravariant t, Pandora.Pattern.Functor.Contravariant.Contravariant u, Pandora.Pattern.Functor.Covariant.Covariant v, Pandora.Pattern.Functor.Contravariant.Contravariant w) => Pandora.Pattern.Functor.Contravariant.Contravariant (Pandora.Pattern.Junction.Schemes.TUVW.TUVW 'Pandora.Core.Functor.Contra 'Pandora.Core.Functor.Contra 'Pandora.Core.Functor.Co 'Pandora.Core.Functor.Contra t u v w)
+ Pandora.Pattern.Junction.Schemes.TUVW: instance (Pandora.Pattern.Functor.Contravariant.Contravariant t, Pandora.Pattern.Functor.Contravariant.Contravariant u, Pandora.Pattern.Functor.Covariant.Covariant v, Pandora.Pattern.Functor.Covariant.Covariant w) => Pandora.Pattern.Functor.Covariant.Covariant (Pandora.Pattern.Junction.Schemes.TUVW.TUVW 'Pandora.Core.Functor.Contra 'Pandora.Core.Functor.Contra 'Pandora.Core.Functor.Co 'Pandora.Core.Functor.Co t u v w)
+ Pandora.Pattern.Junction.Schemes.TUVW: instance (Pandora.Pattern.Functor.Contravariant.Contravariant t, Pandora.Pattern.Functor.Covariant.Covariant u, Pandora.Pattern.Functor.Contravariant.Contravariant v, Pandora.Pattern.Functor.Contravariant.Contravariant w) => Pandora.Pattern.Functor.Contravariant.Contravariant (Pandora.Pattern.Junction.Schemes.TUVW.TUVW 'Pandora.Core.Functor.Contra 'Pandora.Core.Functor.Co 'Pandora.Core.Functor.Contra 'Pandora.Core.Functor.Contra t u v w)
+ Pandora.Pattern.Junction.Schemes.TUVW: instance (Pandora.Pattern.Functor.Contravariant.Contravariant t, Pandora.Pattern.Functor.Covariant.Covariant u, Pandora.Pattern.Functor.Contravariant.Contravariant v, Pandora.Pattern.Functor.Covariant.Covariant w) => Pandora.Pattern.Functor.Covariant.Covariant (Pandora.Pattern.Junction.Schemes.TUVW.TUVW 'Pandora.Core.Functor.Contra 'Pandora.Core.Functor.Co 'Pandora.Core.Functor.Contra 'Pandora.Core.Functor.Co t u v w)
+ Pandora.Pattern.Junction.Schemes.TUVW: instance (Pandora.Pattern.Functor.Contravariant.Contravariant t, Pandora.Pattern.Functor.Covariant.Covariant u, Pandora.Pattern.Functor.Covariant.Covariant v, Pandora.Pattern.Functor.Contravariant.Contravariant w) => Pandora.Pattern.Functor.Covariant.Covariant (Pandora.Pattern.Junction.Schemes.TUVW.TUVW 'Pandora.Core.Functor.Contra 'Pandora.Core.Functor.Co 'Pandora.Core.Functor.Co 'Pandora.Core.Functor.Contra t u v w)
+ Pandora.Pattern.Junction.Schemes.TUVW: instance (Pandora.Pattern.Functor.Contravariant.Contravariant t, Pandora.Pattern.Functor.Covariant.Covariant u, Pandora.Pattern.Functor.Covariant.Covariant v, Pandora.Pattern.Functor.Covariant.Covariant w) => Pandora.Pattern.Functor.Contravariant.Contravariant (Pandora.Pattern.Junction.Schemes.TUVW.TUVW 'Pandora.Core.Functor.Contra 'Pandora.Core.Functor.Co 'Pandora.Core.Functor.Co 'Pandora.Core.Functor.Co t u v w)
+ Pandora.Pattern.Junction.Schemes.TUVW: instance (Pandora.Pattern.Functor.Covariant.Covariant t, Pandora.Pattern.Functor.Contravariant.Contravariant u, Pandora.Pattern.Functor.Contravariant.Contravariant v, Pandora.Pattern.Functor.Contravariant.Contravariant w) => Pandora.Pattern.Functor.Contravariant.Contravariant (Pandora.Pattern.Junction.Schemes.TUVW.TUVW 'Pandora.Core.Functor.Co 'Pandora.Core.Functor.Contra 'Pandora.Core.Functor.Contra 'Pandora.Core.Functor.Contra t u v w)
+ Pandora.Pattern.Junction.Schemes.TUVW: instance (Pandora.Pattern.Functor.Covariant.Covariant t, Pandora.Pattern.Functor.Contravariant.Contravariant u, Pandora.Pattern.Functor.Contravariant.Contravariant v, Pandora.Pattern.Functor.Covariant.Covariant w) => Pandora.Pattern.Functor.Covariant.Covariant (Pandora.Pattern.Junction.Schemes.TUVW.TUVW 'Pandora.Core.Functor.Co 'Pandora.Core.Functor.Contra 'Pandora.Core.Functor.Contra 'Pandora.Core.Functor.Co t u v w)
+ Pandora.Pattern.Junction.Schemes.TUVW: instance (Pandora.Pattern.Functor.Covariant.Covariant t, Pandora.Pattern.Functor.Contravariant.Contravariant u, Pandora.Pattern.Functor.Covariant.Covariant v, Pandora.Pattern.Functor.Contravariant.Contravariant w) => Pandora.Pattern.Functor.Covariant.Covariant (Pandora.Pattern.Junction.Schemes.TUVW.TUVW 'Pandora.Core.Functor.Co 'Pandora.Core.Functor.Contra 'Pandora.Core.Functor.Co 'Pandora.Core.Functor.Contra t u v w)
+ Pandora.Pattern.Junction.Schemes.TUVW: instance (Pandora.Pattern.Functor.Covariant.Covariant t, Pandora.Pattern.Functor.Contravariant.Contravariant u, Pandora.Pattern.Functor.Covariant.Covariant v, Pandora.Pattern.Functor.Covariant.Covariant w) => Pandora.Pattern.Functor.Contravariant.Contravariant (Pandora.Pattern.Junction.Schemes.TUVW.TUVW 'Pandora.Core.Functor.Co 'Pandora.Core.Functor.Contra 'Pandora.Core.Functor.Co 'Pandora.Core.Functor.Co t u v w)
+ Pandora.Pattern.Junction.Schemes.TUVW: instance (Pandora.Pattern.Functor.Covariant.Covariant t, Pandora.Pattern.Functor.Covariant.Covariant u, Pandora.Pattern.Functor.Contravariant.Contravariant v, Pandora.Pattern.Functor.Contravariant.Contravariant w) => Pandora.Pattern.Functor.Covariant.Covariant (Pandora.Pattern.Junction.Schemes.TUVW.TUVW 'Pandora.Core.Functor.Co 'Pandora.Core.Functor.Co 'Pandora.Core.Functor.Contra 'Pandora.Core.Functor.Contra t u v w)
+ Pandora.Pattern.Junction.Schemes.TUVW: instance (Pandora.Pattern.Functor.Covariant.Covariant t, Pandora.Pattern.Functor.Covariant.Covariant u, Pandora.Pattern.Functor.Contravariant.Contravariant v, Pandora.Pattern.Functor.Covariant.Covariant w) => Pandora.Pattern.Functor.Contravariant.Contravariant (Pandora.Pattern.Junction.Schemes.TUVW.TUVW 'Pandora.Core.Functor.Co 'Pandora.Core.Functor.Co 'Pandora.Core.Functor.Contra 'Pandora.Core.Functor.Co t u v w)
+ Pandora.Pattern.Junction.Schemes.TUVW: instance (Pandora.Pattern.Functor.Covariant.Covariant t, Pandora.Pattern.Functor.Covariant.Covariant u, Pandora.Pattern.Functor.Covariant.Covariant v, Pandora.Pattern.Functor.Contravariant.Contravariant w) => Pandora.Pattern.Functor.Contravariant.Contravariant (Pandora.Pattern.Junction.Schemes.TUVW.TUVW 'Pandora.Core.Functor.Co 'Pandora.Core.Functor.Co 'Pandora.Core.Functor.Co 'Pandora.Core.Functor.Contra t u v w)
+ Pandora.Pattern.Junction.Schemes.TUVW: instance (Pandora.Pattern.Functor.Covariant.Covariant t, Pandora.Pattern.Functor.Covariant.Covariant u, Pandora.Pattern.Functor.Covariant.Covariant v, Pandora.Pattern.Functor.Covariant.Covariant w) => Pandora.Pattern.Functor.Covariant.Covariant (Pandora.Pattern.Junction.Schemes.TUVW.TUVW 'Pandora.Core.Functor.Co 'Pandora.Core.Functor.Co 'Pandora.Core.Functor.Co 'Pandora.Core.Functor.Co t u v w)
+ Pandora.Pattern.Junction.Schemes.TUVW: instance (Pandora.Pattern.Functor.Distributive.Distributive t, Pandora.Pattern.Functor.Distributive.Distributive u, Pandora.Pattern.Functor.Distributive.Distributive v, Pandora.Pattern.Functor.Distributive.Distributive w) => Pandora.Pattern.Functor.Distributive.Distributive (Pandora.Pattern.Junction.Schemes.TUVW.TUVW 'Pandora.Core.Functor.Co 'Pandora.Core.Functor.Co 'Pandora.Core.Functor.Co 'Pandora.Core.Functor.Co t u v w)
+ Pandora.Pattern.Junction.Schemes.TUVW: instance (Pandora.Pattern.Functor.Extractable.Extractable t, Pandora.Pattern.Functor.Extractable.Extractable u, Pandora.Pattern.Functor.Extractable.Extractable v, Pandora.Pattern.Functor.Extractable.Extractable w) => Pandora.Pattern.Functor.Extractable.Extractable (Pandora.Pattern.Junction.Schemes.TUVW.TUVW 'Pandora.Core.Functor.Co 'Pandora.Core.Functor.Co 'Pandora.Core.Functor.Co 'Pandora.Core.Functor.Co t u v w)
+ Pandora.Pattern.Junction.Schemes.TUVW: instance (Pandora.Pattern.Functor.Pointable.Pointable t, Pandora.Pattern.Functor.Pointable.Pointable u, Pandora.Pattern.Functor.Pointable.Pointable v, Pandora.Pattern.Functor.Pointable.Pointable w) => Pandora.Pattern.Functor.Pointable.Pointable (Pandora.Pattern.Junction.Schemes.TUVW.TUVW 'Pandora.Core.Functor.Co 'Pandora.Core.Functor.Co 'Pandora.Core.Functor.Co 'Pandora.Core.Functor.Co t u v w)
+ Pandora.Pattern.Junction.Schemes.TUVW: instance (Pandora.Pattern.Functor.Traversable.Traversable t, Pandora.Pattern.Functor.Traversable.Traversable u, Pandora.Pattern.Functor.Traversable.Traversable v, Pandora.Pattern.Functor.Traversable.Traversable w) => Pandora.Pattern.Functor.Traversable.Traversable (Pandora.Pattern.Junction.Schemes.TUVW.TUVW 'Pandora.Core.Functor.Co 'Pandora.Core.Functor.Co 'Pandora.Core.Functor.Co 'Pandora.Core.Functor.Co t u v w)
+ Pandora.Pattern.Junction.Schemes.TUVW: instance (t Pandora.Pattern.Junction.Schemes.TUVW.:-|: u, v Pandora.Pattern.Junction.Schemes.TUVW.:-|: w, q Pandora.Pattern.Junction.Schemes.TUVW.:-|: q, r Pandora.Pattern.Junction.Schemes.TUVW.:-|: s) => Pandora.Pattern.Functor.Adjoint.Adjoint (Pandora.Pattern.Junction.Schemes.TUVW.TUVW 'Pandora.Core.Functor.Co 'Pandora.Core.Functor.Co 'Pandora.Core.Functor.Co 'Pandora.Core.Functor.Co t v q r) (Pandora.Pattern.Junction.Schemes.TUVW.TUVW 'Pandora.Core.Functor.Co 'Pandora.Core.Functor.Co 'Pandora.Core.Functor.Co 'Pandora.Core.Functor.Co u w q s)
+ Pandora.Pattern.Junction.Schemes.TUVW: instance forall k1 k2 k3 k4 k5 k6 k7 (ct :: k7) (cu :: k6) (cv :: k5) (cw :: k4) (t :: k3 -> *) (u :: k2 -> k3) (v :: k1 -> k2) (w :: * -> k1). Pandora.Pattern.Junction.Composition.Composition (Pandora.Pattern.Junction.Schemes.TUVW.TUVW ct cu cv cw t u v w)
+ Pandora.Pattern.Junction.Schemes.TUVW: newtype TUVW ct cu cv cw t u v w a
+ Pandora.Pattern.Junction.Schemes.UT: UT :: ((u :.: t) >< a) -> UT ct cu t u a
+ Pandora.Pattern.Junction.Schemes.UT: instance (Pandora.Pattern.Functor.Applicative.Applicative t, Pandora.Pattern.Functor.Applicative.Applicative u) => Pandora.Pattern.Functor.Applicative.Applicative (Pandora.Pattern.Junction.Schemes.UT.UT 'Pandora.Core.Functor.Co 'Pandora.Core.Functor.Co t u)
+ Pandora.Pattern.Junction.Schemes.UT: instance (Pandora.Pattern.Functor.Covariant.Covariant t, Pandora.Pattern.Functor.Alternative.Alternative u) => Pandora.Pattern.Functor.Alternative.Alternative (Pandora.Pattern.Junction.Schemes.UT.UT 'Pandora.Core.Functor.Co 'Pandora.Core.Functor.Co t u)
+ Pandora.Pattern.Junction.Schemes.UT: instance (Pandora.Pattern.Functor.Covariant.Covariant t, Pandora.Pattern.Functor.Avoidable.Avoidable u) => Pandora.Pattern.Functor.Avoidable.Avoidable (Pandora.Pattern.Junction.Schemes.UT.UT 'Pandora.Core.Functor.Co 'Pandora.Core.Functor.Co t u)
+ Pandora.Pattern.Junction.Schemes.UT: instance (Pandora.Pattern.Functor.Covariant.Covariant t, Pandora.Pattern.Functor.Covariant.Covariant u) => Pandora.Pattern.Functor.Covariant.Covariant (Pandora.Pattern.Junction.Schemes.UT.UT 'Pandora.Core.Functor.Co 'Pandora.Core.Functor.Co t u)
+ Pandora.Pattern.Junction.Schemes.UT: instance (Pandora.Pattern.Functor.Distributive.Distributive t, Pandora.Pattern.Functor.Distributive.Distributive u) => Pandora.Pattern.Functor.Distributive.Distributive (Pandora.Pattern.Junction.Schemes.UT.UT 'Pandora.Core.Functor.Co 'Pandora.Core.Functor.Co t u)
+ Pandora.Pattern.Junction.Schemes.UT: instance (Pandora.Pattern.Functor.Extractable.Extractable t, Pandora.Pattern.Functor.Extractable.Extractable u) => Pandora.Pattern.Functor.Extractable.Extractable (Pandora.Pattern.Junction.Schemes.UT.UT 'Pandora.Core.Functor.Co 'Pandora.Core.Functor.Co t u)
+ Pandora.Pattern.Junction.Schemes.UT: instance (Pandora.Pattern.Functor.Pointable.Pointable t, Pandora.Pattern.Functor.Pointable.Pointable u) => Pandora.Pattern.Functor.Pointable.Pointable (Pandora.Pattern.Junction.Schemes.UT.UT 'Pandora.Core.Functor.Co 'Pandora.Core.Functor.Co t u)
+ Pandora.Pattern.Junction.Schemes.UT: instance (Pandora.Pattern.Functor.Traversable.Traversable t, Pandora.Pattern.Functor.Traversable.Traversable u) => Pandora.Pattern.Functor.Traversable.Traversable (Pandora.Pattern.Junction.Schemes.UT.UT 'Pandora.Core.Functor.Co 'Pandora.Core.Functor.Co t u)
+ Pandora.Pattern.Junction.Schemes.UT: instance Pandora.Pattern.Functor.Extractable.Extractable t => Pandora.Pattern.Functor.Lowerable.Lowerable (Pandora.Pattern.Junction.Schemes.UT.UT 'Pandora.Core.Functor.Co 'Pandora.Core.Functor.Co t)
+ Pandora.Pattern.Junction.Schemes.UT: instance Pandora.Pattern.Functor.Pointable.Pointable t => Pandora.Pattern.Functor.Liftable.Liftable (Pandora.Pattern.Junction.Schemes.UT.UT 'Pandora.Core.Functor.Co 'Pandora.Core.Functor.Co t)
+ Pandora.Pattern.Junction.Schemes.UT: instance forall k1 k2 (u :: k2 -> *) (t :: k1 -> k2) (a :: k1). Pandora.Pattern.Object.Chain.Chain ((u Pandora.Core.Functor.:.: t) Pandora.Core.Functor.>< a) => Pandora.Pattern.Object.Chain.Chain (Pandora.Pattern.Junction.Schemes.UT.UT 'Pandora.Core.Functor.Co 'Pandora.Core.Functor.Co t u a)
+ Pandora.Pattern.Junction.Schemes.UT: instance forall k1 k2 (u :: k2 -> *) (t :: k1 -> k2) (a :: k1). Pandora.Pattern.Object.Monoid.Monoid ((u Pandora.Core.Functor.:.: t) Pandora.Core.Functor.>< a) => Pandora.Pattern.Object.Monoid.Monoid (Pandora.Pattern.Junction.Schemes.UT.UT 'Pandora.Core.Functor.Co 'Pandora.Core.Functor.Co t u a)
+ Pandora.Pattern.Junction.Schemes.UT: instance forall k1 k2 (u :: k2 -> *) (t :: k1 -> k2) (a :: k1). Pandora.Pattern.Object.Semigroup.Semigroup ((u Pandora.Core.Functor.:.: t) Pandora.Core.Functor.>< a) => Pandora.Pattern.Object.Semigroup.Semigroup (Pandora.Pattern.Junction.Schemes.UT.UT 'Pandora.Core.Functor.Co 'Pandora.Core.Functor.Co t u a)
+ Pandora.Pattern.Junction.Schemes.UT: instance forall k1 k2 (u :: k2 -> *) (t :: k1 -> k2) (a :: k1). Pandora.Pattern.Object.Setoid.Setoid ((u Pandora.Core.Functor.:.: t) Pandora.Core.Functor.>< a) => Pandora.Pattern.Object.Setoid.Setoid (Pandora.Pattern.Junction.Schemes.UT.UT 'Pandora.Core.Functor.Co 'Pandora.Core.Functor.Co t u a)
+ Pandora.Pattern.Junction.Schemes.UT: instance forall k1 k2 k3 (ct :: k3) (cu :: k2) (t :: * -> k1) (u :: k1 -> *). Pandora.Pattern.Junction.Composition.Composition (Pandora.Pattern.Junction.Schemes.UT.UT ct cu t u)
+ Pandora.Pattern.Junction.Schemes.UT: newtype UT ct cu t u a
+ Pandora.Pattern.Junction.Schemes.UTU: UTU :: ((u :.: t u) >< a) -> UTU ct cu t u a
+ Pandora.Pattern.Junction.Schemes.UTU: instance (Pandora.Pattern.Functor.Applicative.Applicative (t u), Pandora.Pattern.Functor.Applicative.Applicative u) => Pandora.Pattern.Functor.Applicative.Applicative (Pandora.Pattern.Junction.Schemes.UTU.UTU 'Pandora.Core.Functor.Co 'Pandora.Core.Functor.Co t u)
+ Pandora.Pattern.Junction.Schemes.UTU: instance (Pandora.Pattern.Functor.Covariant.Covariant (t u), Pandora.Pattern.Functor.Alternative.Alternative u) => Pandora.Pattern.Functor.Alternative.Alternative (Pandora.Pattern.Junction.Schemes.UTU.UTU 'Pandora.Core.Functor.Co 'Pandora.Core.Functor.Co t u)
+ Pandora.Pattern.Junction.Schemes.UTU: instance (Pandora.Pattern.Functor.Covariant.Covariant (t u), Pandora.Pattern.Functor.Avoidable.Avoidable u) => Pandora.Pattern.Functor.Avoidable.Avoidable (Pandora.Pattern.Junction.Schemes.UTU.UTU 'Pandora.Core.Functor.Co 'Pandora.Core.Functor.Co t u)
+ Pandora.Pattern.Junction.Schemes.UTU: instance (Pandora.Pattern.Functor.Covariant.Covariant (t u), Pandora.Pattern.Functor.Covariant.Covariant u) => Pandora.Pattern.Functor.Covariant.Covariant (Pandora.Pattern.Junction.Schemes.UTU.UTU 'Pandora.Core.Functor.Co 'Pandora.Core.Functor.Co t u)
+ Pandora.Pattern.Junction.Schemes.UTU: instance (Pandora.Pattern.Functor.Distributive.Distributive (t u), Pandora.Pattern.Functor.Distributive.Distributive u) => Pandora.Pattern.Functor.Distributive.Distributive (Pandora.Pattern.Junction.Schemes.UTU.UTU 'Pandora.Core.Functor.Co 'Pandora.Core.Functor.Co t u)
+ Pandora.Pattern.Junction.Schemes.UTU: instance (Pandora.Pattern.Functor.Extractable.Extractable (t u), Pandora.Pattern.Functor.Extractable.Extractable u) => Pandora.Pattern.Functor.Extractable.Extractable (Pandora.Pattern.Junction.Schemes.UTU.UTU 'Pandora.Core.Functor.Co 'Pandora.Core.Functor.Co t u)
+ Pandora.Pattern.Junction.Schemes.UTU: instance (Pandora.Pattern.Functor.Pointable.Pointable (t u), Pandora.Pattern.Functor.Pointable.Pointable u) => Pandora.Pattern.Functor.Pointable.Pointable (Pandora.Pattern.Junction.Schemes.UTU.UTU 'Pandora.Core.Functor.Co 'Pandora.Core.Functor.Co t u)
+ Pandora.Pattern.Junction.Schemes.UTU: instance (Pandora.Pattern.Functor.Traversable.Traversable (t u), Pandora.Pattern.Functor.Traversable.Traversable u) => Pandora.Pattern.Functor.Traversable.Traversable (Pandora.Pattern.Junction.Schemes.UTU.UTU 'Pandora.Core.Functor.Co 'Pandora.Core.Functor.Co t u)
+ Pandora.Pattern.Junction.Schemes.UTU: instance (forall (u' :: * -> *). Pandora.Pattern.Functor.Extractable.Extractable u', Pandora.Pattern.Functor.Lowerable.Lowerable t) => Pandora.Pattern.Functor.Lowerable.Lowerable (Pandora.Pattern.Junction.Schemes.UTU.UTU 'Pandora.Core.Functor.Co 'Pandora.Core.Functor.Co t)
+ Pandora.Pattern.Junction.Schemes.UTU: instance (forall (u' :: * -> *). Pandora.Pattern.Functor.Pointable.Pointable u', Pandora.Pattern.Functor.Liftable.Liftable t) => Pandora.Pattern.Functor.Liftable.Liftable (Pandora.Pattern.Junction.Schemes.UTU.UTU 'Pandora.Core.Functor.Co 'Pandora.Core.Functor.Co t)
+ Pandora.Pattern.Junction.Schemes.UTU: instance forall k1 k2 (t :: (k2 -> *) -> k1 -> k2) (a :: k1) (u :: k2 -> *). (forall (u' :: k2 -> *). Pandora.Pattern.Object.Chain.Chain ((u' Pandora.Core.Functor.:.: t u') Pandora.Core.Functor.>< a)) => Pandora.Pattern.Object.Chain.Chain (Pandora.Pattern.Junction.Schemes.UTU.UTU 'Pandora.Core.Functor.Co 'Pandora.Core.Functor.Co t u a)
+ Pandora.Pattern.Junction.Schemes.UTU: instance forall k1 k2 (t :: (k2 -> *) -> k1 -> k2) (a :: k1) (u :: k2 -> *). (forall (u' :: k2 -> *). Pandora.Pattern.Object.Monoid.Monoid ((u' Pandora.Core.Functor.:.: t u') Pandora.Core.Functor.>< a)) => Pandora.Pattern.Object.Monoid.Monoid (Pandora.Pattern.Junction.Schemes.UTU.UTU 'Pandora.Core.Functor.Co 'Pandora.Core.Functor.Co t u a)
+ Pandora.Pattern.Junction.Schemes.UTU: instance forall k1 k2 (t :: (k2 -> *) -> k1 -> k2) (a :: k1) (u :: k2 -> *). (forall (u' :: k2 -> *). Pandora.Pattern.Object.Semigroup.Semigroup ((u' Pandora.Core.Functor.:.: t u') Pandora.Core.Functor.>< a)) => Pandora.Pattern.Object.Semigroup.Semigroup (Pandora.Pattern.Junction.Schemes.UTU.UTU 'Pandora.Core.Functor.Co 'Pandora.Core.Functor.Co t u a)
+ Pandora.Pattern.Junction.Schemes.UTU: instance forall k1 k2 (t :: (k2 -> *) -> k1 -> k2) (a :: k1) (u :: k2 -> *). (forall (u' :: k2 -> *). Pandora.Pattern.Object.Setoid.Setoid ((u' Pandora.Core.Functor.:.: t u') Pandora.Core.Functor.>< a)) => Pandora.Pattern.Object.Setoid.Setoid (Pandora.Pattern.Junction.Schemes.UTU.UTU 'Pandora.Core.Functor.Co 'Pandora.Core.Functor.Co t u a)
+ Pandora.Pattern.Junction.Schemes.UTU: instance forall k1 k2 k3 (ct :: k3) (cu :: k2) (t :: (k1 -> *) -> * -> k1) (u :: k1 -> *). Pandora.Pattern.Junction.Composition.Composition (Pandora.Pattern.Junction.Schemes.UTU.UTU ct cu t u)
+ Pandora.Pattern.Junction.Schemes.UTU: newtype UTU ct cu t u a
+ Pandora.Pattern.Junction.Transformer: class Composition t => Transformer t where {
+ Pandora.Pattern.Junction.Transformer: infixr 1 :>
+ Pandora.Pattern.Junction.Transformer: lay :: (Transformer t, Covariant u) => u ~> Schema t u
+ Pandora.Pattern.Junction.Transformer: type (:>) t u a = Transformer t => Schema t u a
+ Pandora.Pattern.Junction.Transformer: type family Schema (t :: * -> *) (u :: * -> *) = (r :: * -> *) | r -> t u;
+ Pandora.Pattern.Junction.Transformer: wrap :: (Transformer t, Pointable u) => t ~> Schema t u
+ Pandora.Pattern.Junction.Transformer: }
- Pandora.Core.Functor: infixr 1 :.:
+ Pandora.Core.Functor: infixr 1 .:.
- Pandora.Paradigm.Basis.Free: Impure :: (t :.: Free t) a -> Free t a
+ Pandora.Paradigm.Basis.Free: Impure :: ((t :.: Free t) >< a) -> Free t a
- Pandora.Paradigm.Basis.Twister: (:<) :: a -> (t :.: Twister t) a -> Twister t a
+ Pandora.Paradigm.Basis.Twister: (:<) :: a -> ((t :.: Twister t) >< a) -> Twister t a
- Pandora.Paradigm.Structure: type family Nonempty structure :: *
+ Pandora.Paradigm.Structure: type family Nonempty (structure :: * -> *)
- Pandora.Paradigm.Structure.Graph: type Graph a = (Edges :.: Twister Edges) a
+ Pandora.Paradigm.Structure.Graph: type Graph a = Edges :.: Twister Edges >< a
- Pandora.Paradigm.Structure.Stack: linearize :: Traversable t => t a -> Stack a
+ Pandora.Paradigm.Structure.Stack: linearize :: Traversable t => t ~> Stack
- Pandora.Paradigm.Structure.Stack: pop :: Stack a -> Stack a
+ Pandora.Paradigm.Structure.Stack: pop :: Stack ~> Stack
- Pandora.Paradigm.Structure.Stack: top :: Stack a -> Maybe a
+ Pandora.Paradigm.Structure.Stack: top :: Stack ~> Maybe
- Pandora.Pattern.Functor.Adjoint: epsilon :: Adjoint t u => (t :.: u) a -> a
+ Pandora.Pattern.Functor.Adjoint: epsilon :: Adjoint t u => ((t :.: u) >< a) -> a
- Pandora.Pattern.Functor.Adjoint: eta :: Adjoint t u => a -> (u :.: t) a
+ Pandora.Pattern.Functor.Adjoint: eta :: Adjoint t u => a -> (u :.: t) >< a
- Pandora.Pattern.Functor.Applicative: (<****>) :: (Applicative t, Applicative u, Applicative v, Applicative w) => (t :.: (u :.: (v :.: w))) (a -> b) -> (t :.: (u :.: (v :.: w))) a -> (t :.: (u :.: (v :.: w))) b
+ Pandora.Pattern.Functor.Applicative: (<****>) :: (Applicative t, Applicative u, Applicative v, Applicative w) => ((t :.: (u :.: (v :.: w))) >< (a -> b)) -> ((t :.: (u :.: (v :.: w))) >< a) -> (t :.: (u :.: (v :.: w))) >< b
- Pandora.Pattern.Functor.Applicative: (<***>) :: (Applicative t, Applicative u, Applicative v) => (t :.: (u :.: v)) (a -> b) -> (t :.: (u :.: v)) a -> (t :.: (u :.: v)) b
+ Pandora.Pattern.Functor.Applicative: (<***>) :: (Applicative t, Applicative u, Applicative v) => ((t :.: (u :.: v)) >< (a -> b)) -> ((t :.: (u :.: v)) >< a) -> (t :.: (u :.: v)) >< b
- Pandora.Pattern.Functor.Applicative: (<**>) :: (Applicative t, Applicative u) => (t :.: u) (a -> b) -> (t :.: u) a -> (t :.: u) b
+ Pandora.Pattern.Functor.Applicative: (<**>) :: (Applicative t, Applicative u) => ((t :.: u) >< (a -> b)) -> ((t :.: u) >< a) -> (t :.: u) >< b
- Pandora.Pattern.Functor.Bindable: join :: Bindable t => (t :.: t) a -> t a
+ Pandora.Pattern.Functor.Bindable: join :: Bindable t => ((t :.: t) >< a) -> t a
- Pandora.Pattern.Functor.Distributive: (>>-) :: (Distributive u, Covariant t) => t a -> (a -> u b) -> (u :.: t) b
+ Pandora.Pattern.Functor.Distributive: (>>-) :: (Distributive u, Covariant t) => t a -> (a -> u b) -> (u :.: t) >< b
- Pandora.Pattern.Functor.Distributive: (>>>-) :: (Distributive u, Covariant t, Covariant v) => (t :.: v) a -> (a -> u b) -> (u :.: (t :.: v)) b
+ Pandora.Pattern.Functor.Distributive: (>>>-) :: (Distributive u, Covariant t, Covariant v) => ((t :.: v) >< a) -> (a -> u b) -> (u :.: (t :.: v)) >< b
- Pandora.Pattern.Functor.Distributive: (>>>>-) :: (Distributive u, Covariant t, Covariant v, Covariant w) => (t :.: (v :.: w)) a -> (a -> u b) -> (u :.: (t :.: (v :.: w))) b
+ Pandora.Pattern.Functor.Distributive: (>>>>-) :: (Distributive u, Covariant t, Covariant v, Covariant w) => ((t :.: (v :.: w)) >< a) -> (a -> u b) -> (u :.: (t :.: (v :.: w))) >< b
- Pandora.Pattern.Functor.Distributive: (>>>>>-) :: (Distributive u, Covariant t, Covariant v, Covariant w, Covariant j) => (t :.: (v :.: (w :.: j))) a -> (a -> u b) -> (u :.: (t :.: (v :.: (w :.: j)))) b
+ Pandora.Pattern.Functor.Distributive: (>>>>>-) :: (Distributive u, Covariant t, Covariant v, Covariant w, Covariant j) => ((t :.: (v :.: (w :.: j))) >< a) -> (a -> u b) -> (u :.: (t :.: (v :.: (w :.: j)))) >< b
- Pandora.Pattern.Functor.Distributive: collect :: (Distributive u, Covariant t) => (a -> u b) -> t a -> (u :.: t) b
+ Pandora.Pattern.Functor.Distributive: collect :: (Distributive u, Covariant t) => (a -> u b) -> t a -> (u :.: t) >< b
- Pandora.Pattern.Functor.Distributive: distribute :: (Distributive u, Covariant t) => (t :.: u) a -> (u :.: t) a
+ Pandora.Pattern.Functor.Distributive: distribute :: (Distributive u, Covariant t) => ((t :.: u) >< a) -> (u :.: t) >< a
- Pandora.Pattern.Functor.Extendable: duplicate :: Extendable t => t a -> (t :.: t) a
+ Pandora.Pattern.Functor.Extendable: duplicate :: Extendable t => t a -> (t :.: t) >< a
- Pandora.Pattern.Functor.Traversable: (->>) :: (Traversable t, Pointable u, Applicative u) => t a -> (a -> u b) -> (u :.: t) b
+ Pandora.Pattern.Functor.Traversable: (->>) :: (Traversable t, Pointable u, Applicative u) => t a -> (a -> u b) -> (u :.: t) >< b
- Pandora.Pattern.Functor.Traversable: (->>>) :: (Traversable t, Pointable u, Applicative u, Traversable v) => (v :.: t) a -> (a -> u b) -> (u :.: (v :.: t)) b
+ Pandora.Pattern.Functor.Traversable: (->>>) :: (Traversable t, Pointable u, Applicative u, Traversable v) => ((v :.: t) >< a) -> (a -> u b) -> (u :.: (v :.: t)) >< b
- Pandora.Pattern.Functor.Traversable: (->>>>) :: (Traversable t, Pointable u, Applicative u, Traversable v, Traversable w) => (w :.: (v :.: t)) a -> (a -> u b) -> (u :.: (w :.: (v :.: t))) b
+ Pandora.Pattern.Functor.Traversable: (->>>>) :: (Traversable t, Pointable u, Applicative u, Traversable v, Traversable w) => ((w :.: (v :.: t)) >< a) -> (a -> u b) -> (u :.: (w :.: (v :.: t))) >< b
- Pandora.Pattern.Functor.Traversable: (->>>>>) :: (Traversable t, Pointable u, Applicative u, Traversable v, Traversable w, Traversable j) => (j :.: (w :.: (v :.: t))) a -> (a -> u b) -> (u :.: (j :.: (w :.: (v :.: t)))) b
+ Pandora.Pattern.Functor.Traversable: (->>>>>) :: (Traversable t, Pointable u, Applicative u, Traversable v, Traversable w, Traversable j) => ((j :.: (w :.: (v :.: t))) >< a) -> (a -> u b) -> (u :.: (j :.: (w :.: (v :.: t)))) >< b
- Pandora.Pattern.Functor.Traversable: sequence :: (Traversable t, Pointable u, Applicative u) => (t :.: u) a -> (u :.: t) a
+ Pandora.Pattern.Functor.Traversable: sequence :: (Traversable t, Pointable u, Applicative u) => (t :.: u) a -> (u :.: t) >< a
- Pandora.Pattern.Functor.Traversable: traverse :: (Traversable t, Pointable u, Applicative u) => (a -> u b) -> t a -> (u :.: t) b
+ Pandora.Pattern.Functor.Traversable: traverse :: (Traversable t, Pointable u, Applicative u) => (a -> u b) -> t a -> (u :.: t) >< b

Files

CHANGELOG.md view
@@ -84,3 +84,18 @@ * Remove `:!:` type operator * Define `Composition` and `Transformer` instances for `Maybe` and `Conclusion` * Define `Core`, `Paradigm` and `Pattern` umbrella modules++# 0.1.9+* Change `Stack` definition: from type synonymous to newtype, change operations accordingly+* Define `.:.` composition: the same thing but with reverse order+* Change `Nonempty` type family, family instances should be defined for each data structure+* Define `:>` type operator for transformers+* Define `Distributive` instance for `->` datatype+* Rename `idle` method of `Avoidable` typeclass to `empty`+* Remove `a` parameter from `Layout` to be able to use natural transformations in methods+* Return `filter` method to `Stack` data structure+* Rename `unwrap` to `untwist` method in `Twister` module+* Rename `composition` to `unwrap` and `Outline` to `Primary` in `Composition` typeclass+* Rename `equip` to `wrap` and `Layout` to `Schema` in `Transformer` typeclass+* Make `Composition` a superclass for `Transformer` typeclass+* Move all `Junction` modules to `Pattern` submodule except `Kan`
Pandora/Core/Functor.hs view
@@ -1,9 +1,12 @@-module Pandora.Core.Functor (Variant (..), type (:.:), type (><)) where+module Pandora.Core.Functor (Variant (..), type (:.:), type (.:.), type (><)) where  data Variant = Co | Contra  infixr 1 :.: type (:.:) t u a = t (u a)++infixr 1 .:.+type (.:.) t u a = u (t a)  infixr 0 >< type (><) t a = t a
Pandora/Paradigm.hs view
@@ -1,7 +1,6 @@ module Pandora.Paradigm (module Exports) where  import Pandora.Paradigm.Structure as Exports-import Pandora.Paradigm.Junction as Exports import Pandora.Paradigm.Inventory as Exports import Pandora.Paradigm.Controlflow as Exports import Pandora.Paradigm.Basis as Exports
Pandora/Paradigm/Basis/Conclusion.hs view
@@ -1,9 +1,9 @@ module Pandora.Paradigm.Basis.Conclusion (Conclusion (..), conclusion, fail) where  import Pandora.Core.Morphism ((.), ($))-import Pandora.Paradigm.Junction.Composition (Composition (Outline, composition))-import Pandora.Paradigm.Junction.Transformer (Transformer (Layout, lay, equip))-import Pandora.Paradigm.Junction.Schemes.UT (UT (UT))+import Pandora.Pattern.Junction.Composition (Composition (Primary, unwrap))+import Pandora.Pattern.Junction.Transformer (Transformer (Schema, lay, wrap))+import Pandora.Pattern.Junction.Schemes.UT (UT (UT)) import Pandora.Pattern.Functor.Covariant (Covariant ((<$>), (<$$>))) import Pandora.Pattern.Functor.Pointable (Pointable (point)) import Pandora.Pattern.Functor.Alternative (Alternative ((<+>)))@@ -43,13 +43,13 @@ instance Monad (Conclusion e) where  instance Composition (Conclusion e) where-	type Outline (Conclusion e) a = Conclusion e a-	composition x = x+	type Primary (Conclusion e) a = Conclusion e a+	unwrap x = x  instance Transformer (Conclusion e) where-	type Layout (Conclusion e) u a = UT (Conclusion e) () (Conclusion e) u a+	type Schema (Conclusion e) u = UT (Conclusion e) () (Conclusion e) u 	lay x = UT $ Success <$> x-	equip x = UT . point $ x+	wrap x = UT . point $ x  instance Covariant u => Covariant (UT (Conclusion e) () (Conclusion e) u) where 	f <$> UT x = UT $ f <$$> x@@ -61,7 +61,7 @@ 	point = UT . point . point  instance (Pointable u, Bindable u) => Bindable (UT (Conclusion e) () (Conclusion e) u) where-	UT x >>= f = UT $ x >>= conclusion (point . Failure) (composition . f)+	UT x >>= f = UT $ x >>= conclusion (point . Failure) (unwrap . f)  instance Monad u => Monad (UT (Conclusion e) () (Conclusion e) u) where 
Pandora/Paradigm/Basis/Free.hs view
@@ -1,16 +1,16 @@ module Pandora.Paradigm.Basis.Free (Free (..)) where -import Pandora.Core.Functor (type (:.:))+import Pandora.Core.Functor (type (:.:), type (><)) import Pandora.Core.Morphism (($)) import Pandora.Pattern.Functor.Covariant (Covariant ((<$>), (<$$>)))-import Pandora.Pattern.Functor.Avoidable (Avoidable (idle))+import Pandora.Pattern.Functor.Avoidable (Avoidable (empty)) import Pandora.Pattern.Functor.Pointable (Pointable (point)) import Pandora.Pattern.Functor.Alternative (Alternative ((<+>))) import Pandora.Pattern.Functor.Applicative (Applicative ((<*>))) import Pandora.Pattern.Functor.Traversable (Traversable ((->>), (->>>))) import Pandora.Pattern.Functor.Bindable (Bindable ((>>=))) -data Free t a = Pure a | Impure ((t :.: Free t) a)+data Free t a = Pure a | Impure (t :.: Free t >< a)  instance Covariant t => Covariant (Free t) where 	f <$> Pure x = Pure $ f x@@ -25,7 +25,7 @@ 	Impure xs <+> Impure ys = Impure $ xs <+> ys  instance Avoidable t => Avoidable (Free t) where-	idle = Impure idle+	empty = Impure empty  instance Covariant t => Applicative (Free t) where 	Pure f <*> Pure y = Pure $ f y
Pandora/Paradigm/Basis/Jack.hs view
@@ -5,7 +5,7 @@ import Pandora.Pattern.Functor.Pointable (Pointable (point)) import Pandora.Pattern.Functor.Extractable (Extractable (extract)) import Pandora.Pattern.Functor.Alternative (Alternative ((<+>)))-import Pandora.Pattern.Functor.Avoidable (Avoidable (idle))+import Pandora.Pattern.Functor.Avoidable (Avoidable (empty)) import Pandora.Pattern.Functor.Applicative (Applicative ((<*>))) import Pandora.Pattern.Functor.Traversable (Traversable ((->>), traverse)) import Pandora.Pattern.Functor.Distributive (Distributive ((>>-), distribute))@@ -28,7 +28,7 @@ 	Other x <+> Other y = Other (x <+> y)  instance Avoidable t => Avoidable (Jack t) where-	idle = Other idle+	empty = Other empty  instance Extractable t => Extractable (Jack t) where 	extract (It x) = x
Pandora/Paradigm/Basis/Jet.hs view
@@ -1,7 +1,7 @@ module Pandora.Paradigm.Basis.Jet (Jet (..)) where  import Pandora.Pattern.Functor.Covariant (Covariant ((<$>)), (<$$>))-import Pandora.Pattern.Functor.Avoidable (Avoidable (idle))+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.Applicative (Applicative ((<*>)))@@ -18,7 +18,7 @@ 	a :- as ->> f = (:-) <$> f a <*> as ->>> f  instance (forall t' . Avoidable t') => Pointable (Jet t) where-	point x = x :- idle+	point x = x :- empty  instance Covariant t => Extractable (Jet t) where 	extract (x :- _) = x
+ Pandora/Paradigm/Basis/Kan.hs view
@@ -0,0 +1,17 @@+module Pandora.Paradigm.Basis.Kan (Lan (..), Ran (..)) where++import Pandora.Core.Morphism ((.), ($))+import Pandora.Pattern.Functor.Contravariant (Contravariant ((>$<)))+import Pandora.Pattern.Functor.Covariant (Covariant ((<$>)))++newtype Lan (t :: * -> *) (u :: * -> *) (b :: *) (a :: *) =+	Lan { lan :: (t b -> a) -> u b }++instance Contravariant (Lan t u b) where+	f >$< Lan x = Lan $ x . (f .)++newtype Ran (t :: * -> *) (u :: * -> *) (b :: *) (a :: *) =+	Ran { ran :: (a -> t b) -> u b }++instance Covariant (Ran t u b) where+	f <$> Ran x = Ran $ x . (. f)
Pandora/Paradigm/Basis/Maybe.hs view
@@ -1,11 +1,11 @@ module Pandora.Paradigm.Basis.Maybe (Maybe (..), maybe) where  import Pandora.Core.Morphism ((.), ($))-import Pandora.Paradigm.Junction.Composition (Composition (Outline, composition))-import Pandora.Paradigm.Junction.Transformer (Transformer (Layout, lay, equip))-import Pandora.Paradigm.Junction.Schemes.UT (UT (UT))+import Pandora.Pattern.Junction.Composition (Composition (Primary, unwrap))+import Pandora.Pattern.Junction.Transformer (Transformer (Schema, lay, wrap))+import Pandora.Pattern.Junction.Schemes.UT (UT (UT)) import Pandora.Pattern.Functor.Covariant (Covariant ((<$>), (<$$>)))-import Pandora.Pattern.Functor.Avoidable (Avoidable (idle))+import Pandora.Pattern.Functor.Avoidable (Avoidable (empty)) import Pandora.Pattern.Functor.Pointable (Pointable (point)) import Pandora.Pattern.Functor.Alternative (Alternative ((<+>))) import Pandora.Pattern.Functor.Applicative (Applicative ((<*>), apply))@@ -29,7 +29,7 @@ 	point = Just  instance Avoidable Maybe where-	idle = Nothing+	empty = Nothing  instance Applicative Maybe where 	Just f <*> x = f <$> x@@ -50,13 +50,13 @@ instance Monad Maybe where  instance Composition Maybe where-	type Outline Maybe a = Maybe a-	composition x = x+	type Primary Maybe a = Maybe a+	unwrap x = x  instance Transformer Maybe where-	type Layout Maybe u a = UT Maybe () Maybe u a+	type Schema Maybe u = UT Maybe () Maybe u 	lay x = UT $ Just <$> x-	equip x = UT . point $ x+	wrap x = UT . point $ x  instance Covariant u => Covariant (UT Maybe () Maybe u) where 	f <$> UT x = UT $ f <$$> x@@ -68,7 +68,7 @@ 	point = UT . point . point  instance (Pointable u, Bindable u) => Bindable (UT Maybe () Maybe u) where-	UT x >>= f = UT $ x >>= maybe (point Nothing) (composition . f)+	UT x >>= f = UT $ x >>= maybe (point Nothing) (unwrap . f)  instance Monad u => Monad (UT Maybe () Maybe u) where 
Pandora/Paradigm/Basis/Twister.hs view
@@ -1,9 +1,9 @@-module Pandora.Paradigm.Basis.Twister (Twister (..), unwrap, coiterate, section) where+module Pandora.Paradigm.Basis.Twister (Twister (..), untwist, coiterate, section) where -import Pandora.Core.Functor (type (:.:))+import Pandora.Core.Functor (type (:.:), type (><)) import Pandora.Core.Transformation (type (~>)) import Pandora.Pattern.Functor.Covariant (Covariant ((<$>), (<$$>), comap))-import Pandora.Pattern.Functor.Avoidable (Avoidable (idle))+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 ((<+>)))@@ -19,13 +19,13 @@  infixr 5 :< -data Twister t a = a :< (t :.: Twister t) a+data Twister t a = a :< (t :.: Twister t >< a)  instance Covariant t => Covariant (Twister t) where 	f <$> (x :< xs) = f x :< (f <$$> xs)  instance Avoidable t => Pointable (Twister t) where-	point x = x :< idle+	point x = x :< empty  instance Covariant t => Extractable (Twister t) where 	extract (x :< _) = x@@ -41,7 +41,7 @@ 		y :< ys -> y :< (ys <+> comap (>>= f) xs)  instance Covariant t => Extendable (Twister t) where-	x =>> f = f x :< (extend f <$> unwrap x)+	x =>> f = f x :< (extend f <$> untwist x)  instance (Avoidable t, Alternative t) => Monad (Twister t) where @@ -56,8 +56,8 @@ instance (Monoid a, forall b . Semigroup b => Monoid (t b)) => Monoid (Twister t a) where 	zero = zero :< zero -unwrap :: Twister t a -> (t :.: Twister t) a-unwrap (_ :< xs) = xs+untwist :: Twister t a -> (t :.: Twister t) a+untwist (_ :< xs) = xs  coiterate :: Covariant t => (a -> t a) -> a -> Twister t a coiterate coalgebra x = x :< (coiterate coalgebra <$> coalgebra x)
Pandora/Paradigm/Basis/Yoneda.hs view
@@ -4,7 +4,7 @@ import Pandora.Pattern.Functor.Covariant (Covariant ((<$>), comap)) import Pandora.Pattern.Functor.Alternative (Alternative ((<+>))) import Pandora.Pattern.Functor.Applicative (Applicative ((<*>)))-import Pandora.Pattern.Functor.Avoidable (Avoidable (idle))+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.Adjoint (Adjoint (phi, psi))@@ -22,7 +22,7 @@ 	Yoneda f <*> Yoneda x = Yoneda (\g -> f (g .) <*> x identity)  instance Avoidable t => Avoidable (Yoneda t) where-	idle = Yoneda (idle !)+	empty = Yoneda (empty !)  instance Pointable t => Pointable (Yoneda t) where 	point x = Yoneda (\f -> point $ f x)
Pandora/Paradigm/Inventory/Stateful.hs view
@@ -1,16 +1,16 @@ module Pandora.Paradigm.Inventory.Stateful-	(Stateful (..), get, modify, put, fold, find) where+	(Stateful (..), statefully, get, modify, put, fold, find) where  import Pandora.Core.Functor (type (:.:), type (><)) import Pandora.Core.Morphism ((.), ($))-import Pandora.Paradigm.Junction.Composition (Composition (Outline, composition))-import Pandora.Paradigm.Junction.Transformer (Transformer (Layout, lay, equip))-import Pandora.Paradigm.Junction.Schemes.TUV (TUV (TUV))+import Pandora.Pattern.Junction.Composition (Composition (Primary, unwrap))+import Pandora.Pattern.Junction.Transformer (Transformer (Schema, lay, wrap))+import Pandora.Pattern.Junction.Schemes.TUV (TUV (TUV)) import Pandora.Paradigm.Basis.Predicate (Predicate (predicate)) import Pandora.Paradigm.Basis.Product (Product ((:*:)), type (:*:), attached, delta, uncurry) import Pandora.Pattern.Functor.Covariant (Covariant ((<$>), ($>), (<$$>))) import Pandora.Pattern.Functor.Extractable (Extractable (extract))-import Pandora.Pattern.Functor.Avoidable (Avoidable (idle))+import Pandora.Pattern.Functor.Avoidable (Avoidable (empty)) import Pandora.Pattern.Functor.Pointable (Pointable (point)) import Pandora.Pattern.Functor.Applicative (Applicative ((<*>), (*>))) import Pandora.Pattern.Functor.Alternative (Alternative ((<+>)))@@ -55,16 +55,16 @@ 	struct ->> modify . op $> () *> get  find :: (Pointable u, Avoidable u, Alternative u, Traversable t) => Predicate a -> t a -> u a-find p struct = fold idle (\x s -> (<+>) s . bool idle (point x) . predicate p $ x) struct+find p struct = fold empty (\x s -> (<+>) s . bool empty (point x) . predicate p $ x) struct  instance Composition (Stateful s) where-	type Outline (Stateful s) a = (->) s :.: (:*:) s >< a-	composition (Stateful x) = x+	type Primary (Stateful s) a = (->) s :.: (:*:) s >< a+	unwrap (Stateful x) = x  instance Transformer (Stateful s) where-	type Layout (Stateful s) u a = TUV Stateful () Stateful ((->) s) u ((:*:) s) a+	type Schema (Stateful s) u = TUV Stateful () Stateful ((->) s) u ((:*:) s) 	lay x = TUV $ \s -> (s :*:) <$> x-	equip x = TUV $ point <$> composition x+	wrap x = TUV $ point <$> unwrap x  instance Covariant u => Covariant (TUV Stateful () Stateful ((->) s) u ((:*:) s)) where 	f <$> TUV x = TUV $ \old -> f <$$> x old@@ -76,6 +76,6 @@ 	point x = TUV $ \s -> point $ s :*: x  instance Bindable u => Bindable (TUV Stateful () Stateful ((->) s) u ((:*:) s)) where-	TUV x >>= f = TUV $ \old -> x old >>= \(new :*: y) -> ($ new) . composition . f $ y+	TUV x >>= f = TUV $ \old -> x old >>= \(new :*: y) -> ($ new) . unwrap . f $ y  instance Monad u => Monad (TUV Stateful () Stateful ((->) s) u ((:*:) s)) where
− Pandora/Paradigm/Junction.hs
@@ -1,5 +0,0 @@-module Pandora.Paradigm.Junction (module Exports) where--import Pandora.Paradigm.Junction.Kan as Exports-import Pandora.Paradigm.Junction.Transformer as Exports-import Pandora.Paradigm.Junction.Composition as Exports
− Pandora/Paradigm/Junction/Composition.hs
@@ -1,6 +0,0 @@-module Pandora.Paradigm.Junction.Composition (Composition (..)) where--class Composition t where-	{-# MINIMAL composition #-}-	type Outline t a :: *-	composition :: t a -> Outline t a
− Pandora/Paradigm/Junction/Kan.hs
@@ -1,17 +0,0 @@-module Pandora.Paradigm.Junction.Kan (Lan (..), Ran (..)) where--import Pandora.Core.Morphism ((.), ($))-import Pandora.Pattern.Functor.Contravariant (Contravariant ((>$<)))-import Pandora.Pattern.Functor.Covariant (Covariant ((<$>)))--newtype Lan (t :: * -> *) (u :: * -> *) (b :: *) (a :: *) =-	Lan { lan :: (t b -> a) -> u b }--instance Contravariant (Lan t u b) where-	f >$< Lan x = Lan $ x . (f .)--newtype Ran (t :: * -> *) (u :: * -> *) (b :: *) (a :: *) =-	Ran { ran :: (a -> t b) -> u b }--instance Covariant (Ran t u b) where-	f <$> Ran x = Ran $ x . (. f)
− Pandora/Paradigm/Junction/Schemes.hs
@@ -1,7 +0,0 @@-module Pandora.Paradigm.Junction.Schemes (module Exports) where--import Pandora.Paradigm.Junction.Schemes.UTU as Exports-import Pandora.Paradigm.Junction.Schemes.UT as Exports-import Pandora.Paradigm.Junction.Schemes.TUVW as Exports-import Pandora.Paradigm.Junction.Schemes.TUV as Exports-import Pandora.Paradigm.Junction.Schemes.TU as Exports
− Pandora/Paradigm/Junction/Schemes/TU.hs
@@ -1,60 +0,0 @@-module Pandora.Paradigm.Junction.Schemes.TU (TU (..)) where--import Pandora.Core.Functor (Variant (Co, Contra), type (:.:), type (><))-import Pandora.Core.Morphism ((.), ($))-import Pandora.Paradigm.Junction.Composition (Composition (Outline, composition))-import Pandora.Pattern.Functor.Covariant (Covariant ((<$>), (<$$>), comap))-import Pandora.Pattern.Functor.Contravariant (Contravariant ((>$<), (>$$<)))-import Pandora.Pattern.Functor.Extractable (Extractable (extract))-import Pandora.Pattern.Functor.Avoidable (Avoidable (idle))-import Pandora.Pattern.Functor.Pointable (Pointable (point))-import Pandora.Pattern.Functor.Alternative (Alternative ((<+>)))-import Pandora.Pattern.Functor.Applicative (Applicative ((<*>), apply))-import Pandora.Pattern.Functor.Traversable (Traversable ((->>), (->>>)))-import Pandora.Pattern.Functor.Distributive (Distributive ((>>-), distribute))-import Pandora.Pattern.Functor.Adjoint (Adjoint (phi, psi))--newtype TU ct cu t u a = TU (t :.: u >< a)--instance Composition (TU ct cu t u) where-	type Outline (TU ct cu t u) a = t :.: u >< a-	composition (TU x) = x--instance (Covariant t, Covariant u) => Covariant (TU 'Co 'Co t u) where-	f <$> TU x = TU $ f <$$> x--instance (Covariant t, Contravariant u) => Contravariant (TU 'Co 'Contra t u) where-	f >$< TU x = TU $ (f >$<) <$> x--instance (Contravariant t, Covariant u) => Contravariant (TU 'Contra 'Co t u) where-	f >$< TU x = TU $ (f <$>) >$< x--instance (Contravariant t, Contravariant u) => Covariant (TU 'Contra 'Contra t u) where-	f <$> TU x = TU $ f >$$< x--instance (Pointable t, Pointable u) => Pointable (TU 'Co 'Co t u) where-	point = TU . point . point--instance (Extractable t, Extractable u) => Extractable (TU 'Co 'Co t u) where-	extract = extract . extract . composition--instance (Avoidable t, Covariant u) => Avoidable (TU 'Co 'Co t u) where-	idle = TU idle--instance (Applicative t, Applicative u) => Applicative (TU 'Co 'Co t u) where-	TU f <*> TU x = TU $ apply <$> f <*> x--instance (Alternative t, Covariant u) => Alternative (TU 'Co 'Co t u) where-	TU x <+> TU y = TU $ x <+> y--instance (Traversable t, Traversable u) => Traversable (TU 'Co 'Co t u) where-	TU x ->> f = TU <$> x ->>> f--instance (Distributive t, Distributive u) => Distributive (TU 'Co 'Co t u) where-	x >>- f = TU . comap distribute . distribute $ composition . f <$> x--type (:-|:) t u = (Extractable t, Pointable t, Extractable u, Pointable u, Adjoint t u)--instance (t :-|: u, v :-|: w) => Adjoint (TU 'Co 'Co t v) (TU 'Co 'Co u w) where-	phi f = point . f . point-	psi f = extract . extract . comap f
− Pandora/Paradigm/Junction/Schemes/TUV.hs
@@ -1,88 +0,0 @@-module Pandora.Paradigm.Junction.Schemes.TUV (TUV (..)) where--import Pandora.Core.Functor (Variant (Co, Contra), type (:.:), type (><))-import Pandora.Core.Morphism ((.), ($))-import Pandora.Paradigm.Junction.Composition (Composition (Outline, composition))-import Pandora.Pattern.Functor.Covariant (Covariant ((<$>), (<$$>), (<$$$>), comap))-import Pandora.Pattern.Functor.Contravariant (Contravariant ((>$<), (>$$<), (>$$$<)), contramap)-import Pandora.Pattern.Functor.Extractable (Extractable (extract))-import Pandora.Pattern.Functor.Avoidable (Avoidable (idle))-import Pandora.Pattern.Functor.Pointable (Pointable (point))-import Pandora.Pattern.Functor.Alternative (Alternative ((<+>)))-import Pandora.Pattern.Functor.Applicative (Applicative ((<*>), apply))-import Pandora.Pattern.Functor.Traversable (Traversable ((->>), (->>>>)))-import Pandora.Pattern.Functor.Distributive (Distributive ((>>-), distribute))-import Pandora.Pattern.Functor.Adjoint (Adjoint (phi, psi))--newtype TUV ct cu cv t u v a = TUV (t :.: u :.: v >< a)--instance Composition (TUV ct cu cv t u v) where-	type Outline (TUV ct cu cv t u v) a = t :.: u :.: v >< a-	composition (TUV x) = x--instance (Covariant t, Covariant u, Covariant v)-	=> Covariant (TUV 'Co 'Co 'Co t u v) where-	f <$> TUV x = TUV $ f <$$$> x--instance (Covariant t, Covariant u, Contravariant v)-	=> Contravariant (TUV 'Co 'Co 'Contra t u v) where-	f >$< TUV x = TUV $ (f >$<) <$$> x--instance (Covariant t, Contravariant u, Covariant v)-	=> Contravariant (TUV 'Co 'Contra 'Co t u v) where-	f >$< TUV x = TUV $ contramap (comap f) <$> x--instance (Contravariant t, Covariant u, Covariant v)-	=> Contravariant (TUV 'Contra 'Co 'Co t u v) where-	f >$< TUV x = TUV $ (f <$$>) >$< x--instance (Contravariant t, Contravariant u, Covariant v)-	=> Covariant (TUV 'Contra 'Contra 'Co t u v) where-	f <$> TUV x = TUV $ contramap (comap f) >$< x--instance (Covariant t, Contravariant u, Contravariant v)-	=> Covariant (TUV 'Co 'Contra 'Contra t u v) where-	f <$> TUV x = TUV $ (f >$$<) <$> x--instance (Contravariant t, Covariant u, Contravariant v)-	=> Covariant (TUV 'Contra 'Co 'Contra t u v) where-	f <$> TUV x = TUV $ comap (contramap f) >$< x--instance (Contravariant t, Contravariant u, Contravariant v)-	=> Contravariant (TUV 'Contra 'Contra 'Contra t u v) where-	f >$< TUV x = TUV $ f >$$$< x--instance (Pointable t, Pointable u, Pointable v)-	=> Pointable (TUV 'Co 'Co 'Co t u v) where-	point = TUV . point . point . point--instance (Extractable t, Extractable u, Extractable v)-	=> Extractable (TUV 'Co 'Co 'Co t u v) where-	extract = extract . extract . extract . composition--instance (Avoidable t, Covariant u, Covariant v)-	=> Avoidable (TUV 'Co 'Co 'Co t u v) where-	idle = TUV idle--instance (Applicative t, Applicative u, Applicative v)-	=> Applicative (TUV 'Co 'Co 'Co t u v) where-	TUV f <*> TUV x = TUV $ ((apply <$>) . (apply <$$>) $ f) <*> x--instance (Alternative t, Covariant u, Covariant v)-	=> Alternative (TUV 'Co 'Co 'Co t u v) where-	TUV x <+> TUV y = TUV $ x <+> y--instance (Traversable t, Traversable u, Traversable v)-	=> Traversable (TUV 'Co 'Co 'Co t u v) where-	TUV x ->> f = TUV <$> x ->>>> f--instance (Distributive t, Distributive u, Distributive v)-	=> Distributive (TUV 'Co 'Co 'Co t u v) where-	x >>- f = TUV . (distribute <$$>) . (distribute <$>) . distribute $ composition . f <$> x--type (:-|:) t u = (Extractable t, Pointable t, Extractable u, Pointable u, Adjoint t u)--instance (t :-|: w, v :-|: x, u :-|: y)-	=> Adjoint (TUV 'Co 'Co 'Co t v u) (TUV 'Co 'Co 'Co w x y) where-	phi f = point . f . point-	psi f = extract . extract . comap f
− Pandora/Paradigm/Junction/Schemes/TUVW.hs
@@ -1,120 +0,0 @@-module Pandora.Paradigm.Junction.Schemes.TUVW (TUVW (..)) where--import Pandora.Core.Functor (Variant (Co, Contra), type (:.:), type (><))-import Pandora.Core.Morphism ((.), ($))-import Pandora.Paradigm.Junction.Composition (Composition (Outline, composition))-import Pandora.Pattern.Functor.Covariant (Covariant ((<$>), (<$$>), (<$$$>), (<$$$$>), comap))-import Pandora.Pattern.Functor.Contravariant (Contravariant ((>$<), (>$$<), (>$$$<), (>$$$$<), contramap))-import Pandora.Pattern.Functor.Extractable (Extractable (extract))-import Pandora.Pattern.Functor.Avoidable (Avoidable (idle))-import Pandora.Pattern.Functor.Pointable (Pointable (point))-import Pandora.Pattern.Functor.Alternative (Alternative ((<+>)))-import Pandora.Pattern.Functor.Applicative (Applicative ((<*>), apply))-import Pandora.Pattern.Functor.Traversable (Traversable ((->>), (->>>>>)))-import Pandora.Pattern.Functor.Distributive (Distributive ((>>-), distribute))-import Pandora.Pattern.Functor.Adjoint (Adjoint (phi, psi))--newtype TUVW ct cu cv cw t u v w a = TUVW (t :.: u :.: v :.: w >< a)--instance Composition (TUVW ct cu cv cw t u v w) where-	type Outline (TUVW ct cu cv cw t u v w) a = t :.: u :.: v :.: w >< a-	composition (TUVW x) = x--instance (Covariant t, Covariant u, Covariant v, Covariant w)-	=> Covariant (TUVW 'Co 'Co 'Co 'Co t u v w) where-	f <$> TUVW x = TUVW $ f <$$$$> x--instance (Covariant t, Covariant u, Covariant v, Contravariant w)-	=> Contravariant (TUVW 'Co 'Co 'Co 'Contra t u v w) where-	f >$< TUVW x = TUVW $ (f >$<) <$$$> x--instance (Covariant t, Covariant u, Contravariant v, Covariant w)-	=> Contravariant (TUVW 'Co 'Co 'Contra 'Co t u v w) where-	f >$< TUVW x = TUVW $ (contramap (comap f)) <$$> x--instance (Covariant t, Contravariant u, Covariant v, Covariant w)-	=> Contravariant (TUVW 'Co 'Contra 'Co 'Co t u v w) where-	f >$< TUVW x = TUVW $ (contramap (comap (comap f))) <$> x--instance (Contravariant t, Covariant u, Covariant v, Covariant w)-	=> Contravariant (TUVW 'Contra 'Co 'Co 'Co t u v w) where-	f >$< TUVW x = TUVW $ (f <$$$>) >$< x--instance (Contravariant t, Contravariant u, Covariant v, Covariant w)-	=> Covariant (TUVW 'Contra 'Contra 'Co 'Co t u v w) where-	f <$> TUVW x = TUVW $ (contramap . contramap . comap . comap $ f) x--instance (Covariant t, Contravariant u, Contravariant v, Covariant w)-	=> Covariant (TUVW 'Co 'Contra 'Contra 'Co t u v w) where-	f <$> TUVW x = TUVW $ (comap . contramap . contramap . comap $ f) x--instance (Covariant t, Covariant u, Contravariant v, Contravariant w)-	=> Covariant (TUVW 'Co 'Co 'Contra 'Contra t u v w) where-	f <$> TUVW x = TUVW $ (f >$$<) <$$> x--instance (Covariant t, Contravariant u, Covariant v, Contravariant w)-	=> Covariant (TUVW 'Co 'Contra 'Co 'Contra t u v w) where-	f <$> TUVW x = TUVW $ (comap . contramap . comap . contramap $ f) x--instance (Contravariant t, Covariant u, Contravariant v, Covariant w)-	=> Covariant (TUVW 'Contra 'Co 'Contra 'Co t u v w) where-	f <$> TUVW x = TUVW $ (contramap . comap . contramap . comap $ f) x--instance (Contravariant t, Covariant u, Covariant v, Contravariant w)-	=> Covariant (TUVW 'Contra 'Co 'Co 'Contra t u v w) where-	f <$> TUVW x = TUVW $ (contramap . comap . comap . contramap $ f) x--instance (Contravariant t, Contravariant u, Contravariant v, Covariant w)-	=> Contravariant (TUVW 'Contra 'Contra 'Contra 'Co t u v w) where-	f >$< TUVW x = TUVW $ (f <$>) >$$$< x--instance (Covariant t, Contravariant u, Contravariant v, Contravariant w)-	=> Contravariant (TUVW 'Co 'Contra 'Contra 'Contra t u v w) where-	f >$< TUVW x = TUVW $ (f >$$$<) <$> x--instance (Contravariant t, Covariant u, Contravariant v, Contravariant w)-	=> Contravariant (TUVW 'Contra 'Co 'Contra 'Contra t u v w) where-	f >$< TUVW x = TUVW $ (contramap . comap . contramap . contramap) f x--instance (Contravariant t, Contravariant u, Covariant v, Contravariant w)-	=> Contravariant (TUVW 'Contra 'Contra 'Co 'Contra t u v w) where-	f >$< TUVW x = TUVW $ (contramap . contramap . comap . contramap) f x--instance (Contravariant t, Contravariant u, Contravariant v, Contravariant w)-	=> Covariant (TUVW 'Contra 'Contra 'Contra 'Contra t u v w) where-	f <$> TUVW x = TUVW $ f >$$$$< x--instance (Pointable t, Pointable u, Pointable v, Pointable w)-	=> Pointable (TUVW 'Co 'Co 'Co 'Co t u v w) where-	point = TUVW . point . point . point . point--instance (Extractable t, Extractable u, Extractable v, Extractable w)-	=> Extractable (TUVW 'Co 'Co 'Co 'Co t u v w) where-	extract = extract . extract . extract . extract . composition--instance (Avoidable t, Covariant u, Covariant v, Covariant w)-	=> Avoidable (TUVW 'Co 'Co 'Co 'Co t u v w) where-	idle = TUVW idle--instance (Applicative t, Applicative u, Applicative v, Applicative w)-	=> Applicative (TUVW 'Co 'Co 'Co 'Co t u v w) where-	TUVW f <*> TUVW x = TUVW $ ((apply <$>) . (apply <$$>) . (apply <$$$>) $ f) <*> x--instance (Alternative t, Covariant u, Covariant v, Covariant w)-	=> Alternative (TUVW 'Co 'Co 'Co 'Co t u v w) where-	TUVW x <+> TUVW y = TUVW $ x <+> y--instance (Traversable t, Traversable u, Traversable v, Traversable w)-	=> Traversable (TUVW 'Co 'Co 'Co 'Co t u v w) where-	TUVW x ->> f = TUVW <$> x ->>>>> f--instance (Distributive t, Distributive u, Distributive v, Distributive w)-	=> Distributive (TUVW 'Co 'Co 'Co 'Co t u v w) where-	x >>- f = TUVW . (distribute <$$$>) . (distribute <$$>) . (distribute <$>) . distribute $ composition . f <$> x--type (:-|:) t u = (Extractable t, Pointable t, Extractable u, Pointable u, Adjoint t u)--instance (t :-|: u, v :-|: w, q :-|: q, r :-|: s)-	=> Adjoint (TUVW 'Co 'Co 'Co 'Co t v q r) (TUVW 'Co 'Co 'Co 'Co u w q s) where-	phi f = point . f . point-	psi f = extract . extract . comap f
− Pandora/Paradigm/Junction/Schemes/UT.hs
@@ -1,67 +0,0 @@-module Pandora.Paradigm.Junction.Schemes.UT (UT (..)) where--import Pandora.Core.Functor (Variant (Co), type (:.:), type (><))-import Pandora.Core.Morphism ((.), ($))-import Pandora.Paradigm.Junction.Composition (Composition (Outline, composition))-import Pandora.Pattern.Functor.Covariant (Covariant ((<$>), (<$$>), comap))-import Pandora.Pattern.Functor.Pointable (Pointable (point))-import Pandora.Pattern.Functor.Extractable (Extractable (extract))-import Pandora.Pattern.Functor.Avoidable (Avoidable (idle))-import Pandora.Pattern.Functor.Alternative (Alternative ((<+>)))-import Pandora.Pattern.Functor.Applicative (Applicative ((<*>), apply))-import Pandora.Pattern.Functor.Traversable (Traversable ((->>), (->>>)))-import Pandora.Pattern.Functor.Distributive (Distributive ((>>-), distribute))-import Pandora.Pattern.Functor.Liftable (Liftable (lift))-import Pandora.Pattern.Functor.Lowerable (Lowerable (lower))-import Pandora.Pattern.Object.Setoid (Setoid ((==)))-import Pandora.Pattern.Object.Chain (Chain ((<=>)))-import Pandora.Pattern.Object.Semigroup (Semigroup ((+)))-import Pandora.Pattern.Object.Monoid (Monoid (zero))--newtype UT ct cu t u a = UT (u :.: t >< a)--instance Composition (UT ct cu t u) where-	type Outline (UT ct cu t u) a = u :.: t >< a-	composition (UT x) = x--instance (Covariant t, Covariant u) => Covariant (UT 'Co 'Co t u) where-	f <$> UT x = UT $ f <$$> x--instance (Pointable t, Pointable u) => Pointable (UT 'Co 'Co t u) where-	point = UT . point . point--instance (Extractable t, Extractable u) => Extractable (UT 'Co 'Co t u) where-	extract = extract . extract . composition--instance (Covariant t, Avoidable u) => Avoidable (UT 'Co 'Co t u) where-	idle = UT idle--instance (Covariant t, Alternative u) => Alternative (UT 'Co 'Co t u) where-	UT x <+> UT y = UT $ x <+> y--instance (Applicative t, Applicative u) => Applicative (UT 'Co 'Co t u) where-	UT f <*> UT x = UT $ apply <$> f <*> x--instance Pointable t => Liftable (UT 'Co 'Co t) where-	lift x = UT $ point <$> x--instance Extractable t => Lowerable (UT 'Co 'Co t) where-	lower (UT x) = extract <$> x--instance (Traversable t, Traversable u) => Traversable (UT 'Co 'Co t u) where-	UT x ->> f = UT <$> x ->>> f--instance (Distributive t, Distributive u) => Distributive (UT 'Co 'Co t u) where-	x >>- f = UT . comap distribute . distribute $ composition . f <$> x--instance Setoid (u :.: t >< a) => Setoid (UT 'Co 'Co t u a) where-	UT x == UT y = x == y--instance Chain (u :.: t >< a) => Chain (UT 'Co 'Co t u a) where-	UT x <=> UT y = x <=> y--instance Semigroup (u :.: t >< a) => Semigroup (UT 'Co 'Co t u a) where-	UT x + UT y = UT $ x + y--instance Monoid (u :.: t >< a) => Monoid (UT 'Co 'Co t u a) where-	zero = UT zero
− Pandora/Paradigm/Junction/Schemes/UTU.hs
@@ -1,67 +0,0 @@-module Pandora.Paradigm.Junction.Schemes.UTU (UTU (..)) where--import Pandora.Core.Functor (Variant (Co), type (:.:), type (><))-import Pandora.Core.Morphism ((.), ($))-import Pandora.Paradigm.Junction.Composition (Composition (Outline, composition))-import Pandora.Pattern.Functor.Covariant (Covariant ((<$>), (<$$>), comap))-import Pandora.Pattern.Functor.Pointable (Pointable (point))-import Pandora.Pattern.Functor.Extractable (Extractable (extract))-import Pandora.Pattern.Functor.Avoidable (Avoidable (idle))-import Pandora.Pattern.Functor.Alternative (Alternative ((<+>)))-import Pandora.Pattern.Functor.Applicative (Applicative ((<*>), apply))-import Pandora.Pattern.Functor.Traversable (Traversable ((->>), (->>>)))-import Pandora.Pattern.Functor.Distributive (Distributive ((>>-), distribute))-import Pandora.Pattern.Functor.Liftable (Liftable (lift))-import Pandora.Pattern.Functor.Lowerable (Lowerable (lower))-import Pandora.Pattern.Object.Setoid (Setoid ((==)))-import Pandora.Pattern.Object.Chain (Chain ((<=>)))-import Pandora.Pattern.Object.Semigroup (Semigroup ((+)))-import Pandora.Pattern.Object.Monoid (Monoid (zero))--newtype UTU ct cu t u a = UTU (u :.: t u >< a)--instance Composition (UTU ct cu t u) where-	type Outline (UTU ct cu t u) a = u :.: t u >< a-	composition (UTU x) = x--instance (Covariant (t u), Covariant u) => Covariant (UTU 'Co 'Co t u) where-	f <$> UTU x = UTU $ f <$$> x--instance (Pointable (t u), Pointable u) => Pointable (UTU 'Co 'Co t u) where-	point = UTU . point . point--instance (Extractable (t u), Extractable u) => Extractable (UTU 'Co 'Co t u) where-	extract = extract . extract . composition--instance (Covariant (t u), Avoidable u) => Avoidable (UTU 'Co 'Co t u) where-	idle = UTU idle--instance (Covariant (t u), Alternative u) => Alternative (UTU 'Co 'Co t u) where-	UTU x <+> UTU y = UTU $ x <+> y--instance (Applicative (t u), Applicative u) => Applicative (UTU 'Co 'Co t u) where-	UTU f <*> UTU x = UTU $ apply <$> f <*> x--instance (Traversable (t u), Traversable u) => Traversable (UTU 'Co 'Co t u) where-	UTU x ->> f = UTU <$> x ->>> f--instance (Distributive (t u), Distributive u) => Distributive (UTU 'Co 'Co t u) where-	x >>- f = UTU . comap distribute . distribute $ composition . f <$> x--instance (forall u' . Pointable u', Liftable t) => Liftable (UTU 'Co 'Co t) where-	lift = UTU . point . lift--instance (forall u' . Extractable u', Lowerable t) => Lowerable (UTU 'Co 'Co t) where-	lower = lower . extract . composition--instance (forall u' . Setoid (u' :.: t u' >< a)) => Setoid (UTU 'Co 'Co t u a) where-	UTU x == UTU y = x == y--instance (forall u' . Chain (u' :.: t u' >< a)) => Chain (UTU 'Co 'Co t u a) where-	UTU x <=> UTU y = x <=> y--instance (forall u' . Semigroup (u' :.: t u' >< a)) => Semigroup (UTU 'Co 'Co t u a) where-	UTU x + UTU y = UTU $ x + y--instance (forall u' . Monoid (u' :.: t u' >< a)) => Monoid (UTU 'Co 'Co t u a) where-	zero = UTU zero
− Pandora/Paradigm/Junction/Transformer.hs
@@ -1,10 +0,0 @@-module Pandora.Paradigm.Junction.Transformer (Transformer (..)) where--import Pandora.Pattern.Functor.Covariant (Covariant)-import Pandora.Pattern.Functor.Pointable (Pointable)--class Transformer t where-	{-# MINIMAL lay, equip #-}-	type Layout (t :: * -> *) (u :: * -> *) (a :: *) = r | r -> t u-	lay :: Covariant u => u a -> Layout t u a-	equip :: Pointable u => t a -> Layout t u a
Pandora/Paradigm/Structure.hs view
@@ -4,9 +4,9 @@ import Pandora.Paradigm.Structure.Graph as Exports import Pandora.Paradigm.Structure.Stack as Exports -import Pandora.Core.Functor (type (:.:))+import Pandora.Paradigm.Basis.Maybe (Maybe) import Pandora.Paradigm.Basis.Twister (Twister)  -- | Type synonymous for at least one element data structure-type family Nonempty structure :: * where-	Nonempty ((t :.: Twister t) a) = Twister t a+type family Nonempty (structure :: * -> *) where+	Nonempty Stack = Twister Maybe
Pandora/Paradigm/Structure/Graph.hs view
@@ -1,6 +1,6 @@ module Pandora.Paradigm.Structure.Graph (Graph, loose) where -import Pandora.Core.Functor (type (:.:))+import Pandora.Core.Functor (type (:.:), type (><)) import Pandora.Core.Morphism ((.)) import Pandora.Paradigm.Basis.Edges (Edges (Empty, Overlay)) import Pandora.Paradigm.Basis.Twister (Twister ((:<)))@@ -8,7 +8,7 @@ import Pandora.Pattern.Functor.Traversable (Traversable)  -- | Acyclic graph structure without loops-type Graph a = (Edges :.: Twister Edges) a+type Graph a = Edges :.: Twister Edges >< a  -- | Transform any traversable structure into all loose edges graph loose :: Traversable t => t a -> Graph a
Pandora/Paradigm/Structure/Stack.hs view
@@ -1,29 +1,61 @@-module Pandora.Paradigm.Structure.Stack (Stack, push, top, pop, linearize) where+module Pandora.Paradigm.Structure.Stack (Stack, push, top, pop, filter, linearize) where  import Pandora.Core.Functor (type (:.:), type (><))-import Pandora.Core.Morphism ((.))-import Pandora.Paradigm.Basis.Twister (Twister ((:<)), unwrap)+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.Inventory.Stateful (fold)-import Pandora.Pattern.Functor.Covariant (Covariant ((<$>)))+import Pandora.Pattern.Junction.Composition (Composition (Primary, unwrap))+import Pandora.Pattern.Functor.Covariant (Covariant ((<$>), (<$$>)))+import Pandora.Pattern.Functor.Alternative (Alternative ((<+>)))+import Pandora.Pattern.Functor.Avoidable (Avoidable (empty))+import Pandora.Pattern.Functor.Applicative (Applicative ((<*>), (<**>))) import Pandora.Pattern.Functor.Pointable (Pointable (point)) import Pandora.Pattern.Functor.Extractable (Extractable (extract))-import Pandora.Pattern.Functor.Alternative (Alternative ((<+>)))-import Pandora.Pattern.Functor.Traversable (Traversable)+import Pandora.Pattern.Functor.Traversable (Traversable ((->>), (->>>))) import Pandora.Pattern.Functor.Bindable (Bindable ((>>=)))+import Pandora.Pattern.Object.Setoid (bool)  -- | Linear data structure that serves as a collection of elements-type Stack a = Maybe :.: Twister Maybe >< a+newtype Stack a = Stack (Maybe :.: Twister Maybe >< a) +instance Covariant Stack where+	f <$> Stack stack = Stack $ f <$$> stack++instance Pointable Stack where+	point x = Stack . Just $ x :< Nothing++instance Alternative Stack where+	Stack stack <+> Stack stack' = Stack $ stack <+> stack'++instance Avoidable Stack where+	empty = Stack Nothing++instance Applicative Stack where+	Stack f <*> Stack x = Stack $ f <**> x++instance Traversable Stack where+	Stack stack ->> f = Stack <$> stack ->>> f++instance Composition Stack where+	type Primary Stack a = Maybe :.: Twister Maybe >< a+	unwrap (Stack stack) = stack+ push :: a -> Stack a -> Stack a-push x stack = ((:<) x . Just <$> stack) <+> (point . point) x+push x (Stack stack) = Stack $ ((:<) x . Just <$> stack) <+> (point . point) x -top :: Stack a -> Maybe a-top stack = extract <$> stack+top :: Stack ~> Maybe+top (Stack stack) = extract <$> stack -pop :: Stack a -> Stack a-pop stack = stack >>= unwrap+pop :: Stack ~> Stack+pop (Stack stack) = Stack $ stack >>= untwist +filter :: Predicate a -> Stack a -> Stack a+filter (Predicate p) = Stack . fold empty+	(\now new -> bool new (Just $ now :< new) $ p now)+ -- | Transform any traversable structure into a stack-linearize :: Traversable t => t a -> Stack a-linearize = fold Nothing (\x -> Just . (:<) x)+linearize :: Traversable t => t ~> Stack+linearize = Stack . fold Nothing (\x -> Just . (:<) x)
Pandora/Pattern/Functor/Adjoint.hs view
@@ -1,6 +1,6 @@ module Pandora.Pattern.Functor.Adjoint (Adjoint (..), type (-|)) where -import Pandora.Core.Functor (type (:.:))+import Pandora.Core.Functor (type (:.:), type (><)) import Pandora.Core.Morphism (identity) import Pandora.Pattern.Functor.Covariant (Covariant) @@ -19,9 +19,9 @@ 	-- | Right adjunction 	psi :: (a -> u b) -> t a -> b -	eta :: a -> (u :.: t) a+	eta :: a -> u :.: t >< a 	eta = phi identity-	epsilon :: (t :.: u) a -> a+	epsilon :: t :.: u >< a -> a 	epsilon = psi identity  type (-|) = Adjoint
Pandora/Pattern/Functor/Applicative.hs view
@@ -1,6 +1,6 @@ module Pandora.Pattern.Functor.Applicative (Applicative (..)) where -import Pandora.Core.Functor (type (:.:))+import Pandora.Core.Functor (type (:.:), type (><)) import Pandora.Core.Morphism (identity) import Pandora.Pattern.Functor.Covariant (Covariant ((<$>), (<$))) @@ -32,13 +32,13 @@ 	forever x = x *> forever x  	-- | Infix versions of `apply` with various nesting levels-	(<**>) :: Applicative u => (t :.: u) (a -> b) -> (t :.: u) a -> (t :.: u) b+	(<**>) :: Applicative u => t :.: u >< (a -> b) -> t :.: u >< a -> t :.: u >< b 	f <**> x = (<*>) <$> f <*> x-	(<***>) :: (Applicative u, Applicative v) => (t :.: u :.: v) (a -> b)-		-> (t :.: u :.: v) a -> (t :.: u :.: v) b+	(<***>) :: (Applicative u, Applicative v) => t :.: u :.: v >< (a -> b)+		-> t :.: u :.: v >< a -> t :.: u :.: v >< b 	f <***> x = (<**>) <$> f <*> x 	(<****>) :: (Applicative u, Applicative v, Applicative w)-		=> (t :.: u :.: v :.: w) (a -> b)-		-> (t :.: u :.: v :.: w) a-		-> (t :.: u :.: v :.: w) b+		=> t :.: u :.: v :.: w >< (a -> b)+		-> t :.: u :.: v :.: w >< a+		-> t :.: u :.: v :.: w >< b 	f <****> x = (<***>) <$> f <*> x
Pandora/Pattern/Functor/Avoidable.hs view
@@ -4,9 +4,9 @@  {- | > When providing a new instance, you should ensure it satisfies the two laws:-> * Left absorption: x <+> idle ≡ x-> * Right absorption: idle <+> x ≡ x+> * Left absorption: x <+> empty ≡ x+> * Right absorption: empty <+> x ≡ x -}  class Alternative t => Avoidable t where-	idle :: t a+	empty :: t a
Pandora/Pattern/Functor/Bindable.hs view
@@ -1,6 +1,6 @@ module Pandora.Pattern.Functor.Bindable (Bindable (..)) where -import Pandora.Core.Functor (type (:.:))+import Pandora.Core.Functor (type (:.:), type (><)) import Pandora.Core.Morphism ((?), identity) import Pandora.Pattern.Functor.Covariant (Covariant) @@ -24,7 +24,7 @@ 	bind :: (a -> t b) -> t a -> t b 	bind f t = t >>= f 	-- | Merge effects/contexts, the dual of 'duplicate'-	join :: (t :.: t) a -> t a+	join :: t :.: t >< a -> t a 	join t = t >>= identity 	-- | Left-to-right Kleisli composition 	(>=>) :: (a -> t b) -> (b -> t c) -> (a -> t c)
Pandora/Pattern/Functor/Distributive.hs view
@@ -1,8 +1,8 @@ module Pandora.Pattern.Functor.Distributive (Distributive (..)) where -import Pandora.Core.Functor (type (:.:))-import Pandora.Core.Morphism (identity, (.))-import Pandora.Pattern.Functor.Covariant (Covariant)+import Pandora.Core.Functor (type (:.:), type (><))+import Pandora.Core.Morphism (identity, (.), (?))+import Pandora.Pattern.Functor.Covariant (Covariant ((<$>)))  {- | > Let f :: Distributive g => (a -> g b)@@ -17,22 +17,25 @@ class Covariant u => Distributive u where 	{-# MINIMAL (>>-) #-} 	-- | Infix version of 'collect'-	(>>-) :: Covariant t => t a -> (a -> u b) -> (u :.: t) b+	(>>-) :: Covariant t => t a -> (a -> u b) -> u :.: t >< b  	-- | Prefix version of '>>-'-	collect :: Covariant t => (a -> u b) -> t a -> (u :.: t) b+	collect :: Covariant t => (a -> u b) -> t a -> u :.: t >< b 	collect f t = t >>- f 	-- | The dual of 'sequence'-	distribute :: Covariant t => (t :.: u) a -> (u :.: t) a+	distribute :: Covariant t => t :.: u >< a -> u :.: t >< a 	distribute t = t >>- identity  	-- | Infix versions of `collect` with various nesting levels 	(>>>-) :: (Covariant t, Covariant v)-		=> (t :.: v) a -> (a -> u b) -> (u :.: t :.: v) b+		=> t :.: v >< a -> (a -> u b) -> u :.: t :.: v >< b 	x >>>- f = (collect . collect) f x 	(>>>>-) :: (Covariant t, Covariant v, Covariant w)-		=> (t :.: v :.: w) a -> (a -> u b) -> (u :.: t :.: v :.: w) b+		=> t :.: v :.: w >< a -> (a -> u b) -> u :.: t :.: v :.: w >< b 	x >>>>- f = (collect . collect . collect) f x 	(>>>>>-) :: (Covariant t, Covariant v, Covariant w, Covariant j)-		=> (t :.: v :.: w :.: j) a -> (a -> u b) -> (u :.: t :.: v :.: w :.: j) b+		=> t :.: v :.: w :.: j >< a -> (a -> u b) -> u :.: t :.: v :.: w :.: j >< b 	x >>>>>- f = (collect . collect . collect . collect) f x++instance Distributive ((->) e) where+	g >>- f = \e -> (f ? e) <$> g
Pandora/Pattern/Functor/Extendable.hs view
@@ -1,6 +1,6 @@ module Pandora.Pattern.Functor.Extendable (Extendable (..)) where -import Pandora.Core.Functor (type (:.:))+import Pandora.Core.Functor (type (:.:), type (><)) import Pandora.Core.Morphism ((.), (?), identity) import Pandora.Pattern.Functor.Covariant (Covariant) @@ -25,7 +25,7 @@ 	extend :: (t a -> b) -> t a -> t b 	extend f t = t =>> f 	-- | Clone existing structure, the dual of 'join'-	duplicate :: t a -> (t :.: t) a+	duplicate :: t a -> t :.: t >< a 	duplicate t = t =>> identity 	-- | Right-to-left Cokleisli composition 	(=<=) :: (t b -> c) -> (t a -> b) -> t a -> c
Pandora/Pattern/Functor/Traversable.hs view
@@ -1,6 +1,6 @@ module Pandora.Pattern.Functor.Traversable (Traversable (..)) where -import Pandora.Core.Functor (type (:.:))+import Pandora.Core.Functor (type (:.:), type (><)) import Pandora.Core.Morphism (identity, (.)) import Pandora.Pattern.Functor.Covariant (Covariant) import Pandora.Pattern.Functor.Applicative (Applicative)@@ -22,22 +22,22 @@ class Covariant t => Traversable t where 	{-# MINIMAL (->>) #-} 	-- | Infix version of 'traverse'-	(->>) :: (Pointable u, Applicative u) => t a -> (a -> u b) -> (u :.: t) b+	(->>) :: (Pointable u, Applicative u) => t a -> (a -> u b) -> u :.: t >< b  	-- | Prefix version of '->>'-	traverse :: (Pointable u, Applicative u) => (a -> u b) -> t a -> (u :.: t) b+	traverse :: (Pointable u, Applicative u) => (a -> u b) -> t a -> u :.: t >< b 	traverse f t = t ->> f 	-- | The dual of 'distribute'-	sequence :: (Pointable u, Applicative u) => (t :.: u) a -> (u :.: t) a+	sequence :: (Pointable u, Applicative u) => (t :.: u) a -> u :.: t >< a 	sequence t = t ->> identity  	-- | Infix versions of `traverse` with various nesting levels 	(->>>) :: (Pointable u, Applicative u, Traversable v)-		=> (v :.: t) a -> (a -> u b) -> (u :.: v :.: t) b+		=> v :.: t >< a -> (a -> u b) -> u :.: v :.: t >< b 	x ->>> f = (traverse . traverse) f x 	(->>>>) :: (Pointable u, Applicative u, Traversable v, Traversable w)-		=> (w :.: v :.: t) a -> (a -> u b) -> (u :.: w :.: v :.: t) b+		=> w :.: v :.: t >< a -> (a -> u b) -> u :.: w :.: v :.: t >< b 	x ->>>> f = (traverse . traverse . traverse) f x 	(->>>>>) :: (Pointable u, Applicative u, Traversable v, Traversable w, Traversable j)-		=> (j :.: w :.: v :.: t) a -> (a -> u b) -> (u :.: j :.: w :.: v :.: t) b+		=> j :.: w :.: v :.: t >< a -> (a -> u b) -> u :.: j :.: w :.: v :.: t >< b 	x ->>>>> f = (traverse . traverse . traverse . traverse) f x
+ Pandora/Pattern/Junction.hs view
@@ -0,0 +1,9 @@+module Pandora.Pattern.Junction (module Exports) where++import Pandora.Pattern.Junction.Schemes.UTU as Exports+import Pandora.Pattern.Junction.Schemes.UT as Exports+import Pandora.Pattern.Junction.Schemes.TUVW as Exports+import Pandora.Pattern.Junction.Schemes.TUV as Exports+import Pandora.Pattern.Junction.Schemes.TU as Exports+import Pandora.Pattern.Junction.Transformer as Exports+import Pandora.Pattern.Junction.Composition as Exports
+ Pandora/Pattern/Junction/Composition.hs view
@@ -0,0 +1,6 @@+module Pandora.Pattern.Junction.Composition (Composition (..)) where++class Composition t where+	{-# MINIMAL unwrap #-}+	type Primary t a :: *+	unwrap :: t a -> Primary t a
+ Pandora/Pattern/Junction/Schemes/TU.hs view
@@ -0,0 +1,60 @@+module Pandora.Pattern.Junction.Schemes.TU (TU (..)) where++import Pandora.Core.Functor (Variant (Co, Contra), type (:.:), type (><))+import Pandora.Core.Morphism ((.), ($))+import Pandora.Pattern.Junction.Composition (Composition (Primary, unwrap))+import Pandora.Pattern.Functor.Covariant (Covariant ((<$>), (<$$>), comap))+import Pandora.Pattern.Functor.Contravariant (Contravariant ((>$<), (>$$<)))+import Pandora.Pattern.Functor.Extractable (Extractable (extract))+import Pandora.Pattern.Functor.Avoidable (Avoidable (empty))+import Pandora.Pattern.Functor.Pointable (Pointable (point))+import Pandora.Pattern.Functor.Alternative (Alternative ((<+>)))+import Pandora.Pattern.Functor.Applicative (Applicative ((<*>), apply))+import Pandora.Pattern.Functor.Traversable (Traversable ((->>), (->>>)))+import Pandora.Pattern.Functor.Distributive (Distributive ((>>-), distribute))+import Pandora.Pattern.Functor.Adjoint (Adjoint (phi, psi))++newtype TU ct cu t u a = TU (t :.: u >< a)++instance Composition (TU ct cu t u) where+	type Primary (TU ct cu t u) a = t :.: u >< a+	unwrap (TU x) = x++instance (Covariant t, Covariant u) => Covariant (TU 'Co 'Co t u) where+	f <$> TU x = TU $ f <$$> x++instance (Covariant t, Contravariant u) => Contravariant (TU 'Co 'Contra t u) where+	f >$< TU x = TU $ (f >$<) <$> x++instance (Contravariant t, Covariant u) => Contravariant (TU 'Contra 'Co t u) where+	f >$< TU x = TU $ (f <$>) >$< x++instance (Contravariant t, Contravariant u) => Covariant (TU 'Contra 'Contra t u) where+	f <$> TU x = TU $ f >$$< x++instance (Pointable t, Pointable u) => Pointable (TU 'Co 'Co t u) where+	point = TU . point . point++instance (Extractable t, Extractable u) => Extractable (TU 'Co 'Co t u) where+	extract = extract . extract . unwrap++instance (Avoidable t, Covariant u) => Avoidable (TU 'Co 'Co t u) where+	empty = TU empty++instance (Applicative t, Applicative u) => Applicative (TU 'Co 'Co t u) where+	TU f <*> TU x = TU $ apply <$> f <*> x++instance (Alternative t, Covariant u) => Alternative (TU 'Co 'Co t u) where+	TU x <+> TU y = TU $ x <+> y++instance (Traversable t, Traversable u) => Traversable (TU 'Co 'Co t u) where+	TU x ->> f = TU <$> x ->>> f++instance (Distributive t, Distributive u) => Distributive (TU 'Co 'Co t u) where+	x >>- f = TU . comap distribute . distribute $ unwrap . f <$> x++type (:-|:) t u = (Extractable t, Pointable t, Extractable u, Pointable u, Adjoint t u)++instance (t :-|: u, v :-|: w) => Adjoint (TU 'Co 'Co t v) (TU 'Co 'Co u w) where+	phi f = point . f . point+	psi f = extract . extract . comap f
+ Pandora/Pattern/Junction/Schemes/TUV.hs view
@@ -0,0 +1,88 @@+module Pandora.Pattern.Junction.Schemes.TUV (TUV (..)) where++import Pandora.Core.Functor (Variant (Co, Contra), type (:.:), type (><))+import Pandora.Core.Morphism ((.), ($))+import Pandora.Pattern.Junction.Composition (Composition (Primary, unwrap))+import Pandora.Pattern.Functor.Covariant (Covariant ((<$>), (<$$>), (<$$$>), comap))+import Pandora.Pattern.Functor.Contravariant (Contravariant ((>$<), (>$$<), (>$$$<)), contramap)+import Pandora.Pattern.Functor.Extractable (Extractable (extract))+import Pandora.Pattern.Functor.Avoidable (Avoidable (empty))+import Pandora.Pattern.Functor.Pointable (Pointable (point))+import Pandora.Pattern.Functor.Alternative (Alternative ((<+>)))+import Pandora.Pattern.Functor.Applicative (Applicative ((<*>), apply))+import Pandora.Pattern.Functor.Traversable (Traversable ((->>), (->>>>)))+import Pandora.Pattern.Functor.Distributive (Distributive ((>>-), distribute))+import Pandora.Pattern.Functor.Adjoint (Adjoint (phi, psi))++newtype TUV ct cu cv t u v a = TUV (t :.: u :.: v >< a)++instance Composition (TUV ct cu cv t u v) where+	type Primary (TUV ct cu cv t u v) a = t :.: u :.: v >< a+	unwrap (TUV x) = x++instance (Covariant t, Covariant u, Covariant v)+	=> Covariant (TUV 'Co 'Co 'Co t u v) where+	f <$> TUV x = TUV $ f <$$$> x++instance (Covariant t, Covariant u, Contravariant v)+	=> Contravariant (TUV 'Co 'Co 'Contra t u v) where+	f >$< TUV x = TUV $ (f >$<) <$$> x++instance (Covariant t, Contravariant u, Covariant v)+	=> Contravariant (TUV 'Co 'Contra 'Co t u v) where+	f >$< TUV x = TUV $ contramap (comap f) <$> x++instance (Contravariant t, Covariant u, Covariant v)+	=> Contravariant (TUV 'Contra 'Co 'Co t u v) where+	f >$< TUV x = TUV $ (f <$$>) >$< x++instance (Contravariant t, Contravariant u, Covariant v)+	=> Covariant (TUV 'Contra 'Contra 'Co t u v) where+	f <$> TUV x = TUV $ contramap (comap f) >$< x++instance (Covariant t, Contravariant u, Contravariant v)+	=> Covariant (TUV 'Co 'Contra 'Contra t u v) where+	f <$> TUV x = TUV $ (f >$$<) <$> x++instance (Contravariant t, Covariant u, Contravariant v)+	=> Covariant (TUV 'Contra 'Co 'Contra t u v) where+	f <$> TUV x = TUV $ comap (contramap f) >$< x++instance (Contravariant t, Contravariant u, Contravariant v)+	=> Contravariant (TUV 'Contra 'Contra 'Contra t u v) where+	f >$< TUV x = TUV $ f >$$$< x++instance (Pointable t, Pointable u, Pointable v)+	=> Pointable (TUV 'Co 'Co 'Co t u v) where+	point = TUV . point . point . point++instance (Extractable t, Extractable u, Extractable v)+	=> Extractable (TUV 'Co 'Co 'Co t u v) where+	extract = extract . extract . extract . unwrap++instance (Avoidable t, Covariant u, Covariant v)+	=> Avoidable (TUV 'Co 'Co 'Co t u v) where+	empty = TUV empty++instance (Applicative t, Applicative u, Applicative v)+	=> Applicative (TUV 'Co 'Co 'Co t u v) where+	TUV f <*> TUV x = TUV $ ((apply <$>) . (apply <$$>) $ f) <*> x++instance (Alternative t, Covariant u, Covariant v)+	=> Alternative (TUV 'Co 'Co 'Co t u v) where+	TUV x <+> TUV y = TUV $ x <+> y++instance (Traversable t, Traversable u, Traversable v)+	=> Traversable (TUV 'Co 'Co 'Co t u v) where+	TUV x ->> f = TUV <$> x ->>>> f++instance (Distributive t, Distributive u, Distributive v)+	=> Distributive (TUV 'Co 'Co 'Co t u v) where+	x >>- f = TUV . (distribute <$$>) . (distribute <$>) . distribute $ unwrap . f <$> x++type (:-|:) t u = (Extractable t, Pointable t, Extractable u, Pointable u, Adjoint t u)++instance (t :-|: w, v :-|: x, u :-|: y)+	=> Adjoint (TUV 'Co 'Co 'Co t v u) (TUV 'Co 'Co 'Co w x y) where+	phi f = point . f . point+	psi f = extract . extract . comap f
+ Pandora/Pattern/Junction/Schemes/TUVW.hs view
@@ -0,0 +1,120 @@+module Pandora.Pattern.Junction.Schemes.TUVW (TUVW (..)) where++import Pandora.Core.Functor (Variant (Co, Contra), type (:.:), type (><))+import Pandora.Core.Morphism ((.), ($))+import Pandora.Pattern.Junction.Composition (Composition (Primary, unwrap))+import Pandora.Pattern.Functor.Covariant (Covariant ((<$>), (<$$>), (<$$$>), (<$$$$>), comap))+import Pandora.Pattern.Functor.Contravariant (Contravariant ((>$<), (>$$<), (>$$$<), (>$$$$<), contramap))+import Pandora.Pattern.Functor.Extractable (Extractable (extract))+import Pandora.Pattern.Functor.Avoidable (Avoidable (empty))+import Pandora.Pattern.Functor.Pointable (Pointable (point))+import Pandora.Pattern.Functor.Alternative (Alternative ((<+>)))+import Pandora.Pattern.Functor.Applicative (Applicative ((<*>), apply))+import Pandora.Pattern.Functor.Traversable (Traversable ((->>), (->>>>>)))+import Pandora.Pattern.Functor.Distributive (Distributive ((>>-), distribute))+import Pandora.Pattern.Functor.Adjoint (Adjoint (phi, psi))++newtype TUVW ct cu cv cw t u v w a = TUVW (t :.: u :.: v :.: w >< a)++instance Composition (TUVW ct cu cv cw t u v w) where+	type Primary (TUVW ct cu cv cw t u v w) a = t :.: u :.: v :.: w >< a+	unwrap (TUVW x) = x++instance (Covariant t, Covariant u, Covariant v, Covariant w)+	=> Covariant (TUVW 'Co 'Co 'Co 'Co t u v w) where+	f <$> TUVW x = TUVW $ f <$$$$> x++instance (Covariant t, Covariant u, Covariant v, Contravariant w)+	=> Contravariant (TUVW 'Co 'Co 'Co 'Contra t u v w) where+	f >$< TUVW x = TUVW $ (f >$<) <$$$> x++instance (Covariant t, Covariant u, Contravariant v, Covariant w)+	=> Contravariant (TUVW 'Co 'Co 'Contra 'Co t u v w) where+	f >$< TUVW x = TUVW $ (contramap (comap f)) <$$> x++instance (Covariant t, Contravariant u, Covariant v, Covariant w)+	=> Contravariant (TUVW 'Co 'Contra 'Co 'Co t u v w) where+	f >$< TUVW x = TUVW $ (contramap (comap (comap f))) <$> x++instance (Contravariant t, Covariant u, Covariant v, Covariant w)+	=> Contravariant (TUVW 'Contra 'Co 'Co 'Co t u v w) where+	f >$< TUVW x = TUVW $ (f <$$$>) >$< x++instance (Contravariant t, Contravariant u, Covariant v, Covariant w)+	=> Covariant (TUVW 'Contra 'Contra 'Co 'Co t u v w) where+	f <$> TUVW x = TUVW $ (contramap . contramap . comap . comap $ f) x++instance (Covariant t, Contravariant u, Contravariant v, Covariant w)+	=> Covariant (TUVW 'Co 'Contra 'Contra 'Co t u v w) where+	f <$> TUVW x = TUVW $ (comap . contramap . contramap . comap $ f) x++instance (Covariant t, Covariant u, Contravariant v, Contravariant w)+	=> Covariant (TUVW 'Co 'Co 'Contra 'Contra t u v w) where+	f <$> TUVW x = TUVW $ (f >$$<) <$$> x++instance (Covariant t, Contravariant u, Covariant v, Contravariant w)+	=> Covariant (TUVW 'Co 'Contra 'Co 'Contra t u v w) where+	f <$> TUVW x = TUVW $ (comap . contramap . comap . contramap $ f) x++instance (Contravariant t, Covariant u, Contravariant v, Covariant w)+	=> Covariant (TUVW 'Contra 'Co 'Contra 'Co t u v w) where+	f <$> TUVW x = TUVW $ (contramap . comap . contramap . comap $ f) x++instance (Contravariant t, Covariant u, Covariant v, Contravariant w)+	=> Covariant (TUVW 'Contra 'Co 'Co 'Contra t u v w) where+	f <$> TUVW x = TUVW $ (contramap . comap . comap . contramap $ f) x++instance (Contravariant t, Contravariant u, Contravariant v, Covariant w)+	=> Contravariant (TUVW 'Contra 'Contra 'Contra 'Co t u v w) where+	f >$< TUVW x = TUVW $ (f <$>) >$$$< x++instance (Covariant t, Contravariant u, Contravariant v, Contravariant w)+	=> Contravariant (TUVW 'Co 'Contra 'Contra 'Contra t u v w) where+	f >$< TUVW x = TUVW $ (f >$$$<) <$> x++instance (Contravariant t, Covariant u, Contravariant v, Contravariant w)+	=> Contravariant (TUVW 'Contra 'Co 'Contra 'Contra t u v w) where+	f >$< TUVW x = TUVW $ (contramap . comap . contramap . contramap) f x++instance (Contravariant t, Contravariant u, Covariant v, Contravariant w)+	=> Contravariant (TUVW 'Contra 'Contra 'Co 'Contra t u v w) where+	f >$< TUVW x = TUVW $ (contramap . contramap . comap . contramap) f x++instance (Contravariant t, Contravariant u, Contravariant v, Contravariant w)+	=> Covariant (TUVW 'Contra 'Contra 'Contra 'Contra t u v w) where+	f <$> TUVW x = TUVW $ f >$$$$< x++instance (Pointable t, Pointable u, Pointable v, Pointable w)+	=> Pointable (TUVW 'Co 'Co 'Co 'Co t u v w) where+	point = TUVW . point . point . point . point++instance (Extractable t, Extractable u, Extractable v, Extractable w)+	=> Extractable (TUVW 'Co 'Co 'Co 'Co t u v w) where+	extract = extract . extract . extract . extract . unwrap++instance (Avoidable t, Covariant u, Covariant v, Covariant w)+	=> Avoidable (TUVW 'Co 'Co 'Co 'Co t u v w) where+	empty = TUVW empty++instance (Applicative t, Applicative u, Applicative v, Applicative w)+	=> Applicative (TUVW 'Co 'Co 'Co 'Co t u v w) where+	TUVW f <*> TUVW x = TUVW $ ((apply <$>) . (apply <$$>) . (apply <$$$>) $ f) <*> x++instance (Alternative t, Covariant u, Covariant v, Covariant w)+	=> Alternative (TUVW 'Co 'Co 'Co 'Co t u v w) where+	TUVW x <+> TUVW y = TUVW $ x <+> y++instance (Traversable t, Traversable u, Traversable v, Traversable w)+	=> Traversable (TUVW 'Co 'Co 'Co 'Co t u v w) where+	TUVW x ->> f = TUVW <$> x ->>>>> f++instance (Distributive t, Distributive u, Distributive v, Distributive w)+	=> Distributive (TUVW 'Co 'Co 'Co 'Co t u v w) where+	x >>- f = TUVW . (distribute <$$$>) . (distribute <$$>) . (distribute <$>) . distribute $ unwrap . f <$> x++type (:-|:) t u = (Extractable t, Pointable t, Extractable u, Pointable u, Adjoint t u)++instance (t :-|: u, v :-|: w, q :-|: q, r :-|: s)+	=> Adjoint (TUVW 'Co 'Co 'Co 'Co t v q r) (TUVW 'Co 'Co 'Co 'Co u w q s) where+	phi f = point . f . point+	psi f = extract . extract . comap f
+ Pandora/Pattern/Junction/Schemes/UT.hs view
@@ -0,0 +1,67 @@+module Pandora.Pattern.Junction.Schemes.UT (UT (..)) where++import Pandora.Core.Functor (Variant (Co), type (:.:), type (><))+import Pandora.Core.Morphism ((.), ($))+import Pandora.Pattern.Junction.Composition (Composition (Primary, unwrap))+import Pandora.Pattern.Functor.Covariant (Covariant ((<$>), (<$$>), comap))+import Pandora.Pattern.Functor.Pointable (Pointable (point))+import Pandora.Pattern.Functor.Extractable (Extractable (extract))+import Pandora.Pattern.Functor.Avoidable (Avoidable (empty))+import Pandora.Pattern.Functor.Alternative (Alternative ((<+>)))+import Pandora.Pattern.Functor.Applicative (Applicative ((<*>), apply))+import Pandora.Pattern.Functor.Traversable (Traversable ((->>), (->>>)))+import Pandora.Pattern.Functor.Distributive (Distributive ((>>-), distribute))+import Pandora.Pattern.Functor.Liftable (Liftable (lift))+import Pandora.Pattern.Functor.Lowerable (Lowerable (lower))+import Pandora.Pattern.Object.Setoid (Setoid ((==)))+import Pandora.Pattern.Object.Chain (Chain ((<=>)))+import Pandora.Pattern.Object.Semigroup (Semigroup ((+)))+import Pandora.Pattern.Object.Monoid (Monoid (zero))++newtype UT ct cu t u a = UT (u :.: t >< a)++instance Composition (UT ct cu t u) where+	type Primary (UT ct cu t u) a = u :.: t >< a+	unwrap (UT x) = x++instance (Covariant t, Covariant u) => Covariant (UT 'Co 'Co t u) where+	f <$> UT x = UT $ f <$$> x++instance (Pointable t, Pointable u) => Pointable (UT 'Co 'Co t u) where+	point = UT . point . point++instance (Extractable t, Extractable u) => Extractable (UT 'Co 'Co t u) where+	extract = extract . extract . unwrap++instance (Covariant t, Avoidable u) => Avoidable (UT 'Co 'Co t u) where+	empty = UT empty++instance (Covariant t, Alternative u) => Alternative (UT 'Co 'Co t u) where+	UT x <+> UT y = UT $ x <+> y++instance (Applicative t, Applicative u) => Applicative (UT 'Co 'Co t u) where+	UT f <*> UT x = UT $ apply <$> f <*> x++instance Pointable t => Liftable (UT 'Co 'Co t) where+	lift x = UT $ point <$> x++instance Extractable t => Lowerable (UT 'Co 'Co t) where+	lower (UT x) = extract <$> x++instance (Traversable t, Traversable u) => Traversable (UT 'Co 'Co t u) where+	UT x ->> f = UT <$> x ->>> f++instance (Distributive t, Distributive u) => Distributive (UT 'Co 'Co t u) where+	x >>- f = UT . comap distribute . distribute $ unwrap . f <$> x++instance Setoid (u :.: t >< a) => Setoid (UT 'Co 'Co t u a) where+	UT x == UT y = x == y++instance Chain (u :.: t >< a) => Chain (UT 'Co 'Co t u a) where+	UT x <=> UT y = x <=> y++instance Semigroup (u :.: t >< a) => Semigroup (UT 'Co 'Co t u a) where+	UT x + UT y = UT $ x + y++instance Monoid (u :.: t >< a) => Monoid (UT 'Co 'Co t u a) where+	zero = UT zero
+ Pandora/Pattern/Junction/Schemes/UTU.hs view
@@ -0,0 +1,67 @@+module Pandora.Pattern.Junction.Schemes.UTU (UTU (..)) where++import Pandora.Core.Functor (Variant (Co), type (:.:), type (><))+import Pandora.Core.Morphism ((.), ($))+import Pandora.Pattern.Junction.Composition (Composition (Primary, unwrap))+import Pandora.Pattern.Functor.Covariant (Covariant ((<$>), (<$$>), comap))+import Pandora.Pattern.Functor.Pointable (Pointable (point))+import Pandora.Pattern.Functor.Extractable (Extractable (extract))+import Pandora.Pattern.Functor.Avoidable (Avoidable (empty))+import Pandora.Pattern.Functor.Alternative (Alternative ((<+>)))+import Pandora.Pattern.Functor.Applicative (Applicative ((<*>), apply))+import Pandora.Pattern.Functor.Traversable (Traversable ((->>), (->>>)))+import Pandora.Pattern.Functor.Distributive (Distributive ((>>-), distribute))+import Pandora.Pattern.Functor.Liftable (Liftable (lift))+import Pandora.Pattern.Functor.Lowerable (Lowerable (lower))+import Pandora.Pattern.Object.Setoid (Setoid ((==)))+import Pandora.Pattern.Object.Chain (Chain ((<=>)))+import Pandora.Pattern.Object.Semigroup (Semigroup ((+)))+import Pandora.Pattern.Object.Monoid (Monoid (zero))++newtype UTU ct cu t u a = UTU (u :.: t u >< a)++instance Composition (UTU ct cu t u) where+	type Primary (UTU ct cu t u) a = u :.: t u >< a+	unwrap (UTU x) = x++instance (Covariant (t u), Covariant u) => Covariant (UTU 'Co 'Co t u) where+	f <$> UTU x = UTU $ f <$$> x++instance (Pointable (t u), Pointable u) => Pointable (UTU 'Co 'Co t u) where+	point = UTU . point . point++instance (Extractable (t u), Extractable u) => Extractable (UTU 'Co 'Co t u) where+	extract = extract . extract . unwrap++instance (Covariant (t u), Avoidable u) => Avoidable (UTU 'Co 'Co t u) where+	empty = UTU empty++instance (Covariant (t u), Alternative u) => Alternative (UTU 'Co 'Co t u) where+	UTU x <+> UTU y = UTU $ x <+> y++instance (Applicative (t u), Applicative u) => Applicative (UTU 'Co 'Co t u) where+	UTU f <*> UTU x = UTU $ apply <$> f <*> x++instance (Traversable (t u), Traversable u) => Traversable (UTU 'Co 'Co t u) where+	UTU x ->> f = UTU <$> x ->>> f++instance (Distributive (t u), Distributive u) => Distributive (UTU 'Co 'Co t u) where+	x >>- f = UTU . comap distribute . distribute $ unwrap . f <$> x++instance (forall u' . Pointable u', Liftable t) => Liftable (UTU 'Co 'Co t) where+	lift = UTU . point . lift++instance (forall u' . Extractable u', Lowerable t) => Lowerable (UTU 'Co 'Co t) where+	lower = lower . extract . unwrap++instance (forall u' . Setoid (u' :.: t u' >< a)) => Setoid (UTU 'Co 'Co t u a) where+	UTU x == UTU y = x == y++instance (forall u' . Chain (u' :.: t u' >< a)) => Chain (UTU 'Co 'Co t u a) where+	UTU x <=> UTU y = x <=> y++instance (forall u' . Semigroup (u' :.: t u' >< a)) => Semigroup (UTU 'Co 'Co t u a) where+	UTU x + UTU y = UTU $ x + y++instance (forall u' . Monoid (u' :.: t u' >< a)) => Monoid (UTU 'Co 'Co t u a) where+	zero = UTU zero
+ Pandora/Pattern/Junction/Transformer.hs view
@@ -0,0 +1,15 @@+module Pandora.Pattern.Junction.Transformer (Transformer (..), type (:>)) where++import Pandora.Core.Transformation (type (~>))+import Pandora.Pattern.Junction.Composition (Composition)+import Pandora.Pattern.Functor.Covariant (Covariant)+import Pandora.Pattern.Functor.Pointable (Pointable)++class Composition t => Transformer t where+	{-# MINIMAL lay, wrap #-}+	type Schema (t :: * -> *) (u :: * -> *) = (r :: * -> *) | r -> t u+	lay :: Covariant u => u ~> Schema t u+	wrap :: Pointable u => t ~> Schema t u++infixr 1 :>+type (:>) t u a = Transformer t => Schema t u a
pandora.cabal view
@@ -1,5 +1,5 @@ name:                pandora-version:             0.1.8+version:             0.1.9 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@@ -38,6 +38,7 @@     Pandora.Paradigm.Basis.Identity     Pandora.Paradigm.Basis.Jack     Pandora.Paradigm.Basis.Jet+    Pandora.Paradigm.Basis.Kan     Pandora.Paradigm.Basis.Maybe     Pandora.Paradigm.Basis.Predicate     Pandora.Paradigm.Basis.Product@@ -48,17 +49,6 @@     Pandora.Paradigm.Basis.Variation     Pandora.Paradigm.Basis.Wye     Pandora.Paradigm.Basis.Yoneda-    -- Universal functors constructions-    Pandora.Paradigm.Junction-    Pandora.Paradigm.Junction.Composition-    Pandora.Paradigm.Junction.Transformer-    Pandora.Paradigm.Junction.Kan-    Pandora.Paradigm.Junction.Schemes-    Pandora.Paradigm.Junction.Schemes.TU-    Pandora.Paradigm.Junction.Schemes.TUV-    Pandora.Paradigm.Junction.Schemes.TUVW-    Pandora.Paradigm.Junction.Schemes.UT-    Pandora.Paradigm.Junction.Schemes.UTU     -- Control flow primitives     Pandora.Paradigm.Controlflow     Pandora.Paradigm.Controlflow.Observable@@ -96,6 +86,15 @@     Pandora.Pattern.Functor.Monad     Pandora.Pattern.Functor.Pointable     Pandora.Pattern.Functor.Traversable+    -- Typeclassess about functor junctions+    Pandora.Pattern.Junction+    Pandora.Pattern.Junction.Composition+    Pandora.Pattern.Junction.Transformer+    Pandora.Pattern.Junction.Schemes.TU+    Pandora.Pattern.Junction.Schemes.TUV+    Pandora.Pattern.Junction.Schemes.TUVW+    Pandora.Pattern.Junction.Schemes.UT+    Pandora.Pattern.Junction.Schemes.UTU     -- Typeclassess about object internals     Pandora.Pattern.Object     Pandora.Pattern.Object.Chain