pandora 0.1.0 → 0.1.1
raw patch · 27 files changed
+359/−347 lines, 27 filesPVP: major bump suggested
API removals or changes: PVP suggests a major version bump
API changes (from Hackage documentation)
- Pandora.Core.Morphism: flip :: (a -> b -> c) -> b -> a -> c
- Pandora.Paradigm.Basis.Conclusion: instance (Pandora.Pattern.Functor.Pointable.Pointable t, Pandora.Pattern.Functor.Bindable.Bindable t) => Pandora.Pattern.Functor.Bindable.Bindable (Pandora.Paradigm.Basis.Conclusion.Conclusion e Pandora.Paradigm.Basis.Junction.Transformer.:!: t)
- Pandora.Paradigm.Basis.Conclusion: instance Pandora.Pattern.Functor.Monad.Monad t => Pandora.Pattern.Functor.Monad.Monad (Pandora.Paradigm.Basis.Conclusion.Conclusion e Pandora.Paradigm.Basis.Junction.Transformer.:!: t)
- Pandora.Paradigm.Basis.Junction.Composition: U :: (t :.: u) a -> U ct cu t u a
- Pandora.Paradigm.Basis.Junction.Composition: UU :: (t :.: (u :.: v)) a -> UU ct cu cv t u v a
- Pandora.Paradigm.Basis.Junction.Composition: UUU :: (t :.: (u :.: (v :.: w))) a -> UUU ct cu cv cw t u v w a
- Pandora.Paradigm.Basis.Junction.Composition: [u] :: U ct cu t u a -> (t :.: u) a
- Pandora.Paradigm.Basis.Junction.Composition: [uu] :: UU ct cu cv t u v a -> (t :.: (u :.: v)) a
- Pandora.Paradigm.Basis.Junction.Composition: [uuu] :: UUU ct cu cv cw t u v w a -> (t :.: (u :.: (v :.: w))) a
- Pandora.Paradigm.Basis.Junction.Composition: instance (Pandora.Pattern.Functor.Alternative.Alternative t, Pandora.Pattern.Functor.Covariant.Covariant u) => Pandora.Pattern.Functor.Alternative.Alternative (Pandora.Paradigm.Basis.Junction.Composition.U 'Pandora.Core.Functor.Co 'Pandora.Core.Functor.Co t u)
- Pandora.Paradigm.Basis.Junction.Composition: 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.Basis.Junction.Composition.UU 'Pandora.Core.Functor.Co 'Pandora.Core.Functor.Co 'Pandora.Core.Functor.Co t u v)
- Pandora.Paradigm.Basis.Junction.Composition: 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.Basis.Junction.Composition.UUU 'Pandora.Core.Functor.Co 'Pandora.Core.Functor.Co 'Pandora.Core.Functor.Co 'Pandora.Core.Functor.Co t u v w)
- Pandora.Paradigm.Basis.Junction.Composition: instance (Pandora.Pattern.Functor.Applicative.Applicative t, Pandora.Pattern.Functor.Applicative.Applicative u) => Pandora.Pattern.Functor.Applicative.Applicative (Pandora.Paradigm.Basis.Junction.Composition.U 'Pandora.Core.Functor.Co 'Pandora.Core.Functor.Co t u)
- Pandora.Paradigm.Basis.Junction.Composition: 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.Basis.Junction.Composition.UU 'Pandora.Core.Functor.Co 'Pandora.Core.Functor.Co 'Pandora.Core.Functor.Co t u v)
- Pandora.Paradigm.Basis.Junction.Composition: 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.Basis.Junction.Composition.UUU 'Pandora.Core.Functor.Co 'Pandora.Core.Functor.Co 'Pandora.Core.Functor.Co 'Pandora.Core.Functor.Co t u v w)
- Pandora.Paradigm.Basis.Junction.Composition: instance (Pandora.Pattern.Functor.Contravariant.Contravariant t, Pandora.Pattern.Functor.Contravariant.Contravariant u) => Pandora.Pattern.Functor.Covariant.Covariant (Pandora.Paradigm.Basis.Junction.Composition.U 'Pandora.Core.Functor.Contra 'Pandora.Core.Functor.Contra t u)
- Pandora.Paradigm.Basis.Junction.Composition: 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.Basis.Junction.Composition.UU 'Pandora.Core.Functor.Contra 'Pandora.Core.Functor.Contra 'Pandora.Core.Functor.Contra t u v)
- Pandora.Paradigm.Basis.Junction.Composition: 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.Basis.Junction.Composition.UUU 'Pandora.Core.Functor.Contra 'Pandora.Core.Functor.Contra 'Pandora.Core.Functor.Contra 'Pandora.Core.Functor.Contra t u v w)
- Pandora.Paradigm.Basis.Junction.Composition: 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.Basis.Junction.Composition.UUU 'Pandora.Core.Functor.Contra 'Pandora.Core.Functor.Contra 'Pandora.Core.Functor.Contra 'Pandora.Core.Functor.Co t u v w)
- Pandora.Paradigm.Basis.Junction.Composition: 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.Basis.Junction.Composition.UU 'Pandora.Core.Functor.Contra 'Pandora.Core.Functor.Contra 'Pandora.Core.Functor.Co t u v)
- Pandora.Paradigm.Basis.Junction.Composition: 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.Basis.Junction.Composition.UUU 'Pandora.Core.Functor.Contra 'Pandora.Core.Functor.Contra 'Pandora.Core.Functor.Co 'Pandora.Core.Functor.Contra t u v w)
- Pandora.Paradigm.Basis.Junction.Composition: 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.Basis.Junction.Composition.UUU 'Pandora.Core.Functor.Contra 'Pandora.Core.Functor.Contra 'Pandora.Core.Functor.Co 'Pandora.Core.Functor.Co t u v w)
- Pandora.Paradigm.Basis.Junction.Composition: instance (Pandora.Pattern.Functor.Contravariant.Contravariant t, Pandora.Pattern.Functor.Covariant.Covariant u) => Pandora.Pattern.Functor.Contravariant.Contravariant (Pandora.Paradigm.Basis.Junction.Composition.U 'Pandora.Core.Functor.Contra 'Pandora.Core.Functor.Co t u)
- Pandora.Paradigm.Basis.Junction.Composition: 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.Basis.Junction.Composition.UU 'Pandora.Core.Functor.Contra 'Pandora.Core.Functor.Co 'Pandora.Core.Functor.Contra t u v)
- Pandora.Paradigm.Basis.Junction.Composition: 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.Basis.Junction.Composition.UUU 'Pandora.Core.Functor.Contra 'Pandora.Core.Functor.Co 'Pandora.Core.Functor.Contra 'Pandora.Core.Functor.Contra t u v w)
- Pandora.Paradigm.Basis.Junction.Composition: 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.Basis.Junction.Composition.UUU 'Pandora.Core.Functor.Contra 'Pandora.Core.Functor.Co 'Pandora.Core.Functor.Contra 'Pandora.Core.Functor.Co t u v w)
- Pandora.Paradigm.Basis.Junction.Composition: 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.Basis.Junction.Composition.UU 'Pandora.Core.Functor.Contra 'Pandora.Core.Functor.Co 'Pandora.Core.Functor.Co t u v)
- Pandora.Paradigm.Basis.Junction.Composition: 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.Basis.Junction.Composition.UUU 'Pandora.Core.Functor.Contra 'Pandora.Core.Functor.Co 'Pandora.Core.Functor.Co 'Pandora.Core.Functor.Contra t u v w)
- Pandora.Paradigm.Basis.Junction.Composition: 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.Basis.Junction.Composition.UUU 'Pandora.Core.Functor.Contra 'Pandora.Core.Functor.Co 'Pandora.Core.Functor.Co 'Pandora.Core.Functor.Co t u v w)
- Pandora.Paradigm.Basis.Junction.Composition: instance (Pandora.Pattern.Functor.Covariant.Covariant t, Pandora.Pattern.Functor.Contravariant.Contravariant u) => Pandora.Pattern.Functor.Contravariant.Contravariant (Pandora.Paradigm.Basis.Junction.Composition.U 'Pandora.Core.Functor.Co 'Pandora.Core.Functor.Contra t u)
- Pandora.Paradigm.Basis.Junction.Composition: 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.Basis.Junction.Composition.UU 'Pandora.Core.Functor.Co 'Pandora.Core.Functor.Contra 'Pandora.Core.Functor.Contra t u v)
- Pandora.Paradigm.Basis.Junction.Composition: 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.Basis.Junction.Composition.UUU 'Pandora.Core.Functor.Co 'Pandora.Core.Functor.Contra 'Pandora.Core.Functor.Contra 'Pandora.Core.Functor.Contra t u v w)
- Pandora.Paradigm.Basis.Junction.Composition: 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.Basis.Junction.Composition.UUU 'Pandora.Core.Functor.Co 'Pandora.Core.Functor.Contra 'Pandora.Core.Functor.Contra 'Pandora.Core.Functor.Co t u v w)
- Pandora.Paradigm.Basis.Junction.Composition: 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.Basis.Junction.Composition.UU 'Pandora.Core.Functor.Co 'Pandora.Core.Functor.Contra 'Pandora.Core.Functor.Co t u v)
- Pandora.Paradigm.Basis.Junction.Composition: 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.Basis.Junction.Composition.UUU 'Pandora.Core.Functor.Co 'Pandora.Core.Functor.Contra 'Pandora.Core.Functor.Co 'Pandora.Core.Functor.Contra t u v w)
- Pandora.Paradigm.Basis.Junction.Composition: 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.Basis.Junction.Composition.UUU 'Pandora.Core.Functor.Co 'Pandora.Core.Functor.Contra 'Pandora.Core.Functor.Co 'Pandora.Core.Functor.Co t u v w)
- Pandora.Paradigm.Basis.Junction.Composition: instance (Pandora.Pattern.Functor.Covariant.Covariant t, Pandora.Pattern.Functor.Covariant.Covariant u) => Pandora.Pattern.Functor.Covariant.Covariant (Pandora.Paradigm.Basis.Junction.Composition.U 'Pandora.Core.Functor.Co 'Pandora.Core.Functor.Co t u)
- Pandora.Paradigm.Basis.Junction.Composition: 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.Basis.Junction.Composition.UU 'Pandora.Core.Functor.Co 'Pandora.Core.Functor.Co 'Pandora.Core.Functor.Contra t u v)
- Pandora.Paradigm.Basis.Junction.Composition: 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.Basis.Junction.Composition.UUU 'Pandora.Core.Functor.Co 'Pandora.Core.Functor.Co 'Pandora.Core.Functor.Contra 'Pandora.Core.Functor.Contra t u v w)
- Pandora.Paradigm.Basis.Junction.Composition: 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.Basis.Junction.Composition.UUU 'Pandora.Core.Functor.Co 'Pandora.Core.Functor.Co 'Pandora.Core.Functor.Contra 'Pandora.Core.Functor.Co t u v w)
- Pandora.Paradigm.Basis.Junction.Composition: 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.Basis.Junction.Composition.UU 'Pandora.Core.Functor.Co 'Pandora.Core.Functor.Co 'Pandora.Core.Functor.Co t u v)
- Pandora.Paradigm.Basis.Junction.Composition: 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.Basis.Junction.Composition.UUU 'Pandora.Core.Functor.Co 'Pandora.Core.Functor.Co 'Pandora.Core.Functor.Co 'Pandora.Core.Functor.Contra t u v w)
- Pandora.Paradigm.Basis.Junction.Composition: 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.Basis.Junction.Composition.UUU 'Pandora.Core.Functor.Co 'Pandora.Core.Functor.Co 'Pandora.Core.Functor.Co 'Pandora.Core.Functor.Co t u v w)
- Pandora.Paradigm.Basis.Junction.Composition: instance (Pandora.Pattern.Functor.Distributive.Distributive t, Pandora.Pattern.Functor.Distributive.Distributive u) => Pandora.Pattern.Functor.Distributive.Distributive (Pandora.Paradigm.Basis.Junction.Composition.U 'Pandora.Core.Functor.Co 'Pandora.Core.Functor.Co t u)
- Pandora.Paradigm.Basis.Junction.Composition: 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.Basis.Junction.Composition.UU 'Pandora.Core.Functor.Co 'Pandora.Core.Functor.Co 'Pandora.Core.Functor.Co t u v)
- Pandora.Paradigm.Basis.Junction.Composition: 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.Basis.Junction.Composition.UUU 'Pandora.Core.Functor.Co 'Pandora.Core.Functor.Co 'Pandora.Core.Functor.Co 'Pandora.Core.Functor.Co t u v w)
- Pandora.Paradigm.Basis.Junction.Composition: instance (Pandora.Pattern.Functor.Exclusive.Exclusive t, Pandora.Pattern.Functor.Covariant.Covariant u) => Pandora.Pattern.Functor.Exclusive.Exclusive (Pandora.Paradigm.Basis.Junction.Composition.U 'Pandora.Core.Functor.Co 'Pandora.Core.Functor.Co t u)
- Pandora.Paradigm.Basis.Junction.Composition: instance (Pandora.Pattern.Functor.Exclusive.Exclusive t, Pandora.Pattern.Functor.Covariant.Covariant u, Pandora.Pattern.Functor.Covariant.Covariant v) => Pandora.Pattern.Functor.Exclusive.Exclusive (Pandora.Paradigm.Basis.Junction.Composition.UU 'Pandora.Core.Functor.Co 'Pandora.Core.Functor.Co 'Pandora.Core.Functor.Co t u v)
- Pandora.Paradigm.Basis.Junction.Composition: instance (Pandora.Pattern.Functor.Exclusive.Exclusive t, Pandora.Pattern.Functor.Covariant.Covariant u, Pandora.Pattern.Functor.Covariant.Covariant v, Pandora.Pattern.Functor.Covariant.Covariant w) => Pandora.Pattern.Functor.Exclusive.Exclusive (Pandora.Paradigm.Basis.Junction.Composition.UUU 'Pandora.Core.Functor.Co 'Pandora.Core.Functor.Co 'Pandora.Core.Functor.Co 'Pandora.Core.Functor.Co t u v w)
- Pandora.Paradigm.Basis.Junction.Composition: instance (Pandora.Pattern.Functor.Extractable.Extractable t, Pandora.Pattern.Functor.Extractable.Extractable u) => Pandora.Pattern.Functor.Extractable.Extractable (Pandora.Paradigm.Basis.Junction.Composition.U 'Pandora.Core.Functor.Co 'Pandora.Core.Functor.Co t u)
- Pandora.Paradigm.Basis.Junction.Composition: 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.Basis.Junction.Composition.UU 'Pandora.Core.Functor.Co 'Pandora.Core.Functor.Co 'Pandora.Core.Functor.Co t u v)
- Pandora.Paradigm.Basis.Junction.Composition: 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.Basis.Junction.Composition.UUU 'Pandora.Core.Functor.Co 'Pandora.Core.Functor.Co 'Pandora.Core.Functor.Co 'Pandora.Core.Functor.Co t u v w)
- Pandora.Paradigm.Basis.Junction.Composition: instance (Pandora.Pattern.Functor.Pointable.Pointable t, Pandora.Pattern.Functor.Pointable.Pointable u) => Pandora.Pattern.Functor.Pointable.Pointable (Pandora.Paradigm.Basis.Junction.Composition.U 'Pandora.Core.Functor.Co 'Pandora.Core.Functor.Co t u)
- Pandora.Paradigm.Basis.Junction.Composition: 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.Basis.Junction.Composition.UU 'Pandora.Core.Functor.Co 'Pandora.Core.Functor.Co 'Pandora.Core.Functor.Co t u v)
- Pandora.Paradigm.Basis.Junction.Composition: 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.Basis.Junction.Composition.UUU 'Pandora.Core.Functor.Co 'Pandora.Core.Functor.Co 'Pandora.Core.Functor.Co 'Pandora.Core.Functor.Co t u v w)
- Pandora.Paradigm.Basis.Junction.Composition: instance (Pandora.Pattern.Functor.Traversable.Traversable t, Pandora.Pattern.Functor.Traversable.Traversable u) => Pandora.Pattern.Functor.Traversable.Traversable (Pandora.Paradigm.Basis.Junction.Composition.U 'Pandora.Core.Functor.Co 'Pandora.Core.Functor.Co t u)
- Pandora.Paradigm.Basis.Junction.Composition: 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.Basis.Junction.Composition.UU 'Pandora.Core.Functor.Co 'Pandora.Core.Functor.Co 'Pandora.Core.Functor.Co t u v)
- Pandora.Paradigm.Basis.Junction.Composition: 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.Basis.Junction.Composition.UUU 'Pandora.Core.Functor.Co 'Pandora.Core.Functor.Co 'Pandora.Core.Functor.Co 'Pandora.Core.Functor.Co t u v w)
- Pandora.Paradigm.Basis.Junction.Composition: instance (t Pandora.Paradigm.Basis.Junction.Composition.:-|: u, v Pandora.Paradigm.Basis.Junction.Composition.:-|: w) => Pandora.Pattern.Functor.Adjoint.Adjoint (Pandora.Paradigm.Basis.Junction.Composition.U 'Pandora.Core.Functor.Co 'Pandora.Core.Functor.Co t v) (Pandora.Paradigm.Basis.Junction.Composition.U 'Pandora.Core.Functor.Co 'Pandora.Core.Functor.Co u w)
- Pandora.Paradigm.Basis.Junction.Composition: instance (t Pandora.Paradigm.Basis.Junction.Composition.:-|: u, v Pandora.Paradigm.Basis.Junction.Composition.:-|: w, q Pandora.Paradigm.Basis.Junction.Composition.:-|: q, r Pandora.Paradigm.Basis.Junction.Composition.:-|: s) => Pandora.Pattern.Functor.Adjoint.Adjoint (Pandora.Paradigm.Basis.Junction.Composition.UUU 'Pandora.Core.Functor.Co 'Pandora.Core.Functor.Co 'Pandora.Core.Functor.Co 'Pandora.Core.Functor.Co t v q r) (Pandora.Paradigm.Basis.Junction.Composition.UUU 'Pandora.Core.Functor.Co 'Pandora.Core.Functor.Co 'Pandora.Core.Functor.Co 'Pandora.Core.Functor.Co u w q s)
- Pandora.Paradigm.Basis.Junction.Composition: instance (t Pandora.Paradigm.Basis.Junction.Composition.:-|: w, v Pandora.Paradigm.Basis.Junction.Composition.:-|: x, u Pandora.Paradigm.Basis.Junction.Composition.:-|: y) => Pandora.Pattern.Functor.Adjoint.Adjoint (Pandora.Paradigm.Basis.Junction.Composition.UU 'Pandora.Core.Functor.Co 'Pandora.Core.Functor.Co 'Pandora.Core.Functor.Co t v u) (Pandora.Paradigm.Basis.Junction.Composition.UU 'Pandora.Core.Functor.Co 'Pandora.Core.Functor.Co 'Pandora.Core.Functor.Co w x y)
- Pandora.Paradigm.Basis.Junction.Composition: newtype U ct cu t u a
- Pandora.Paradigm.Basis.Junction.Composition: newtype UU ct cu cv t u v a
- Pandora.Paradigm.Basis.Junction.Composition: newtype UUU ct cu cv cw t u v w a
- Pandora.Paradigm.Basis.Junction.Kan: Lan :: ((t b -> a) -> u b) -> Lan
- Pandora.Paradigm.Basis.Junction.Kan: Ran :: ((a -> t b) -> u b) -> Ran
- Pandora.Paradigm.Basis.Junction.Kan: [lan] :: Lan -> (t b -> a) -> u b
- Pandora.Paradigm.Basis.Junction.Kan: [ran] :: Ran -> (a -> t b) -> u b
- Pandora.Paradigm.Basis.Junction.Kan: instance Pandora.Pattern.Functor.Contravariant.Contravariant (Pandora.Paradigm.Basis.Junction.Kan.Lan t u b)
- Pandora.Paradigm.Basis.Junction.Kan: instance Pandora.Pattern.Functor.Covariant.Covariant (Pandora.Paradigm.Basis.Junction.Kan.Ran t u b)
- Pandora.Paradigm.Basis.Junction.Kan: newtype Lan (t :: * -> *) (u :: * -> *) (b :: *) (a :: *)
- Pandora.Paradigm.Basis.Junction.Kan: newtype Ran (t :: * -> *) (u :: * -> *) (b :: *) (a :: *)
- Pandora.Paradigm.Basis.Junction.Transformer: T :: (u :.: t) a -> T t u a
- Pandora.Paradigm.Basis.Junction.Transformer: Y :: (u :.: t u) a -> Y t u a
- Pandora.Paradigm.Basis.Junction.Transformer: [t] :: T t u a -> (u :.: t) a
- Pandora.Paradigm.Basis.Junction.Transformer: [y] :: Y t u a -> (u :.: t u) a
- Pandora.Paradigm.Basis.Junction.Transformer: infixr 0 :>:
- Pandora.Paradigm.Basis.Junction.Transformer: instance (Pandora.Pattern.Functor.Applicative.Applicative (t u), Pandora.Pattern.Functor.Applicative.Applicative u) => Pandora.Pattern.Functor.Applicative.Applicative (Pandora.Paradigm.Basis.Junction.Transformer.Y t u)
- Pandora.Paradigm.Basis.Junction.Transformer: instance (Pandora.Pattern.Functor.Applicative.Applicative t, Pandora.Pattern.Functor.Applicative.Applicative u) => Pandora.Pattern.Functor.Applicative.Applicative (Pandora.Paradigm.Basis.Junction.Transformer.T t u)
- Pandora.Paradigm.Basis.Junction.Transformer: instance (Pandora.Pattern.Functor.Covariant.Covariant (t u), Pandora.Pattern.Functor.Alternative.Alternative u) => Pandora.Pattern.Functor.Alternative.Alternative (Pandora.Paradigm.Basis.Junction.Transformer.Y t u)
- Pandora.Paradigm.Basis.Junction.Transformer: instance (Pandora.Pattern.Functor.Covariant.Covariant (t u), Pandora.Pattern.Functor.Covariant.Covariant u) => Pandora.Pattern.Functor.Covariant.Covariant (Pandora.Paradigm.Basis.Junction.Transformer.Y t u)
- Pandora.Paradigm.Basis.Junction.Transformer: instance (Pandora.Pattern.Functor.Covariant.Covariant (t u), Pandora.Pattern.Functor.Exclusive.Exclusive u) => Pandora.Pattern.Functor.Exclusive.Exclusive (Pandora.Paradigm.Basis.Junction.Transformer.Y t u)
- Pandora.Paradigm.Basis.Junction.Transformer: instance (Pandora.Pattern.Functor.Covariant.Covariant t, Pandora.Pattern.Functor.Alternative.Alternative u) => Pandora.Pattern.Functor.Alternative.Alternative (Pandora.Paradigm.Basis.Junction.Transformer.T t u)
- Pandora.Paradigm.Basis.Junction.Transformer: instance (Pandora.Pattern.Functor.Covariant.Covariant t, Pandora.Pattern.Functor.Covariant.Covariant u) => Pandora.Pattern.Functor.Covariant.Covariant (Pandora.Paradigm.Basis.Junction.Transformer.T t u)
- Pandora.Paradigm.Basis.Junction.Transformer: instance (Pandora.Pattern.Functor.Covariant.Covariant t, Pandora.Pattern.Functor.Exclusive.Exclusive u) => Pandora.Pattern.Functor.Exclusive.Exclusive (Pandora.Paradigm.Basis.Junction.Transformer.T t u)
- Pandora.Paradigm.Basis.Junction.Transformer: instance (Pandora.Pattern.Functor.Distributive.Distributive (t u), Pandora.Pattern.Functor.Distributive.Distributive u) => Pandora.Pattern.Functor.Distributive.Distributive (Pandora.Paradigm.Basis.Junction.Transformer.Y t u)
- Pandora.Paradigm.Basis.Junction.Transformer: instance (Pandora.Pattern.Functor.Distributive.Distributive t, Pandora.Pattern.Functor.Distributive.Distributive u) => Pandora.Pattern.Functor.Distributive.Distributive (Pandora.Paradigm.Basis.Junction.Transformer.T t u)
- Pandora.Paradigm.Basis.Junction.Transformer: instance (Pandora.Pattern.Functor.Extractable.Extractable (t u), Pandora.Pattern.Functor.Extractable.Extractable u) => Pandora.Pattern.Functor.Extractable.Extractable (Pandora.Paradigm.Basis.Junction.Transformer.Y t u)
- Pandora.Paradigm.Basis.Junction.Transformer: instance (Pandora.Pattern.Functor.Extractable.Extractable t, Pandora.Pattern.Functor.Extractable.Extractable u) => Pandora.Pattern.Functor.Extractable.Extractable (Pandora.Paradigm.Basis.Junction.Transformer.T t u)
- Pandora.Paradigm.Basis.Junction.Transformer: instance (Pandora.Pattern.Functor.Pointable.Pointable (t u), Pandora.Pattern.Functor.Pointable.Pointable u) => Pandora.Pattern.Functor.Pointable.Pointable (Pandora.Paradigm.Basis.Junction.Transformer.Y t u)
- Pandora.Paradigm.Basis.Junction.Transformer: instance (Pandora.Pattern.Functor.Pointable.Pointable t, Pandora.Pattern.Functor.Pointable.Pointable u) => Pandora.Pattern.Functor.Pointable.Pointable (Pandora.Paradigm.Basis.Junction.Transformer.T t u)
- Pandora.Paradigm.Basis.Junction.Transformer: instance (Pandora.Pattern.Functor.Traversable.Traversable (t u), Pandora.Pattern.Functor.Traversable.Traversable u) => Pandora.Pattern.Functor.Traversable.Traversable (Pandora.Paradigm.Basis.Junction.Transformer.Y t u)
- Pandora.Paradigm.Basis.Junction.Transformer: instance (Pandora.Pattern.Functor.Traversable.Traversable t, Pandora.Pattern.Functor.Traversable.Traversable u) => Pandora.Pattern.Functor.Traversable.Traversable (Pandora.Paradigm.Basis.Junction.Transformer.T t u)
- Pandora.Paradigm.Basis.Junction.Transformer: instance (forall (u :: * -> *). Pandora.Pattern.Functor.Extractable.Extractable u, Pandora.Pattern.Functor.Lowerable.Lowerable t) => Pandora.Pattern.Functor.Lowerable.Lowerable (Pandora.Paradigm.Basis.Junction.Transformer.Y t)
- Pandora.Paradigm.Basis.Junction.Transformer: instance (forall (u :: * -> *). Pandora.Pattern.Functor.Pointable.Pointable u, Pandora.Pattern.Functor.Liftable.Liftable t) => Pandora.Pattern.Functor.Liftable.Liftable (Pandora.Paradigm.Basis.Junction.Transformer.Y t)
- Pandora.Paradigm.Basis.Junction.Transformer: instance Pandora.Pattern.Functor.Extractable.Extractable t => Pandora.Pattern.Functor.Lowerable.Lowerable (Pandora.Paradigm.Basis.Junction.Transformer.T t)
- Pandora.Paradigm.Basis.Junction.Transformer: instance Pandora.Pattern.Functor.Pointable.Pointable t => Pandora.Pattern.Functor.Liftable.Liftable (Pandora.Paradigm.Basis.Junction.Transformer.T t)
- Pandora.Paradigm.Basis.Junction.Transformer: newtype T t u a
- Pandora.Paradigm.Basis.Junction.Transformer: newtype Y t u a
- Pandora.Paradigm.Basis.Junction.Transformer: type (:>:) t u = Y t u
- Pandora.Paradigm.Basis.Junction.Transformer: up :: Pointable u => t a -> T t u a
- Pandora.Paradigm.Basis.Maybe: instance (Pandora.Pattern.Functor.Pointable.Pointable t, Pandora.Pattern.Functor.Bindable.Bindable t) => Pandora.Pattern.Functor.Bindable.Bindable (Pandora.Paradigm.Basis.Maybe.Maybe Pandora.Paradigm.Basis.Junction.Transformer.:!: t)
- Pandora.Paradigm.Basis.Maybe: instance Pandora.Pattern.Functor.Monad.Monad t => Pandora.Pattern.Functor.Monad.Monad (Pandora.Paradigm.Basis.Maybe.Maybe Pandora.Paradigm.Basis.Junction.Transformer.:!: t)
- Pandora.Pattern.Functor.Invariant: (<$<) :: Invariant t => (a -> b) -> (b -> a) -> t a -> t b
- Pandora.Pattern.Functor.Invariant: (>$>) :: Invariant t => (b -> a) -> (a -> b) -> t a -> t b
- Pandora.Pattern.Functor.Invariant: infixl 4 >$>
- Pandora.Pattern.Functor.Invariant: infixr 4 <$<
+ Pandora.Core.Morphism: (?) :: (a -> b -> c) -> b -> a -> c
+ Pandora.Core.Morphism: infixr 8 .
+ Pandora.Paradigm.Basis.Conclusion: instance (Pandora.Pattern.Functor.Pointable.Pointable t, Pandora.Pattern.Functor.Bindable.Bindable t) => Pandora.Pattern.Functor.Bindable.Bindable (Pandora.Paradigm.Basis.Conclusion.Conclusion e Pandora.Paradigm.Junction.Transformer.:!: t)
+ Pandora.Paradigm.Basis.Conclusion: instance Pandora.Pattern.Functor.Monad.Monad t => Pandora.Pattern.Functor.Monad.Monad (Pandora.Paradigm.Basis.Conclusion.Conclusion e Pandora.Paradigm.Junction.Transformer.:!: t)
+ Pandora.Paradigm.Basis.Constant: instance Pandora.Pattern.Functor.Invariant.Invariant (Pandora.Paradigm.Basis.Constant.Constant a)
+ Pandora.Paradigm.Basis.Maybe: instance (Pandora.Pattern.Functor.Pointable.Pointable t, Pandora.Pattern.Functor.Bindable.Bindable t) => Pandora.Pattern.Functor.Bindable.Bindable (Pandora.Paradigm.Basis.Maybe.Maybe Pandora.Paradigm.Junction.Transformer.:!: t)
+ Pandora.Paradigm.Basis.Maybe: instance Pandora.Pattern.Functor.Monad.Monad t => Pandora.Pattern.Functor.Monad.Monad (Pandora.Paradigm.Basis.Maybe.Maybe Pandora.Paradigm.Junction.Transformer.:!: t)
+ Pandora.Paradigm.Basis.Product: attached :: (a :* b) -> a
+ Pandora.Paradigm.Junction.Composition: U :: (t :.: u) a -> U ct cu t u a
+ Pandora.Paradigm.Junction.Composition: UU :: (t :.: (u :.: v)) a -> UU ct cu cv t u v a
+ Pandora.Paradigm.Junction.Composition: UUU :: (t :.: (u :.: (v :.: w))) a -> UUU ct cu cv cw t u v w a
+ Pandora.Paradigm.Junction.Composition: [u] :: U ct cu t u a -> (t :.: u) a
+ Pandora.Paradigm.Junction.Composition: [uu] :: UU ct cu cv t u v a -> (t :.: (u :.: v)) a
+ Pandora.Paradigm.Junction.Composition: [uuu] :: UUU ct cu cv cw t u v w a -> (t :.: (u :.: (v :.: w))) a
+ Pandora.Paradigm.Junction.Composition: instance (Pandora.Pattern.Functor.Alternative.Alternative t, Pandora.Pattern.Functor.Covariant.Covariant u) => Pandora.Pattern.Functor.Alternative.Alternative (Pandora.Paradigm.Junction.Composition.U 'Pandora.Core.Functor.Co 'Pandora.Core.Functor.Co t u)
+ Pandora.Paradigm.Junction.Composition: 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.Composition.UU 'Pandora.Core.Functor.Co 'Pandora.Core.Functor.Co 'Pandora.Core.Functor.Co t u v)
+ Pandora.Paradigm.Junction.Composition: 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.Composition.UUU 'Pandora.Core.Functor.Co 'Pandora.Core.Functor.Co 'Pandora.Core.Functor.Co 'Pandora.Core.Functor.Co t u v w)
+ Pandora.Paradigm.Junction.Composition: instance (Pandora.Pattern.Functor.Applicative.Applicative t, Pandora.Pattern.Functor.Applicative.Applicative u) => Pandora.Pattern.Functor.Applicative.Applicative (Pandora.Paradigm.Junction.Composition.U 'Pandora.Core.Functor.Co 'Pandora.Core.Functor.Co t u)
+ Pandora.Paradigm.Junction.Composition: 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.Composition.UU 'Pandora.Core.Functor.Co 'Pandora.Core.Functor.Co 'Pandora.Core.Functor.Co t u v)
+ Pandora.Paradigm.Junction.Composition: 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.Composition.UUU 'Pandora.Core.Functor.Co 'Pandora.Core.Functor.Co 'Pandora.Core.Functor.Co 'Pandora.Core.Functor.Co t u v w)
+ Pandora.Paradigm.Junction.Composition: instance (Pandora.Pattern.Functor.Contravariant.Contravariant t, Pandora.Pattern.Functor.Contravariant.Contravariant u) => Pandora.Pattern.Functor.Covariant.Covariant (Pandora.Paradigm.Junction.Composition.U 'Pandora.Core.Functor.Contra 'Pandora.Core.Functor.Contra t u)
+ Pandora.Paradigm.Junction.Composition: 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.Composition.UU 'Pandora.Core.Functor.Contra 'Pandora.Core.Functor.Contra 'Pandora.Core.Functor.Contra t u v)
+ Pandora.Paradigm.Junction.Composition: 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.Composition.UUU 'Pandora.Core.Functor.Contra 'Pandora.Core.Functor.Contra 'Pandora.Core.Functor.Contra 'Pandora.Core.Functor.Contra t u v w)
+ Pandora.Paradigm.Junction.Composition: 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.Composition.UUU 'Pandora.Core.Functor.Contra 'Pandora.Core.Functor.Contra 'Pandora.Core.Functor.Contra 'Pandora.Core.Functor.Co t u v w)
+ Pandora.Paradigm.Junction.Composition: 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.Composition.UU 'Pandora.Core.Functor.Contra 'Pandora.Core.Functor.Contra 'Pandora.Core.Functor.Co t u v)
+ Pandora.Paradigm.Junction.Composition: 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.Composition.UUU 'Pandora.Core.Functor.Contra 'Pandora.Core.Functor.Contra 'Pandora.Core.Functor.Co 'Pandora.Core.Functor.Contra t u v w)
+ Pandora.Paradigm.Junction.Composition: 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.Composition.UUU 'Pandora.Core.Functor.Contra 'Pandora.Core.Functor.Contra 'Pandora.Core.Functor.Co 'Pandora.Core.Functor.Co t u v w)
+ Pandora.Paradigm.Junction.Composition: instance (Pandora.Pattern.Functor.Contravariant.Contravariant t, Pandora.Pattern.Functor.Covariant.Covariant u) => Pandora.Pattern.Functor.Contravariant.Contravariant (Pandora.Paradigm.Junction.Composition.U 'Pandora.Core.Functor.Contra 'Pandora.Core.Functor.Co t u)
+ Pandora.Paradigm.Junction.Composition: 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.Composition.UU 'Pandora.Core.Functor.Contra 'Pandora.Core.Functor.Co 'Pandora.Core.Functor.Contra t u v)
+ Pandora.Paradigm.Junction.Composition: 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.Composition.UUU 'Pandora.Core.Functor.Contra 'Pandora.Core.Functor.Co 'Pandora.Core.Functor.Contra 'Pandora.Core.Functor.Contra t u v w)
+ Pandora.Paradigm.Junction.Composition: 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.Composition.UUU 'Pandora.Core.Functor.Contra 'Pandora.Core.Functor.Co 'Pandora.Core.Functor.Contra 'Pandora.Core.Functor.Co t u v w)
+ Pandora.Paradigm.Junction.Composition: 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.Composition.UU 'Pandora.Core.Functor.Contra 'Pandora.Core.Functor.Co 'Pandora.Core.Functor.Co t u v)
+ Pandora.Paradigm.Junction.Composition: 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.Composition.UUU 'Pandora.Core.Functor.Contra 'Pandora.Core.Functor.Co 'Pandora.Core.Functor.Co 'Pandora.Core.Functor.Contra t u v w)
+ Pandora.Paradigm.Junction.Composition: 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.Composition.UUU 'Pandora.Core.Functor.Contra 'Pandora.Core.Functor.Co 'Pandora.Core.Functor.Co 'Pandora.Core.Functor.Co t u v w)
+ Pandora.Paradigm.Junction.Composition: instance (Pandora.Pattern.Functor.Covariant.Covariant t, Pandora.Pattern.Functor.Contravariant.Contravariant u) => Pandora.Pattern.Functor.Contravariant.Contravariant (Pandora.Paradigm.Junction.Composition.U 'Pandora.Core.Functor.Co 'Pandora.Core.Functor.Contra t u)
+ Pandora.Paradigm.Junction.Composition: 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.Composition.UU 'Pandora.Core.Functor.Co 'Pandora.Core.Functor.Contra 'Pandora.Core.Functor.Contra t u v)
+ Pandora.Paradigm.Junction.Composition: 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.Composition.UUU 'Pandora.Core.Functor.Co 'Pandora.Core.Functor.Contra 'Pandora.Core.Functor.Contra 'Pandora.Core.Functor.Contra t u v w)
+ Pandora.Paradigm.Junction.Composition: 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.Composition.UUU 'Pandora.Core.Functor.Co 'Pandora.Core.Functor.Contra 'Pandora.Core.Functor.Contra 'Pandora.Core.Functor.Co t u v w)
+ Pandora.Paradigm.Junction.Composition: 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.Composition.UU 'Pandora.Core.Functor.Co 'Pandora.Core.Functor.Contra 'Pandora.Core.Functor.Co t u v)
+ Pandora.Paradigm.Junction.Composition: 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.Composition.UUU 'Pandora.Core.Functor.Co 'Pandora.Core.Functor.Contra 'Pandora.Core.Functor.Co 'Pandora.Core.Functor.Contra t u v w)
+ Pandora.Paradigm.Junction.Composition: 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.Composition.UUU 'Pandora.Core.Functor.Co 'Pandora.Core.Functor.Contra 'Pandora.Core.Functor.Co 'Pandora.Core.Functor.Co t u v w)
+ Pandora.Paradigm.Junction.Composition: instance (Pandora.Pattern.Functor.Covariant.Covariant t, Pandora.Pattern.Functor.Covariant.Covariant u) => Pandora.Pattern.Functor.Covariant.Covariant (Pandora.Paradigm.Junction.Composition.U 'Pandora.Core.Functor.Co 'Pandora.Core.Functor.Co t u)
+ Pandora.Paradigm.Junction.Composition: 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.Composition.UU 'Pandora.Core.Functor.Co 'Pandora.Core.Functor.Co 'Pandora.Core.Functor.Contra t u v)
+ Pandora.Paradigm.Junction.Composition: 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.Composition.UUU 'Pandora.Core.Functor.Co 'Pandora.Core.Functor.Co 'Pandora.Core.Functor.Contra 'Pandora.Core.Functor.Contra t u v w)
+ Pandora.Paradigm.Junction.Composition: 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.Composition.UUU 'Pandora.Core.Functor.Co 'Pandora.Core.Functor.Co 'Pandora.Core.Functor.Contra 'Pandora.Core.Functor.Co t u v w)
+ Pandora.Paradigm.Junction.Composition: 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.Composition.UU 'Pandora.Core.Functor.Co 'Pandora.Core.Functor.Co 'Pandora.Core.Functor.Co t u v)
+ Pandora.Paradigm.Junction.Composition: 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.Composition.UUU 'Pandora.Core.Functor.Co 'Pandora.Core.Functor.Co 'Pandora.Core.Functor.Co 'Pandora.Core.Functor.Contra t u v w)
+ Pandora.Paradigm.Junction.Composition: 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.Composition.UUU 'Pandora.Core.Functor.Co 'Pandora.Core.Functor.Co 'Pandora.Core.Functor.Co 'Pandora.Core.Functor.Co t u v w)
+ Pandora.Paradigm.Junction.Composition: instance (Pandora.Pattern.Functor.Distributive.Distributive t, Pandora.Pattern.Functor.Distributive.Distributive u) => Pandora.Pattern.Functor.Distributive.Distributive (Pandora.Paradigm.Junction.Composition.U 'Pandora.Core.Functor.Co 'Pandora.Core.Functor.Co t u)
+ Pandora.Paradigm.Junction.Composition: 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.Composition.UU 'Pandora.Core.Functor.Co 'Pandora.Core.Functor.Co 'Pandora.Core.Functor.Co t u v)
+ Pandora.Paradigm.Junction.Composition: 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.Composition.UUU 'Pandora.Core.Functor.Co 'Pandora.Core.Functor.Co 'Pandora.Core.Functor.Co 'Pandora.Core.Functor.Co t u v w)
+ Pandora.Paradigm.Junction.Composition: instance (Pandora.Pattern.Functor.Exclusive.Exclusive t, Pandora.Pattern.Functor.Covariant.Covariant u) => Pandora.Pattern.Functor.Exclusive.Exclusive (Pandora.Paradigm.Junction.Composition.U 'Pandora.Core.Functor.Co 'Pandora.Core.Functor.Co t u)
+ Pandora.Paradigm.Junction.Composition: instance (Pandora.Pattern.Functor.Exclusive.Exclusive t, Pandora.Pattern.Functor.Covariant.Covariant u, Pandora.Pattern.Functor.Covariant.Covariant v) => Pandora.Pattern.Functor.Exclusive.Exclusive (Pandora.Paradigm.Junction.Composition.UU 'Pandora.Core.Functor.Co 'Pandora.Core.Functor.Co 'Pandora.Core.Functor.Co t u v)
+ Pandora.Paradigm.Junction.Composition: instance (Pandora.Pattern.Functor.Exclusive.Exclusive t, Pandora.Pattern.Functor.Covariant.Covariant u, Pandora.Pattern.Functor.Covariant.Covariant v, Pandora.Pattern.Functor.Covariant.Covariant w) => Pandora.Pattern.Functor.Exclusive.Exclusive (Pandora.Paradigm.Junction.Composition.UUU 'Pandora.Core.Functor.Co 'Pandora.Core.Functor.Co 'Pandora.Core.Functor.Co 'Pandora.Core.Functor.Co t u v w)
+ Pandora.Paradigm.Junction.Composition: instance (Pandora.Pattern.Functor.Extractable.Extractable t, Pandora.Pattern.Functor.Extractable.Extractable u) => Pandora.Pattern.Functor.Extractable.Extractable (Pandora.Paradigm.Junction.Composition.U 'Pandora.Core.Functor.Co 'Pandora.Core.Functor.Co t u)
+ Pandora.Paradigm.Junction.Composition: 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.Composition.UU 'Pandora.Core.Functor.Co 'Pandora.Core.Functor.Co 'Pandora.Core.Functor.Co t u v)
+ Pandora.Paradigm.Junction.Composition: 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.Composition.UUU 'Pandora.Core.Functor.Co 'Pandora.Core.Functor.Co 'Pandora.Core.Functor.Co 'Pandora.Core.Functor.Co t u v w)
+ Pandora.Paradigm.Junction.Composition: instance (Pandora.Pattern.Functor.Pointable.Pointable t, Pandora.Pattern.Functor.Pointable.Pointable u) => Pandora.Pattern.Functor.Pointable.Pointable (Pandora.Paradigm.Junction.Composition.U 'Pandora.Core.Functor.Co 'Pandora.Core.Functor.Co t u)
+ Pandora.Paradigm.Junction.Composition: 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.Composition.UU 'Pandora.Core.Functor.Co 'Pandora.Core.Functor.Co 'Pandora.Core.Functor.Co t u v)
+ Pandora.Paradigm.Junction.Composition: 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.Composition.UUU 'Pandora.Core.Functor.Co 'Pandora.Core.Functor.Co 'Pandora.Core.Functor.Co 'Pandora.Core.Functor.Co t u v w)
+ Pandora.Paradigm.Junction.Composition: instance (Pandora.Pattern.Functor.Traversable.Traversable t, Pandora.Pattern.Functor.Traversable.Traversable u) => Pandora.Pattern.Functor.Traversable.Traversable (Pandora.Paradigm.Junction.Composition.U 'Pandora.Core.Functor.Co 'Pandora.Core.Functor.Co t u)
+ Pandora.Paradigm.Junction.Composition: 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.Composition.UU 'Pandora.Core.Functor.Co 'Pandora.Core.Functor.Co 'Pandora.Core.Functor.Co t u v)
+ Pandora.Paradigm.Junction.Composition: 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.Composition.UUU 'Pandora.Core.Functor.Co 'Pandora.Core.Functor.Co 'Pandora.Core.Functor.Co 'Pandora.Core.Functor.Co t u v w)
+ Pandora.Paradigm.Junction.Composition: instance (t Pandora.Paradigm.Junction.Composition.:-|: u, v Pandora.Paradigm.Junction.Composition.:-|: w) => Pandora.Pattern.Functor.Adjoint.Adjoint (Pandora.Paradigm.Junction.Composition.U 'Pandora.Core.Functor.Co 'Pandora.Core.Functor.Co t v) (Pandora.Paradigm.Junction.Composition.U 'Pandora.Core.Functor.Co 'Pandora.Core.Functor.Co u w)
+ Pandora.Paradigm.Junction.Composition: instance (t Pandora.Paradigm.Junction.Composition.:-|: u, v Pandora.Paradigm.Junction.Composition.:-|: w, q Pandora.Paradigm.Junction.Composition.:-|: q, r Pandora.Paradigm.Junction.Composition.:-|: s) => Pandora.Pattern.Functor.Adjoint.Adjoint (Pandora.Paradigm.Junction.Composition.UUU 'Pandora.Core.Functor.Co 'Pandora.Core.Functor.Co 'Pandora.Core.Functor.Co 'Pandora.Core.Functor.Co t v q r) (Pandora.Paradigm.Junction.Composition.UUU 'Pandora.Core.Functor.Co 'Pandora.Core.Functor.Co 'Pandora.Core.Functor.Co 'Pandora.Core.Functor.Co u w q s)
+ Pandora.Paradigm.Junction.Composition: instance (t Pandora.Paradigm.Junction.Composition.:-|: w, v Pandora.Paradigm.Junction.Composition.:-|: x, u Pandora.Paradigm.Junction.Composition.:-|: y) => Pandora.Pattern.Functor.Adjoint.Adjoint (Pandora.Paradigm.Junction.Composition.UU 'Pandora.Core.Functor.Co 'Pandora.Core.Functor.Co 'Pandora.Core.Functor.Co t v u) (Pandora.Paradigm.Junction.Composition.UU 'Pandora.Core.Functor.Co 'Pandora.Core.Functor.Co 'Pandora.Core.Functor.Co w x y)
+ Pandora.Paradigm.Junction.Composition: newtype U ct cu t u a
+ Pandora.Paradigm.Junction.Composition: newtype UU ct cu cv t u v a
+ Pandora.Paradigm.Junction.Composition: newtype UUU ct cu cv cw t u v w a
+ 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.Transformer: T :: (u :.: t) a -> T t u a
+ Pandora.Paradigm.Junction.Transformer: Y :: (u :.: t u) a -> Y t u a
+ Pandora.Paradigm.Junction.Transformer: [t] :: T t u a -> (u :.: t) a
+ Pandora.Paradigm.Junction.Transformer: [y] :: Y t u a -> (u :.: t u) a
+ Pandora.Paradigm.Junction.Transformer: infixr 0 :>:
+ Pandora.Paradigm.Junction.Transformer: instance (Pandora.Pattern.Functor.Applicative.Applicative (t u), Pandora.Pattern.Functor.Applicative.Applicative u) => Pandora.Pattern.Functor.Applicative.Applicative (Pandora.Paradigm.Junction.Transformer.Y t u)
+ Pandora.Paradigm.Junction.Transformer: instance (Pandora.Pattern.Functor.Applicative.Applicative t, Pandora.Pattern.Functor.Applicative.Applicative u) => Pandora.Pattern.Functor.Applicative.Applicative (Pandora.Paradigm.Junction.Transformer.T t u)
+ Pandora.Paradigm.Junction.Transformer: instance (Pandora.Pattern.Functor.Covariant.Covariant (t u), Pandora.Pattern.Functor.Alternative.Alternative u) => Pandora.Pattern.Functor.Alternative.Alternative (Pandora.Paradigm.Junction.Transformer.Y t u)
+ Pandora.Paradigm.Junction.Transformer: instance (Pandora.Pattern.Functor.Covariant.Covariant (t u), Pandora.Pattern.Functor.Covariant.Covariant u) => Pandora.Pattern.Functor.Covariant.Covariant (Pandora.Paradigm.Junction.Transformer.Y t u)
+ Pandora.Paradigm.Junction.Transformer: instance (Pandora.Pattern.Functor.Covariant.Covariant (t u), Pandora.Pattern.Functor.Exclusive.Exclusive u) => Pandora.Pattern.Functor.Exclusive.Exclusive (Pandora.Paradigm.Junction.Transformer.Y t u)
+ Pandora.Paradigm.Junction.Transformer: instance (Pandora.Pattern.Functor.Covariant.Covariant t, Pandora.Pattern.Functor.Alternative.Alternative u) => Pandora.Pattern.Functor.Alternative.Alternative (Pandora.Paradigm.Junction.Transformer.T t u)
+ Pandora.Paradigm.Junction.Transformer: instance (Pandora.Pattern.Functor.Covariant.Covariant t, Pandora.Pattern.Functor.Covariant.Covariant u) => Pandora.Pattern.Functor.Covariant.Covariant (Pandora.Paradigm.Junction.Transformer.T t u)
+ Pandora.Paradigm.Junction.Transformer: instance (Pandora.Pattern.Functor.Covariant.Covariant t, Pandora.Pattern.Functor.Exclusive.Exclusive u) => Pandora.Pattern.Functor.Exclusive.Exclusive (Pandora.Paradigm.Junction.Transformer.T t u)
+ Pandora.Paradigm.Junction.Transformer: instance (Pandora.Pattern.Functor.Distributive.Distributive (t u), Pandora.Pattern.Functor.Distributive.Distributive u) => Pandora.Pattern.Functor.Distributive.Distributive (Pandora.Paradigm.Junction.Transformer.Y t u)
+ Pandora.Paradigm.Junction.Transformer: instance (Pandora.Pattern.Functor.Distributive.Distributive t, Pandora.Pattern.Functor.Distributive.Distributive u) => Pandora.Pattern.Functor.Distributive.Distributive (Pandora.Paradigm.Junction.Transformer.T t u)
+ Pandora.Paradigm.Junction.Transformer: instance (Pandora.Pattern.Functor.Extractable.Extractable (t u), Pandora.Pattern.Functor.Extractable.Extractable u) => Pandora.Pattern.Functor.Extractable.Extractable (Pandora.Paradigm.Junction.Transformer.Y t u)
+ Pandora.Paradigm.Junction.Transformer: instance (Pandora.Pattern.Functor.Extractable.Extractable t, Pandora.Pattern.Functor.Extractable.Extractable u) => Pandora.Pattern.Functor.Extractable.Extractable (Pandora.Paradigm.Junction.Transformer.T t u)
+ Pandora.Paradigm.Junction.Transformer: instance (Pandora.Pattern.Functor.Pointable.Pointable (t u), Pandora.Pattern.Functor.Pointable.Pointable u) => Pandora.Pattern.Functor.Pointable.Pointable (Pandora.Paradigm.Junction.Transformer.Y t u)
+ Pandora.Paradigm.Junction.Transformer: instance (Pandora.Pattern.Functor.Pointable.Pointable t, Pandora.Pattern.Functor.Pointable.Pointable u) => Pandora.Pattern.Functor.Pointable.Pointable (Pandora.Paradigm.Junction.Transformer.T t u)
+ Pandora.Paradigm.Junction.Transformer: instance (Pandora.Pattern.Functor.Traversable.Traversable (t u), Pandora.Pattern.Functor.Traversable.Traversable u) => Pandora.Pattern.Functor.Traversable.Traversable (Pandora.Paradigm.Junction.Transformer.Y t u)
+ Pandora.Paradigm.Junction.Transformer: instance (Pandora.Pattern.Functor.Traversable.Traversable t, Pandora.Pattern.Functor.Traversable.Traversable u) => Pandora.Pattern.Functor.Traversable.Traversable (Pandora.Paradigm.Junction.Transformer.T t u)
+ Pandora.Paradigm.Junction.Transformer: instance (forall (u :: * -> *). Pandora.Pattern.Functor.Extractable.Extractable u, Pandora.Pattern.Functor.Lowerable.Lowerable t) => Pandora.Pattern.Functor.Lowerable.Lowerable (Pandora.Paradigm.Junction.Transformer.Y t)
+ Pandora.Paradigm.Junction.Transformer: instance (forall (u :: * -> *). Pandora.Pattern.Functor.Pointable.Pointable u, Pandora.Pattern.Functor.Liftable.Liftable t) => Pandora.Pattern.Functor.Liftable.Liftable (Pandora.Paradigm.Junction.Transformer.Y t)
+ Pandora.Paradigm.Junction.Transformer: instance Pandora.Pattern.Functor.Extractable.Extractable t => Pandora.Pattern.Functor.Lowerable.Lowerable (Pandora.Paradigm.Junction.Transformer.T t)
+ Pandora.Paradigm.Junction.Transformer: instance Pandora.Pattern.Functor.Pointable.Pointable t => Pandora.Pattern.Functor.Liftable.Liftable (Pandora.Paradigm.Junction.Transformer.T t)
+ Pandora.Paradigm.Junction.Transformer: newtype T t u a
+ Pandora.Paradigm.Junction.Transformer: newtype Y t u a
+ Pandora.Paradigm.Junction.Transformer: type (:>:) t u = Y t u
+ Pandora.Paradigm.Junction.Transformer: up :: Pointable u => t a -> T t u a
+ Pandora.Paradigm.Structure.Stack: empty :: r -> (Cofree Maybe a -> r) -> Stack a -> r
- Pandora.Core.Morphism: infixr 9 .
+ Pandora.Core.Morphism: infixr 9 ?
- Pandora.Paradigm.Structure: type family Nonempty structure :: *
+ Pandora.Paradigm.Structure: type family Nonempty structure a :: *
- Pandora.Paradigm.Structure.Stack: type Stack a = (Cofree :>: Maybe) a
+ Pandora.Paradigm.Structure.Stack: type Stack = (Cofree :>: Maybe)
Files
- CHANGELOG.md +9/−0
- Pandora/Core/Morphism.hs +7/−6
- Pandora/Paradigm/Basis.hs +0/−3
- Pandora/Paradigm/Basis/Conclusion.hs +1/−1
- Pandora/Paradigm/Basis/Constant.hs +4/−0
- Pandora/Paradigm/Basis/Continuation.hs +2/−2
- Pandora/Paradigm/Basis/Junction/Composition.hs +0/−184
- Pandora/Paradigm/Basis/Junction/Kan.hs +0/−17
- Pandora/Paradigm/Basis/Junction/Transformer.hs +0/−88
- Pandora/Paradigm/Basis/Maybe.hs +1/−1
- Pandora/Paradigm/Basis/Product.hs +4/−1
- Pandora/Paradigm/Controlflow/Observable.hs +5/−5
- Pandora/Paradigm/Inventory/Environmental.hs +2/−2
- Pandora/Paradigm/Inventory/Storage.hs +2/−2
- Pandora/Paradigm/Junction.hs +5/−0
- Pandora/Paradigm/Junction/Composition.hs +184/−0
- Pandora/Paradigm/Junction/Kan.hs +17/−0
- Pandora/Paradigm/Junction/Transformer.hs +88/−0
- Pandora/Paradigm/Structure.hs +3/−3
- Pandora/Paradigm/Structure/Stack.hs +8/−4
- Pandora/Pattern/Functor/Bindable.hs +3/−3
- Pandora/Pattern/Functor/Contravariant.hs +2/−2
- Pandora/Pattern/Functor/Covariant.hs +2/−2
- Pandora/Pattern/Functor/Extendable.hs +2/−2
- Pandora/Pattern/Functor/Invariant.hs +1/−14
- Pandora/Pattern/Object/Chain.hs +1/−1
- pandora.cabal +6/−4
CHANGELOG.md view
@@ -0,0 +1,9 @@+# 0.1.1+* Define `attached` destructor for `Product` datatype+* Define `empty` destructor for `Stack` structure+* Replace `flip` on `?` type operator+* Remove type parameter from `Stack` type synonymous+* Split `structure` and `value` in `Nonempty` type family+* Define `Invariant` instance for `Constant` datatype+* Remove all `Invariant` methods except `invmap`+* Extract `Junction` module from `Basis`
Pandora/Core/Morphism.hs view
@@ -1,18 +1,15 @@-module Pandora.Core.Morphism (identity, flip, fix, (.), ($), (&), (!)) where+module Pandora.Core.Morphism (identity, fix, (.), ($), (&), (!), (?)) where -infixr 9 .+infixr 8 . infixr 0 $ infixl 1 & infixr 2 !+infixr 9 ? {-# INLINE identity #-} identity :: a -> a identity x = x -{-# INLINE flip #-}-flip :: (a -> b -> c) -> b -> a -> c-flip f x y = f y x- fix :: (a -> a) -> a fix f = let x = f x in x @@ -31,3 +28,7 @@ {-# INLINE (!) #-} (!) :: a -> b -> a x ! y = x++{-# INLINE (?) #-}+(?) :: (a -> b -> c) -> b -> a -> c+(?) f x y = f y x
Pandora/Paradigm/Basis.hs view
@@ -14,9 +14,6 @@ import Pandora.Paradigm.Basis.Product as Exports import Pandora.Paradigm.Basis.Constant as Exports import Pandora.Paradigm.Basis.Identity as Exports-import Pandora.Paradigm.Basis.Junction.Kan as Exports-import Pandora.Paradigm.Basis.Junction.Transformer as Exports-import Pandora.Paradigm.Basis.Junction.Composition as Exports import Pandora.Core.Functor (type (~>)) import Pandora.Core.Morphism ((.), (!))
Pandora/Paradigm/Basis/Conclusion.hs view
@@ -1,7 +1,7 @@ module Pandora.Paradigm.Basis.Conclusion (Conclusion (..), conclusion) where import Pandora.Core.Morphism ((.), ($), (!))-import Pandora.Paradigm.Basis.Junction.Transformer (T (T, t), type (:!:))+import Pandora.Paradigm.Junction.Transformer (T (T, t), type (:!:)) import Pandora.Pattern.Functor.Covariant (Covariant ((<$>))) import Pandora.Pattern.Functor.Pointable (Pointable (point)) import Pandora.Pattern.Functor.Alternative (Alternative ((<+>)))
Pandora/Paradigm/Basis/Constant.hs view
@@ -3,6 +3,7 @@ import Pandora.Core.Morphism (($)) import Pandora.Pattern.Functor.Covariant (Covariant ((<$>))) import Pandora.Pattern.Functor.Contravariant (Contravariant ((>$<)))+import Pandora.Pattern.Functor.Invariant (Invariant (invmap)) import Pandora.Pattern.Functor.Pointable (Pointable (point)) import Pandora.Pattern.Functor.Traversable (Traversable ((->>))) @@ -13,6 +14,9 @@ instance Contravariant (Constant a) where _ >$< Constant x = Constant x++instance Invariant (Constant a) where+ invmap _ _ (Constant x) = Constant x instance Traversable (Constant a) where Constant x ->> _ = point (Constant x)
Pandora/Paradigm/Basis/Continuation.hs view
@@ -1,6 +1,6 @@ module Pandora.Paradigm.Basis.Continuation (Continuation (..), oblige, cwcc) where -import Pandora.Core.Morphism ((.), ($), (!), flip)+import Pandora.Core.Morphism ((.), ($), (!), (?)) import Pandora.Pattern.Functor.Covariant (Covariant ((<$>))) import Pandora.Pattern.Functor.Pointable (Pointable (point)) import Pandora.Pattern.Functor.Applicative (Applicative ((<*>)))@@ -29,4 +29,4 @@ -- | Call with current continuation cwcc :: ((a -> Continuation r t b) -> Continuation r t a) -> Continuation r t a-cwcc f = Continuation $ \g -> flip continue g . f $ Continuation . (!) . g+cwcc f = Continuation $ \g -> continue ? g . f $ Continuation . (!) . g
− Pandora/Paradigm/Basis/Junction/Composition.hs
@@ -1,184 +0,0 @@-module Pandora.Paradigm.Basis.Junction.Composition (U (..), UU (..), UUU (..)) where--import Pandora.Core.Functor (Variant (Co, Contra), type (:.:))-import Pandora.Core.Morphism ((.), ($))-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.Exclusive (Exclusive (exclusive))-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 ((->>), traverse))-import Pandora.Pattern.Functor.Distributive (Distributive ((>>-), distribute))-import Pandora.Pattern.Functor.Adjoint (Adjoint (phi, psi))--type (:-|:) t u = (Extractable t, Pointable t, Extractable u, Pointable u, Adjoint t u)---newtype U ct cu t u a = U { u :: (t :.: u) a }--instance (Covariant t, Covariant u) => Covariant (U Co Co t u) where- f <$> U x = U $ (comap . comap) f x--instance (Covariant t, Contravariant u) => Contravariant (U Co Contra t u) where- f >$< U x = U $ contramap f <$> x--instance (Contravariant t, Covariant u) => Contravariant (U Contra Co t u) where- f >$< U x = U $ contramap (comap f) x--instance (Contravariant t, Contravariant u) => Covariant (U Contra Contra t u) where- f <$> U x = U $ contramap (contramap f) x--instance (Pointable t, Pointable u) => Pointable (U Co Co t u) where- point = U . point . point--instance (Extractable t, Extractable u) => Extractable (U Co Co t u) where- extract = extract . extract . u--instance (Exclusive t, Covariant u) => Exclusive (U Co Co t u) where- exclusive = U exclusive--instance (Applicative t, Applicative u) => Applicative (U Co Co t u) where- U f <*> U x = U $ apply <$> f <*> x--instance (Alternative t, Covariant u) => Alternative (U Co Co t u) where- U x <+> U y = U $ x <+> y--instance (Traversable t, Traversable u) => Traversable (U Co Co t u) where- U x ->> f = U <$> (traverse . traverse) f x--instance (Distributive t, Distributive u) => Distributive (U Co Co t u) where- x >>- f = U . comap distribute . distribute $ u . f <$> x--instance (t :-|: u, v :-|: w) => Adjoint (U Co Co t v) (U Co Co u w) where- phi f = point . f . point- psi f = extract . extract . comap f---newtype UU ct cu cv t u v a = UU { uu :: (t :.: u :.: v) a }--instance (Covariant t, Covariant u, Covariant v) => Covariant (UU Co Co Co t u v) where- f <$> UU x = UU $ (comap . comap . comap) f x--instance (Covariant t, Covariant u, Contravariant v) => Contravariant (UU Co Co Contra t u v) where- f >$< UU x = UU $ (comap . comap) (contramap f) x--instance (Covariant t, Contravariant u, Covariant v) => Contravariant (UU Co Contra Co t u v) where- f >$< UU x = UU $ contramap (comap f) <$> x--instance (Contravariant t, Covariant u, Covariant v) => Contravariant (UU Contra Co Co t u v) where- f >$< UU x = UU $ comap (comap f) >$< x--instance (Contravariant t, Contravariant u, Covariant v) => Covariant (UU Contra Contra Co t u v) where- f <$> UU x = UU $ contramap (comap f) >$< x--instance (Covariant t, Contravariant u, Contravariant v) => Covariant (UU Co Contra Contra t u v) where- f <$> UU x = UU $ contramap (contramap f) <$> x--instance (Contravariant t, Covariant u, Contravariant v) => Covariant (UU Contra Co Contra t u v) where- f <$> UU x = UU $ comap (contramap f) >$< x--instance (Contravariant t, Contravariant u, Contravariant v) => Contravariant (UU Contra Contra Contra t u v) where- f >$< UU x = UU $ (contramap . contramap . contramap) f x--instance (Pointable t, Pointable u, Pointable v) => Pointable (UU Co Co Co t u v) where- point = UU . point . point . point--instance (Extractable t, Extractable u, Extractable v) => Extractable (UU Co Co Co t u v) where- extract = extract . extract . extract . uu--instance (Exclusive t, Covariant u, Covariant v) => Exclusive (UU Co Co Co t u v) where- exclusive = UU exclusive--instance (Applicative t, Applicative u, Applicative v) => Applicative (UU Co Co Co t u v) where- UU f <*> UU x = UU $ (comap apply . (comap . comap) apply $ f) <*> x--instance (Alternative t, Covariant u, Covariant v) => Alternative (UU Co Co Co t u v) where- UU x <+> UU y = UU $ x <+> y--instance (Traversable t, Traversable u, Traversable v) => Traversable (UU Co Co Co t u v) where- UU x ->> f = UU <$> (traverse . traverse . traverse) f x--instance (Distributive t, Distributive u, Distributive v) => Distributive (UU Co Co Co t u v) where- x >>- f = UU . (comap . comap) distribute . comap distribute . distribute $ uu . f <$> x--instance (t :-|: w, v :-|: x, u :-|: y) => Adjoint (UU Co Co Co t v u) (UU Co Co Co w x y) where- phi f = point . f . point- psi f = extract . extract . comap f---newtype UUU ct cu cv cw t u v w a = UUU { uuu :: (t :.: u :.: v :.: w) a }--instance (Covariant t, Covariant u, Covariant v, Covariant w) => Covariant (UUU Co Co Co Co t u v w) where- f <$> UUU x = UUU $ (comap . comap . comap . comap) f x--instance (Covariant t, Covariant u, Covariant v, Contravariant w) => Contravariant (UUU Co Co Co Contra t u v w) where- f >$< UUU x = UUU $ (comap . comap . comap) (contramap f) x--instance (Covariant t, Covariant u, Contravariant v, Covariant w) => Contravariant (UUU Co Co Contra Co t u v w) where- f >$< UUU x = UUU $ (comap . comap) (contramap (comap f)) x--instance (Covariant t, Contravariant u, Covariant v, Covariant w) => Contravariant (UUU Co Contra Co Co t u v w) where- f >$< UUU x = UUU $ (contramap (comap (comap f))) <$> x--instance (Contravariant t, Covariant u, Covariant v, Covariant w) => Contravariant (UUU Contra Co Co Co t u v w) where- f >$< UUU x = UUU $ comap (comap (comap f)) >$< x--instance (Contravariant t, Contravariant u, Covariant v, Covariant w) => Covariant (UUU Contra Contra Co Co t u v w) where- f <$> UUU x = UUU $ (contramap . contramap . comap . comap $ f) x--instance (Covariant t, Contravariant u, Contravariant v, Covariant w) => Covariant (UUU Co Contra Contra Co t u v w) where- f <$> UUU x = UUU $ (comap . contramap . contramap . comap $ f) x--instance (Covariant t, Covariant u, Contravariant v, Contravariant w) => Covariant (UUU Co Co Contra Contra t u v w) where- f <$> UUU x = UUU $ (comap . comap) (contramap . contramap $ f) x--instance (Covariant t, Contravariant u, Covariant v, Contravariant w) => Covariant (UUU Co Contra Co Contra t u v w) where- f <$> UUU x = UUU $ (comap . contramap . comap . contramap $ f) x--instance (Contravariant t, Covariant u, Contravariant v, Covariant w) => Covariant (UUU Contra Co Contra Co t u v w) where- f <$> UUU x = UUU $ (contramap . comap . contramap . comap $ f) x--instance (Contravariant t, Covariant u, Covariant v, Contravariant w) => Covariant (UUU Contra Co Co Contra t u v w) where- f <$> UUU x = UUU $ (contramap . comap . comap . contramap $ f) x--instance (Contravariant t, Contravariant u, Contravariant v, Covariant w) => Contravariant (UUU Contra Contra Contra Co t u v w) where- f >$< UUU x = UUU $ (contramap . contramap . contramap . comap) f x--instance (Covariant t, Contravariant u, Contravariant v, Contravariant w) => Contravariant (UUU Co Contra Contra Contra t u v w) where- f >$< UUU x = UUU $ (comap . contramap . contramap . contramap) f x--instance (Contravariant t, Covariant u, Contravariant v, Contravariant w) => Contravariant (UUU Contra Co Contra Contra t u v w) where- f >$< UUU x = UUU $ (contramap . comap . contramap . contramap) f x--instance (Contravariant t, Contravariant u, Covariant v, Contravariant w) => Contravariant (UUU Contra Contra Co Contra t u v w) where- f >$< UUU x = UUU $ (contramap . contramap . comap . contramap) f x--instance (Contravariant t, Contravariant u, Contravariant v, Contravariant w) => Covariant (UUU Contra Contra Contra Contra t u v w) where- f <$> UUU x = UUU $ (contramap . contramap . contramap . contramap) f x--instance (Pointable t, Pointable u, Pointable v, Pointable w) => Pointable (UUU Co Co Co Co t u v w) where- point = UUU . point . point . point . point--instance (Extractable t, Extractable u, Extractable v, Extractable w) => Extractable (UUU Co Co Co Co t u v w) where- extract = extract . extract . extract . extract . uuu--instance (Exclusive t, Covariant u, Covariant v, Covariant w) => Exclusive (UUU Co Co Co Co t u v w) where- exclusive = UUU exclusive--instance (Applicative t, Applicative u, Applicative v, Applicative w) => Applicative (UUU Co Co Co Co t u v w) where- UUU f <*> UUU x = UUU $ (comap apply . (comap . comap) apply . (comap . comap . comap) apply $ f) <*> x--instance (Alternative t, Covariant u, Covariant v, Covariant w) => Alternative (UUU Co Co Co Co t u v w) where- UUU x <+> UUU y = UUU $ x <+> y--instance (Traversable t, Traversable u, Traversable v, Traversable w) => Traversable (UUU Co Co Co Co t u v w) where- UUU x ->> f = UUU <$> (traverse . traverse . traverse . traverse) f x--instance (Distributive t, Distributive u, Distributive v, Distributive w) => Distributive (UUU Co Co Co Co t u v w) where- x >>- f = UUU . (comap . comap . comap) distribute . (comap . comap) distribute . comap distribute . distribute $ uuu . f <$> x--instance (t :-|: u, v :-|: w, q :-|: q, r :-|: s) => Adjoint (UUU Co Co Co Co t v q r) (UUU Co Co Co Co u w q s) where- phi f = point . f . point- psi f = extract . extract . comap f
− Pandora/Paradigm/Basis/Junction/Kan.hs
@@ -1,17 +0,0 @@-module Pandora.Paradigm.Basis.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/Basis/Junction/Transformer.hs
@@ -1,88 +0,0 @@-module Pandora.Paradigm.Basis.Junction.Transformer (T (..), type (:!:), up, Y (..), type (:>:)) where--import Pandora.Core.Functor (type (:.:))-import Pandora.Core.Morphism ((.), ($))-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.Exclusive (Exclusive (exclusive))-import Pandora.Pattern.Functor.Alternative (Alternative ((<+>)))-import Pandora.Pattern.Functor.Applicative (Applicative ((<*>), apply))-import Pandora.Pattern.Functor.Traversable (Traversable ((->>), traverse))-import Pandora.Pattern.Functor.Distributive (Distributive ((>>-), distribute))-import Pandora.Pattern.Functor.Bindable (Bindable ((>>=), bind))-import Pandora.Pattern.Functor.Liftable (Liftable (lift))-import Pandora.Pattern.Functor.Lowerable (Lowerable (lower))--infixr 0 :!:, :>:-type (:!:) t u = T t u-type (:>:) t u = Y t u---newtype T t u a = T { t :: (u :.: t) a }--instance (Covariant t, Covariant u) => Covariant (T t u) where- f <$> T x = T $ (comap . comap) f x--instance (Pointable t, Pointable u) => Pointable (T t u) where- point = T . point . point--instance (Extractable t, Extractable u) => Extractable (T t u) where- extract = extract . extract . t--instance (Covariant t, Exclusive u) => Exclusive (T t u) where- exclusive = T exclusive--instance (Covariant t, Alternative u) => Alternative (T t u) where- T x <+> T y = T $ x <+> y--instance (Applicative t, Applicative u) => Applicative (T t u) where- T f <*> T x = T $ apply <$> f <*> x--instance Pointable t => Liftable (T t) where- lift x = T $ point <$> x--instance Extractable t => Lowerable (T t) where- lower (T x) = extract <$> x--instance (Traversable t, Traversable u) => Traversable (T t u) where- T x ->> f = T <$> (traverse . traverse) f x--instance (Distributive t, Distributive u) => Distributive (T t u) where- x >>- f = T . comap distribute . distribute $ t . f <$> x--up :: Pointable u => t a -> T t u a-up = T . point---newtype Y t u a = Y { y :: (u :.: t u) a }--instance (Covariant (t u), Covariant u) => Covariant (Y t u) where- f <$> Y x = Y $ (comap . comap) f x--instance (Pointable (t u), Pointable u) => Pointable (Y t u) where- point = Y . point . point--instance (Extractable (t u), Extractable u) => Extractable (Y t u) where- extract = extract . extract . y--instance (Covariant (t u), Exclusive u) => Exclusive (Y t u) where- exclusive = Y exclusive--instance (Covariant (t u), Alternative u) => Alternative (Y t u) where- Y x <+> Y y = Y $ x <+> y--instance (Applicative (t u), Applicative u) => Applicative (Y t u) where- Y f <*> Y x = Y $ apply <$> f <*> x--instance (Traversable (t u), Traversable u) => Traversable (Y t u) where- Y x ->> f = Y <$> (traverse . traverse) f x--instance (Distributive (t u), Distributive u) => Distributive (Y t u) where- x >>- f = Y . comap distribute . distribute $ y . f <$> x--instance (forall u . Pointable u, Liftable t) => Liftable (Y t) where- lift = Y . point . lift--instance (forall u . Extractable u, Lowerable t) => Lowerable (Y t) where- lower = lower . extract . y
Pandora/Paradigm/Basis/Maybe.hs view
@@ -3,7 +3,7 @@ import Pandora.Core.Functor (Variant (Co)) import Pandora.Core.Morphism ((.), ($)) import Pandora.Paradigm.Basis.Identity (Identity (Identity))-import Pandora.Paradigm.Basis.Junction.Transformer (T (T, t), type (:!:))+import Pandora.Paradigm.Junction.Transformer (T (T, t), type (:!:)) import Pandora.Pattern.Functor.Covariant (Covariant ((<$>))) import Pandora.Pattern.Functor.Exclusive (Exclusive (exclusive)) import Pandora.Pattern.Functor.Pointable (Pointable (point))
Pandora/Paradigm/Basis/Product.hs view
@@ -1,4 +1,4 @@-module Pandora.Paradigm.Basis.Product (Product (..), type (:*), delta, swap) where+module Pandora.Paradigm.Basis.Product (Product (..), type (:*), delta, swap, attached) where import Pandora.Core.Morphism (($)) import Pandora.Pattern.Functor.Covariant (Covariant ((<$>)))@@ -33,3 +33,6 @@ swap :: a :* b -> b :* a swap (x :* y) = y :* x++attached :: a :* b -> a+attached (x :* y) = x
Pandora/Paradigm/Controlflow/Observable.hs view
@@ -11,11 +11,11 @@ -- | Make continuation observable observe :: Continuation r t a -> Observable t a r-observe f = Continuation $ \h -> Capture $ continue f (captured . h)+observe action = Continuation $ \h -> Capture $ continue action (captured . h) -- | Listen only first event, call back just once notify :: Observable t a r -> (a -> t r) -> t r-notify r f = captured $ continue r (Capture . f)+notify r action = captured $ continue r (Capture . action) -- | Infix version of 'notify' (.:~.) :: Observable t a r -> (a -> t r) -> t r@@ -23,7 +23,7 @@ -- | Listen only first event, call back forever follow :: Applicative t => Observable t a r -> (a -> t r) -> t r-follow r f = captured $ continue r (Capture . forever . f)+follow r action = captured $ continue r (Capture . forever . action) -- | Infix version of 'follow' (.:~*) :: Applicative t => Observable t a r -> (a -> t r) -> t r@@ -31,7 +31,7 @@ -- | Listen all events from action, call back just once subscribe :: Applicative t => Observable t a r -> (a -> t r) -> t r-subscribe r f = forever $ captured $ continue r (Capture . f)+subscribe r action = forever $ captured $ continue r (Capture . action) -- | Infix version of 'subscribe' (*:~.) :: Applicative t => Observable t a r -> (a -> t r) -> t r@@ -39,7 +39,7 @@ -- | Listen all events from action, call back forever watch :: Applicative t => Observable t a r -> (a -> t r) -> t r-watch r f = forever $ captured $ continue r (Capture . forever . f)+watch r action = forever $ captured $ continue r (Capture . forever . action) -- | Infix version of 'watch' (*:~*) :: Applicative t => Observable t a r -> (a -> t r) -> t r
Pandora/Paradigm/Inventory/Environmental.hs view
@@ -1,7 +1,7 @@ module Pandora.Paradigm.Inventory.Environmental (Environmental (..), Environ, ask, local) where import Pandora.Core.Functor (type (:.:))-import Pandora.Core.Morphism ((.), ($), (!), flip)+import Pandora.Core.Morphism ((.), ($), (!), (?)) import Pandora.Paradigm.Basis.Identity (Identity) import Pandora.Pattern.Functor.Covariant (Covariant ((<$>), comap)) import Pandora.Pattern.Functor.Pointable (Pointable (point))@@ -28,7 +28,7 @@ x <+> y = Environmental $ \e -> environmentally x e <+> environmentally y e instance Bindable t => Bindable (Environmental e t) where- Environmental x >>= f = Environmental $ \e -> x e >>= flip environmentally e . f+ Environmental x >>= f = Environmental $ \e -> x e >>= environmentally ? e . f instance Monad t => Monad (Environmental e t) where
Pandora/Paradigm/Inventory/Storage.hs view
@@ -1,7 +1,7 @@ module Pandora.Paradigm.Inventory.Storage (Storage (..), Store, position, access, retrofit) where import Pandora.Core.Functor (type (:.:))-import Pandora.Core.Morphism ((.), ($), flip)+import Pandora.Core.Morphism ((.), ($), (?)) import Pandora.Paradigm.Basis.Identity (Identity) import Pandora.Paradigm.Basis.Product (Product ((:*)), type (:*)) import Pandora.Pattern.Functor.Covariant (Covariant ((<$>), comap))@@ -34,7 +34,7 @@ position (Storage (p :* _)) = p access :: Extractable t => p -> Storage p t a -> a-access p = flip extract p . extract . stored+access p = extract ? p . extract . stored retrofit :: Extractable t => (p -> p) -> Storage p t a -> Storage p t a retrofit f (Storage (p :* x)) = Storage $ (f p) :* x
+ Pandora/Paradigm/Junction.hs view
@@ -0,0 +1,5 @@+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 view
@@ -0,0 +1,184 @@+module Pandora.Paradigm.Junction.Composition (U (..), UU (..), UUU (..)) where++import Pandora.Core.Functor (Variant (Co, Contra), type (:.:))+import Pandora.Core.Morphism ((.), ($))+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.Exclusive (Exclusive (exclusive))+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 ((->>), traverse))+import Pandora.Pattern.Functor.Distributive (Distributive ((>>-), distribute))+import Pandora.Pattern.Functor.Adjoint (Adjoint (phi, psi))++type (:-|:) t u = (Extractable t, Pointable t, Extractable u, Pointable u, Adjoint t u)+++newtype U ct cu t u a = U { u :: (t :.: u) a }++instance (Covariant t, Covariant u) => Covariant (U Co Co t u) where+ f <$> U x = U $ (comap . comap) f x++instance (Covariant t, Contravariant u) => Contravariant (U Co Contra t u) where+ f >$< U x = U $ contramap f <$> x++instance (Contravariant t, Covariant u) => Contravariant (U Contra Co t u) where+ f >$< U x = U $ contramap (comap f) x++instance (Contravariant t, Contravariant u) => Covariant (U Contra Contra t u) where+ f <$> U x = U $ contramap (contramap f) x++instance (Pointable t, Pointable u) => Pointable (U Co Co t u) where+ point = U . point . point++instance (Extractable t, Extractable u) => Extractable (U Co Co t u) where+ extract = extract . extract . u++instance (Exclusive t, Covariant u) => Exclusive (U Co Co t u) where+ exclusive = U exclusive++instance (Applicative t, Applicative u) => Applicative (U Co Co t u) where+ U f <*> U x = U $ apply <$> f <*> x++instance (Alternative t, Covariant u) => Alternative (U Co Co t u) where+ U x <+> U y = U $ x <+> y++instance (Traversable t, Traversable u) => Traversable (U Co Co t u) where+ U x ->> f = U <$> (traverse . traverse) f x++instance (Distributive t, Distributive u) => Distributive (U Co Co t u) where+ x >>- f = U . comap distribute . distribute $ u . f <$> x++instance (t :-|: u, v :-|: w) => Adjoint (U Co Co t v) (U Co Co u w) where+ phi f = point . f . point+ psi f = extract . extract . comap f+++newtype UU ct cu cv t u v a = UU { uu :: (t :.: u :.: v) a }++instance (Covariant t, Covariant u, Covariant v) => Covariant (UU Co Co Co t u v) where+ f <$> UU x = UU $ (comap . comap . comap) f x++instance (Covariant t, Covariant u, Contravariant v) => Contravariant (UU Co Co Contra t u v) where+ f >$< UU x = UU $ (comap . comap) (contramap f) x++instance (Covariant t, Contravariant u, Covariant v) => Contravariant (UU Co Contra Co t u v) where+ f >$< UU x = UU $ contramap (comap f) <$> x++instance (Contravariant t, Covariant u, Covariant v) => Contravariant (UU Contra Co Co t u v) where+ f >$< UU x = UU $ comap (comap f) >$< x++instance (Contravariant t, Contravariant u, Covariant v) => Covariant (UU Contra Contra Co t u v) where+ f <$> UU x = UU $ contramap (comap f) >$< x++instance (Covariant t, Contravariant u, Contravariant v) => Covariant (UU Co Contra Contra t u v) where+ f <$> UU x = UU $ contramap (contramap f) <$> x++instance (Contravariant t, Covariant u, Contravariant v) => Covariant (UU Contra Co Contra t u v) where+ f <$> UU x = UU $ comap (contramap f) >$< x++instance (Contravariant t, Contravariant u, Contravariant v) => Contravariant (UU Contra Contra Contra t u v) where+ f >$< UU x = UU $ (contramap . contramap . contramap) f x++instance (Pointable t, Pointable u, Pointable v) => Pointable (UU Co Co Co t u v) where+ point = UU . point . point . point++instance (Extractable t, Extractable u, Extractable v) => Extractable (UU Co Co Co t u v) where+ extract = extract . extract . extract . uu++instance (Exclusive t, Covariant u, Covariant v) => Exclusive (UU Co Co Co t u v) where+ exclusive = UU exclusive++instance (Applicative t, Applicative u, Applicative v) => Applicative (UU Co Co Co t u v) where+ UU f <*> UU x = UU $ (comap apply . (comap . comap) apply $ f) <*> x++instance (Alternative t, Covariant u, Covariant v) => Alternative (UU Co Co Co t u v) where+ UU x <+> UU y = UU $ x <+> y++instance (Traversable t, Traversable u, Traversable v) => Traversable (UU Co Co Co t u v) where+ UU x ->> f = UU <$> (traverse . traverse . traverse) f x++instance (Distributive t, Distributive u, Distributive v) => Distributive (UU Co Co Co t u v) where+ x >>- f = UU . (comap . comap) distribute . comap distribute . distribute $ uu . f <$> x++instance (t :-|: w, v :-|: x, u :-|: y) => Adjoint (UU Co Co Co t v u) (UU Co Co Co w x y) where+ phi f = point . f . point+ psi f = extract . extract . comap f+++newtype UUU ct cu cv cw t u v w a = UUU { uuu :: (t :.: u :.: v :.: w) a }++instance (Covariant t, Covariant u, Covariant v, Covariant w) => Covariant (UUU Co Co Co Co t u v w) where+ f <$> UUU x = UUU $ (comap . comap . comap . comap) f x++instance (Covariant t, Covariant u, Covariant v, Contravariant w) => Contravariant (UUU Co Co Co Contra t u v w) where+ f >$< UUU x = UUU $ (comap . comap . comap) (contramap f) x++instance (Covariant t, Covariant u, Contravariant v, Covariant w) => Contravariant (UUU Co Co Contra Co t u v w) where+ f >$< UUU x = UUU $ (comap . comap) (contramap (comap f)) x++instance (Covariant t, Contravariant u, Covariant v, Covariant w) => Contravariant (UUU Co Contra Co Co t u v w) where+ f >$< UUU x = UUU $ (contramap (comap (comap f))) <$> x++instance (Contravariant t, Covariant u, Covariant v, Covariant w) => Contravariant (UUU Contra Co Co Co t u v w) where+ f >$< UUU x = UUU $ comap (comap (comap f)) >$< x++instance (Contravariant t, Contravariant u, Covariant v, Covariant w) => Covariant (UUU Contra Contra Co Co t u v w) where+ f <$> UUU x = UUU $ (contramap . contramap . comap . comap $ f) x++instance (Covariant t, Contravariant u, Contravariant v, Covariant w) => Covariant (UUU Co Contra Contra Co t u v w) where+ f <$> UUU x = UUU $ (comap . contramap . contramap . comap $ f) x++instance (Covariant t, Covariant u, Contravariant v, Contravariant w) => Covariant (UUU Co Co Contra Contra t u v w) where+ f <$> UUU x = UUU $ (comap . comap) (contramap . contramap $ f) x++instance (Covariant t, Contravariant u, Covariant v, Contravariant w) => Covariant (UUU Co Contra Co Contra t u v w) where+ f <$> UUU x = UUU $ (comap . contramap . comap . contramap $ f) x++instance (Contravariant t, Covariant u, Contravariant v, Covariant w) => Covariant (UUU Contra Co Contra Co t u v w) where+ f <$> UUU x = UUU $ (contramap . comap . contramap . comap $ f) x++instance (Contravariant t, Covariant u, Covariant v, Contravariant w) => Covariant (UUU Contra Co Co Contra t u v w) where+ f <$> UUU x = UUU $ (contramap . comap . comap . contramap $ f) x++instance (Contravariant t, Contravariant u, Contravariant v, Covariant w) => Contravariant (UUU Contra Contra Contra Co t u v w) where+ f >$< UUU x = UUU $ (contramap . contramap . contramap . comap) f x++instance (Covariant t, Contravariant u, Contravariant v, Contravariant w) => Contravariant (UUU Co Contra Contra Contra t u v w) where+ f >$< UUU x = UUU $ (comap . contramap . contramap . contramap) f x++instance (Contravariant t, Covariant u, Contravariant v, Contravariant w) => Contravariant (UUU Contra Co Contra Contra t u v w) where+ f >$< UUU x = UUU $ (contramap . comap . contramap . contramap) f x++instance (Contravariant t, Contravariant u, Covariant v, Contravariant w) => Contravariant (UUU Contra Contra Co Contra t u v w) where+ f >$< UUU x = UUU $ (contramap . contramap . comap . contramap) f x++instance (Contravariant t, Contravariant u, Contravariant v, Contravariant w) => Covariant (UUU Contra Contra Contra Contra t u v w) where+ f <$> UUU x = UUU $ (contramap . contramap . contramap . contramap) f x++instance (Pointable t, Pointable u, Pointable v, Pointable w) => Pointable (UUU Co Co Co Co t u v w) where+ point = UUU . point . point . point . point++instance (Extractable t, Extractable u, Extractable v, Extractable w) => Extractable (UUU Co Co Co Co t u v w) where+ extract = extract . extract . extract . extract . uuu++instance (Exclusive t, Covariant u, Covariant v, Covariant w) => Exclusive (UUU Co Co Co Co t u v w) where+ exclusive = UUU exclusive++instance (Applicative t, Applicative u, Applicative v, Applicative w) => Applicative (UUU Co Co Co Co t u v w) where+ UUU f <*> UUU x = UUU $ (comap apply . (comap . comap) apply . (comap . comap . comap) apply $ f) <*> x++instance (Alternative t, Covariant u, Covariant v, Covariant w) => Alternative (UUU Co Co Co Co t u v w) where+ UUU x <+> UUU y = UUU $ x <+> y++instance (Traversable t, Traversable u, Traversable v, Traversable w) => Traversable (UUU Co Co Co Co t u v w) where+ UUU x ->> f = UUU <$> (traverse . traverse . traverse . traverse) f x++instance (Distributive t, Distributive u, Distributive v, Distributive w) => Distributive (UUU Co Co Co Co t u v w) where+ x >>- f = UUU . (comap . comap . comap) distribute . (comap . comap) distribute . comap distribute . distribute $ uuu . f <$> x++instance (t :-|: u, v :-|: w, q :-|: q, r :-|: s) => Adjoint (UUU Co Co Co Co t v q r) (UUU Co Co Co Co u w q s) where+ phi f = point . f . point+ psi f = extract . extract . comap f
+ Pandora/Paradigm/Junction/Kan.hs view
@@ -0,0 +1,17 @@+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/Transformer.hs view
@@ -0,0 +1,88 @@+module Pandora.Paradigm.Junction.Transformer (T (..), type (:!:), up, Y (..), type (:>:)) where++import Pandora.Core.Functor (type (:.:))+import Pandora.Core.Morphism ((.), ($))+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.Exclusive (Exclusive (exclusive))+import Pandora.Pattern.Functor.Alternative (Alternative ((<+>)))+import Pandora.Pattern.Functor.Applicative (Applicative ((<*>), apply))+import Pandora.Pattern.Functor.Traversable (Traversable ((->>), traverse))+import Pandora.Pattern.Functor.Distributive (Distributive ((>>-), distribute))+import Pandora.Pattern.Functor.Bindable (Bindable ((>>=), bind))+import Pandora.Pattern.Functor.Liftable (Liftable (lift))+import Pandora.Pattern.Functor.Lowerable (Lowerable (lower))++infixr 0 :!:, :>:+type (:!:) t u = T t u+type (:>:) t u = Y t u+++newtype T t u a = T { t :: (u :.: t) a }++instance (Covariant t, Covariant u) => Covariant (T t u) where+ f <$> T x = T $ (comap . comap) f x++instance (Pointable t, Pointable u) => Pointable (T t u) where+ point = T . point . point++instance (Extractable t, Extractable u) => Extractable (T t u) where+ extract = extract . extract . t++instance (Covariant t, Exclusive u) => Exclusive (T t u) where+ exclusive = T exclusive++instance (Covariant t, Alternative u) => Alternative (T t u) where+ T x <+> T y = T $ x <+> y++instance (Applicative t, Applicative u) => Applicative (T t u) where+ T f <*> T x = T $ apply <$> f <*> x++instance Pointable t => Liftable (T t) where+ lift x = T $ point <$> x++instance Extractable t => Lowerable (T t) where+ lower (T x) = extract <$> x++instance (Traversable t, Traversable u) => Traversable (T t u) where+ T x ->> f = T <$> (traverse . traverse) f x++instance (Distributive t, Distributive u) => Distributive (T t u) where+ x >>- f = T . comap distribute . distribute $ t . f <$> x++up :: Pointable u => t a -> T t u a+up = T . point+++newtype Y t u a = Y { y :: (u :.: t u) a }++instance (Covariant (t u), Covariant u) => Covariant (Y t u) where+ f <$> Y x = Y $ (comap . comap) f x++instance (Pointable (t u), Pointable u) => Pointable (Y t u) where+ point = Y . point . point++instance (Extractable (t u), Extractable u) => Extractable (Y t u) where+ extract = extract . extract . y++instance (Covariant (t u), Exclusive u) => Exclusive (Y t u) where+ exclusive = Y exclusive++instance (Covariant (t u), Alternative u) => Alternative (Y t u) where+ Y x <+> Y y = Y $ x <+> y++instance (Applicative (t u), Applicative u) => Applicative (Y t u) where+ Y f <*> Y x = Y $ apply <$> f <*> x++instance (Traversable (t u), Traversable u) => Traversable (Y t u) where+ Y x ->> f = Y <$> (traverse . traverse) f x++instance (Distributive (t u), Distributive u) => Distributive (Y t u) where+ x >>- f = Y . comap distribute . distribute $ y . f <$> x++instance (forall u . Pointable u, Liftable t) => Liftable (Y t) where+ lift = Y . point . lift++instance (forall u . Extractable u, Lowerable t) => Lowerable (Y t) where+ lower = lower . extract . y
Pandora/Paradigm/Structure.hs view
@@ -3,7 +3,7 @@ import Pandora.Paradigm.Structure.Stack as Exports import Pandora.Paradigm.Basis.Cofree (Cofree)-import Pandora.Paradigm.Basis.Junction.Transformer (type (:>:))+import Pandora.Paradigm.Junction.Transformer (type (:>:)) -type family Nonempty structure :: * where- Nonempty ((Cofree :>: t) a) = Cofree t a+type family Nonempty structure a :: * where+ Nonempty (Cofree :>: t) a = Cofree t a
Pandora/Paradigm/Structure/Stack.hs view
@@ -1,17 +1,17 @@-module Pandora.Paradigm.Structure.Stack (Stack, push, top, pop) where+module Pandora.Paradigm.Structure.Stack (Stack, push, top, pop, empty) where import Pandora.Core.Functor (type (:.:)) import Pandora.Core.Morphism ((.), ($)) import Pandora.Paradigm.Basis.Cofree (Cofree ((:<)), unwrap)-import Pandora.Paradigm.Basis.Maybe (Maybe (Just))-import Pandora.Paradigm.Basis.Junction.Transformer (Y (Y, y), type (:>:))+import Pandora.Paradigm.Basis.Maybe (Maybe (Just, Nothing))+import Pandora.Paradigm.Junction.Transformer (Y (Y, y), type (:>:)) import Pandora.Pattern.Functor.Covariant (Covariant ((<$>))) import Pandora.Pattern.Functor.Pointable (Pointable (point)) import Pandora.Pattern.Functor.Extractable (Extractable (extract)) import Pandora.Pattern.Functor.Alternative (Alternative ((<+>))) import Pandora.Pattern.Functor.Bindable (Bindable ((>>=))) -type Stack a = (Cofree :>: Maybe) a+type Stack = (Cofree :>: Maybe) push :: a -> Stack a -> Stack a push x (Y struct) = (Y $ (:<) x . Just <$> struct) <+> point x@@ -21,3 +21,7 @@ pop :: Stack a -> Stack a pop (Y struct) = Y $ struct >>= unwrap++empty :: r -> (Cofree Maybe a -> r) -> Stack a -> r+emtpy result _ (Y Nothing) = result+empty _ f (Y (Just struct)) = f struct
Pandora/Pattern/Functor/Bindable.hs view
@@ -1,7 +1,7 @@ module Pandora.Pattern.Functor.Bindable (Bindable (..)) where import Pandora.Core.Functor (type (:.:))-import Pandora.Core.Morphism (($), flip, identity)+import Pandora.Core.Morphism (($), (?), identity) import Pandora.Pattern.Functor.Covariant (Covariant ((<$>))) infixl 1 >>=@@ -19,7 +19,7 @@ -- | Flipped version of '>>=', the dual of '<<=' (=<<) :: (a -> t b) -> t a -> t b- (=<<) = flip (>>=)+ (=<<) = (?) (>>=) -- | Prefix and flipped version of '>>=', the dual of 'extend' bind :: (a -> t b) -> t a -> t b bind f t = t >>= f@@ -31,4 +31,4 @@ f >=> g = \x -> f x >>= g -- | Right-to-left Kleisli composition (<=<) :: (b -> t c) -> (a -> t b) -> (a -> t c)- (<=<) = flip (>=>)+ (<=<) = (?) (>=>)
Pandora/Pattern/Functor/Contravariant.hs view
@@ -1,6 +1,6 @@ module Pandora.Pattern.Functor.Contravariant (Contravariant (..)) where -import Pandora.Core.Morphism ((.), (!), flip)+import Pandora.Core.Morphism ((.), (!), (?)) infixl 4 >$<, $<, >$ @@ -23,7 +23,7 @@ (>$) = contramap . (!) -- | Flipped version of '>$' ($<) :: t b -> b -> t a- ($<) = flip (>$)+ ($<) = (?) (>$) -- | Fill the input of evaluation full :: t () -> t a full x = () >$ x
Pandora/Pattern/Functor/Covariant.hs view
@@ -1,6 +1,6 @@ module Pandora.Pattern.Functor.Covariant (Covariant (..)) where -import Pandora.Core.Morphism ((.), (!), flip)+import Pandora.Core.Morphism ((.), (!), (?)) infixl 4 <$>, <$, $> @@ -23,7 +23,7 @@ (<$) = comap . (!) -- | Flipped version of '<$' ($>) :: t a -> b -> t b- ($>) = flip (<$)+ ($>) = (?) (<$) -- | Discards the result of evaluation void :: t a -> t () void x = () <$ x
Pandora/Pattern/Functor/Extendable.hs view
@@ -1,7 +1,7 @@ module Pandora.Pattern.Functor.Extendable (Extendable (..)) where import Pandora.Core.Functor (type (:.:))-import Pandora.Core.Morphism ((.), flip, identity)+import Pandora.Core.Morphism ((.), (?), identity) import Pandora.Pattern.Functor.Covariant (Covariant) infixl 1 =>>@@ -20,7 +20,7 @@ -- | Flipped version of '>>=', the dual of '=<<' (<<=) :: (t a -> b) -> t a -> t b- (<<=) = flip (=>>)+ (<<=) = (?) (=>>) -- | Prefix and flipped version of '=>>', the dual of 'bind' extend :: (t a -> b) -> t a -> t b extend f t = t =>> f
Pandora/Pattern/Functor/Invariant.hs view
@@ -1,10 +1,5 @@ module Pandora.Pattern.Functor.Invariant (Invariant (..)) where -import Pandora.Core.Morphism (flip)--infixl 4 >$>-infixr 4 <$<- {- | > When providing a new instance, you should ensure it satisfies the two laws: > Identity morphisms: invmap identity identity = identity@@ -12,13 +7,5 @@ -} class Invariant (t :: * -> *) where- {-# MINIMAL (<$<) #-}- -- | Infix version of 'invmap'- (<$<) :: (a -> b) -> (b -> a) -> t a -> t b-- -- | Prefix version of '<$<'+ {-# MINIMAL invmap #-} invmap :: (a -> b) -> (b -> a) -> t a -> t b- invmap f x = f <$< x- -- | Flipped version of '<$<'- (>$>) :: (b -> a) -> (a -> b) -> t a -> t b- (>$>) = flip (<$<)
Pandora/Pattern/Object/Chain.hs view
@@ -1,6 +1,6 @@ module Pandora.Pattern.Object.Chain (Ordering (..), order, Chain (..)) where -import Pandora.Core.Morphism (($), flip)+import Pandora.Core.Morphism (($)) import Pandora.Pattern.Object.Setoid (Boolean (True, False), Setoid) data Ordering = Less | Equal | Greater
pandora.cabal view
@@ -1,5 +1,5 @@ name: pandora-version: 0.1.0+version: 0.1.1 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@@ -33,14 +33,16 @@ Pandora.Paradigm.Basis.Free Pandora.Paradigm.Basis.Identity Pandora.Paradigm.Basis.Jack- Pandora.Paradigm.Basis.Junction.Composition- Pandora.Paradigm.Basis.Junction.Transformer- Pandora.Paradigm.Basis.Junction.Kan Pandora.Paradigm.Basis.Maybe Pandora.Paradigm.Basis.Predicate Pandora.Paradigm.Basis.Product 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 -- Control flow primitives Pandora.Paradigm.Controlflow Pandora.Paradigm.Controlflow.Observable