packages feed

pandora 0.4.7 → 0.4.8

raw patch · 79 files changed

+986/−1092 lines, 79 filesPVP: major bump suggested

API removals or changes: PVP suggests a major version bump

API changes (from Hackage documentation)

- Pandora.Core.Appliable: (!) :: Appliable m a b n c d => m a b -> n c d
- Pandora.Core.Appliable: class Appliable m a b n c d | m a b -> n c d
- Pandora.Core.Appliable: infixr 0 !
- Pandora.Paradigm.Controlflow.Effect.Adaptable: instance (Pandora.Paradigm.Controlflow.Effect.Adaptable.Lifting t (Pandora.Paradigm.Controlflow.Effect.Interpreted.Schematic Pandora.Pattern.Functor.Monad.Monad u (v Pandora.Paradigm.Controlflow.Effect.Transformer.Monadic.:> (w Pandora.Paradigm.Controlflow.Effect.Transformer.Monadic.:> (x Pandora.Paradigm.Controlflow.Effect.Transformer.Monadic.:> (y Pandora.Paradigm.Controlflow.Effect.Transformer.Monadic.:> (z Pandora.Paradigm.Controlflow.Effect.Transformer.Monadic.:> (f Pandora.Paradigm.Controlflow.Effect.Transformer.Monadic.:> h))))))), Pandora.Paradigm.Controlflow.Effect.Adaptable.Lifting u (Pandora.Paradigm.Controlflow.Effect.Interpreted.Schematic Pandora.Pattern.Functor.Monad.Monad v (w Pandora.Paradigm.Controlflow.Effect.Transformer.Monadic.:> (x Pandora.Paradigm.Controlflow.Effect.Transformer.Monadic.:> (y Pandora.Paradigm.Controlflow.Effect.Transformer.Monadic.:> (z Pandora.Paradigm.Controlflow.Effect.Transformer.Monadic.:> (f Pandora.Paradigm.Controlflow.Effect.Transformer.Monadic.:> h)))))), Pandora.Paradigm.Controlflow.Effect.Adaptable.Lifting v (Pandora.Paradigm.Controlflow.Effect.Interpreted.Schematic Pandora.Pattern.Functor.Monad.Monad w (x Pandora.Paradigm.Controlflow.Effect.Transformer.Monadic.:> (y Pandora.Paradigm.Controlflow.Effect.Transformer.Monadic.:> (z Pandora.Paradigm.Controlflow.Effect.Transformer.Monadic.:> (f Pandora.Paradigm.Controlflow.Effect.Transformer.Monadic.:> h))))), Pandora.Paradigm.Controlflow.Effect.Adaptable.Lifting w (Pandora.Paradigm.Controlflow.Effect.Interpreted.Schematic Pandora.Pattern.Functor.Monad.Monad x (y Pandora.Paradigm.Controlflow.Effect.Transformer.Monadic.:> (z Pandora.Paradigm.Controlflow.Effect.Transformer.Monadic.:> (f Pandora.Paradigm.Controlflow.Effect.Transformer.Monadic.:> h)))), Pandora.Paradigm.Controlflow.Effect.Adaptable.Lifting x (Pandora.Paradigm.Controlflow.Effect.Interpreted.Schematic Pandora.Pattern.Functor.Monad.Monad y (z Pandora.Paradigm.Controlflow.Effect.Transformer.Monadic.:> (f Pandora.Paradigm.Controlflow.Effect.Transformer.Monadic.:> h))), Pandora.Paradigm.Controlflow.Effect.Adaptable.Lifting y (Pandora.Paradigm.Controlflow.Effect.Interpreted.Schematic Pandora.Pattern.Functor.Monad.Monad z (f Pandora.Paradigm.Controlflow.Effect.Transformer.Monadic.:> h)), Pandora.Paradigm.Controlflow.Effect.Adaptable.Lifting z (Pandora.Paradigm.Controlflow.Effect.Interpreted.Schematic Pandora.Pattern.Functor.Monad.Monad f h), Pandora.Paradigm.Controlflow.Effect.Adaptable.Lifting f h) => Pandora.Paradigm.Controlflow.Effect.Adaptable.Adaptable h (t Pandora.Paradigm.Controlflow.Effect.Transformer.Monadic.:> (u Pandora.Paradigm.Controlflow.Effect.Transformer.Monadic.:> (v Pandora.Paradigm.Controlflow.Effect.Transformer.Monadic.:> (w Pandora.Paradigm.Controlflow.Effect.Transformer.Monadic.:> (x Pandora.Paradigm.Controlflow.Effect.Transformer.Monadic.:> (y Pandora.Paradigm.Controlflow.Effect.Transformer.Monadic.:> (z Pandora.Paradigm.Controlflow.Effect.Transformer.Monadic.:> (f Pandora.Paradigm.Controlflow.Effect.Transformer.Monadic.:> h))))))))
- Pandora.Paradigm.Controlflow.Effect.Adaptable: instance (Pandora.Paradigm.Controlflow.Effect.Adaptable.Lifting t (Pandora.Paradigm.Controlflow.Effect.Interpreted.Schematic Pandora.Pattern.Functor.Monad.Monad u (v Pandora.Paradigm.Controlflow.Effect.Transformer.Monadic.:> (w Pandora.Paradigm.Controlflow.Effect.Transformer.Monadic.:> (x Pandora.Paradigm.Controlflow.Effect.Transformer.Monadic.:> (y Pandora.Paradigm.Controlflow.Effect.Transformer.Monadic.:> (z Pandora.Paradigm.Controlflow.Effect.Transformer.Monadic.:> (f Pandora.Paradigm.Controlflow.Effect.Transformer.Monadic.:> h))))))), Pandora.Paradigm.Controlflow.Effect.Adaptable.Lifting u (Pandora.Paradigm.Controlflow.Effect.Interpreted.Schematic Pandora.Pattern.Functor.Monad.Monad v (w Pandora.Paradigm.Controlflow.Effect.Transformer.Monadic.:> (x Pandora.Paradigm.Controlflow.Effect.Transformer.Monadic.:> (y Pandora.Paradigm.Controlflow.Effect.Transformer.Monadic.:> (z Pandora.Paradigm.Controlflow.Effect.Transformer.Monadic.:> (f Pandora.Paradigm.Controlflow.Effect.Transformer.Monadic.:> h)))))), Pandora.Paradigm.Controlflow.Effect.Adaptable.Lifting v (Pandora.Paradigm.Controlflow.Effect.Interpreted.Schematic Pandora.Pattern.Functor.Monad.Monad w (x Pandora.Paradigm.Controlflow.Effect.Transformer.Monadic.:> (y Pandora.Paradigm.Controlflow.Effect.Transformer.Monadic.:> (z Pandora.Paradigm.Controlflow.Effect.Transformer.Monadic.:> (f Pandora.Paradigm.Controlflow.Effect.Transformer.Monadic.:> h))))), Pandora.Paradigm.Controlflow.Effect.Adaptable.Lifting w (Pandora.Paradigm.Controlflow.Effect.Interpreted.Schematic Pandora.Pattern.Functor.Monad.Monad x (y Pandora.Paradigm.Controlflow.Effect.Transformer.Monadic.:> (z Pandora.Paradigm.Controlflow.Effect.Transformer.Monadic.:> (f Pandora.Paradigm.Controlflow.Effect.Transformer.Monadic.:> h)))), Pandora.Paradigm.Controlflow.Effect.Adaptable.Lifting x (Pandora.Paradigm.Controlflow.Effect.Interpreted.Schematic Pandora.Pattern.Functor.Monad.Monad y (z Pandora.Paradigm.Controlflow.Effect.Transformer.Monadic.:> (f Pandora.Paradigm.Controlflow.Effect.Transformer.Monadic.:> h))), Pandora.Paradigm.Controlflow.Effect.Adaptable.Lifting y (Pandora.Paradigm.Controlflow.Effect.Interpreted.Schematic Pandora.Pattern.Functor.Monad.Monad z (f Pandora.Paradigm.Controlflow.Effect.Transformer.Monadic.:> h)), Pandora.Paradigm.Controlflow.Effect.Adaptable.Lifting z (Pandora.Paradigm.Controlflow.Effect.Interpreted.Schematic Pandora.Pattern.Functor.Monad.Monad f h), Pandora.Paradigm.Controlflow.Effect.Adaptable.Wrappable f h) => Pandora.Paradigm.Controlflow.Effect.Adaptable.Adaptable f (t Pandora.Paradigm.Controlflow.Effect.Transformer.Monadic.:> (u Pandora.Paradigm.Controlflow.Effect.Transformer.Monadic.:> (v Pandora.Paradigm.Controlflow.Effect.Transformer.Monadic.:> (w Pandora.Paradigm.Controlflow.Effect.Transformer.Monadic.:> (x Pandora.Paradigm.Controlflow.Effect.Transformer.Monadic.:> (y Pandora.Paradigm.Controlflow.Effect.Transformer.Monadic.:> (z Pandora.Paradigm.Controlflow.Effect.Transformer.Monadic.:> (f Pandora.Paradigm.Controlflow.Effect.Transformer.Monadic.:> h))))))))
- Pandora.Paradigm.Controlflow.Effect.Adaptable: instance (Pandora.Paradigm.Controlflow.Effect.Adaptable.Lifting t (Pandora.Paradigm.Controlflow.Effect.Interpreted.Schematic Pandora.Pattern.Functor.Monad.Monad u (v Pandora.Paradigm.Controlflow.Effect.Transformer.Monadic.:> (w Pandora.Paradigm.Controlflow.Effect.Transformer.Monadic.:> (x Pandora.Paradigm.Controlflow.Effect.Transformer.Monadic.:> (y Pandora.Paradigm.Controlflow.Effect.Transformer.Monadic.:> (z Pandora.Paradigm.Controlflow.Effect.Transformer.Monadic.:> f)))))), Pandora.Paradigm.Controlflow.Effect.Adaptable.Lifting u (Pandora.Paradigm.Controlflow.Effect.Interpreted.Schematic Pandora.Pattern.Functor.Monad.Monad v (w Pandora.Paradigm.Controlflow.Effect.Transformer.Monadic.:> (x Pandora.Paradigm.Controlflow.Effect.Transformer.Monadic.:> (y Pandora.Paradigm.Controlflow.Effect.Transformer.Monadic.:> (z Pandora.Paradigm.Controlflow.Effect.Transformer.Monadic.:> f))))), Pandora.Paradigm.Controlflow.Effect.Adaptable.Lifting v (Pandora.Paradigm.Controlflow.Effect.Interpreted.Schematic Pandora.Pattern.Functor.Monad.Monad w (x Pandora.Paradigm.Controlflow.Effect.Transformer.Monadic.:> (y Pandora.Paradigm.Controlflow.Effect.Transformer.Monadic.:> (z Pandora.Paradigm.Controlflow.Effect.Transformer.Monadic.:> f)))), Pandora.Paradigm.Controlflow.Effect.Adaptable.Lifting w (Pandora.Paradigm.Controlflow.Effect.Interpreted.Schematic Pandora.Pattern.Functor.Monad.Monad x (y Pandora.Paradigm.Controlflow.Effect.Transformer.Monadic.:> (z Pandora.Paradigm.Controlflow.Effect.Transformer.Monadic.:> f))), Pandora.Paradigm.Controlflow.Effect.Adaptable.Lifting x (Pandora.Paradigm.Controlflow.Effect.Interpreted.Schematic Pandora.Pattern.Functor.Monad.Monad y (z Pandora.Paradigm.Controlflow.Effect.Transformer.Monadic.:> f)), Pandora.Paradigm.Controlflow.Effect.Adaptable.Lifting y (Pandora.Paradigm.Controlflow.Effect.Interpreted.Schematic Pandora.Pattern.Functor.Monad.Monad z f), Pandora.Paradigm.Controlflow.Effect.Adaptable.Lifting z f) => Pandora.Paradigm.Controlflow.Effect.Adaptable.Adaptable f (t Pandora.Paradigm.Controlflow.Effect.Transformer.Monadic.:> (u Pandora.Paradigm.Controlflow.Effect.Transformer.Monadic.:> (v Pandora.Paradigm.Controlflow.Effect.Transformer.Monadic.:> (w Pandora.Paradigm.Controlflow.Effect.Transformer.Monadic.:> (x Pandora.Paradigm.Controlflow.Effect.Transformer.Monadic.:> (y Pandora.Paradigm.Controlflow.Effect.Transformer.Monadic.:> (z Pandora.Paradigm.Controlflow.Effect.Transformer.Monadic.:> f)))))))
- Pandora.Paradigm.Controlflow.Effect.Adaptable: instance (Pandora.Paradigm.Controlflow.Effect.Adaptable.Lifting t (Pandora.Paradigm.Controlflow.Effect.Interpreted.Schematic Pandora.Pattern.Functor.Monad.Monad u (v Pandora.Paradigm.Controlflow.Effect.Transformer.Monadic.:> (w Pandora.Paradigm.Controlflow.Effect.Transformer.Monadic.:> (x Pandora.Paradigm.Controlflow.Effect.Transformer.Monadic.:> (y Pandora.Paradigm.Controlflow.Effect.Transformer.Monadic.:> (z Pandora.Paradigm.Controlflow.Effect.Transformer.Monadic.:> f)))))), Pandora.Paradigm.Controlflow.Effect.Adaptable.Lifting u (Pandora.Paradigm.Controlflow.Effect.Interpreted.Schematic Pandora.Pattern.Functor.Monad.Monad v (w Pandora.Paradigm.Controlflow.Effect.Transformer.Monadic.:> (x Pandora.Paradigm.Controlflow.Effect.Transformer.Monadic.:> (y Pandora.Paradigm.Controlflow.Effect.Transformer.Monadic.:> (z Pandora.Paradigm.Controlflow.Effect.Transformer.Monadic.:> f))))), Pandora.Paradigm.Controlflow.Effect.Adaptable.Lifting v (Pandora.Paradigm.Controlflow.Effect.Interpreted.Schematic Pandora.Pattern.Functor.Monad.Monad w (x Pandora.Paradigm.Controlflow.Effect.Transformer.Monadic.:> (y Pandora.Paradigm.Controlflow.Effect.Transformer.Monadic.:> (z Pandora.Paradigm.Controlflow.Effect.Transformer.Monadic.:> f)))), Pandora.Paradigm.Controlflow.Effect.Adaptable.Lifting w (Pandora.Paradigm.Controlflow.Effect.Interpreted.Schematic Pandora.Pattern.Functor.Monad.Monad x (y Pandora.Paradigm.Controlflow.Effect.Transformer.Monadic.:> (z Pandora.Paradigm.Controlflow.Effect.Transformer.Monadic.:> f))), Pandora.Paradigm.Controlflow.Effect.Adaptable.Lifting x (Pandora.Paradigm.Controlflow.Effect.Interpreted.Schematic Pandora.Pattern.Functor.Monad.Monad y (z Pandora.Paradigm.Controlflow.Effect.Transformer.Monadic.:> f)), Pandora.Paradigm.Controlflow.Effect.Adaptable.Lifting y (Pandora.Paradigm.Controlflow.Effect.Interpreted.Schematic Pandora.Pattern.Functor.Monad.Monad z f), Pandora.Paradigm.Controlflow.Effect.Adaptable.Wrappable z f) => Pandora.Paradigm.Controlflow.Effect.Adaptable.Adaptable z (t Pandora.Paradigm.Controlflow.Effect.Transformer.Monadic.:> (u Pandora.Paradigm.Controlflow.Effect.Transformer.Monadic.:> (v Pandora.Paradigm.Controlflow.Effect.Transformer.Monadic.:> (w Pandora.Paradigm.Controlflow.Effect.Transformer.Monadic.:> (x Pandora.Paradigm.Controlflow.Effect.Transformer.Monadic.:> (y Pandora.Paradigm.Controlflow.Effect.Transformer.Monadic.:> (z Pandora.Paradigm.Controlflow.Effect.Transformer.Monadic.:> f)))))))
- Pandora.Paradigm.Controlflow.Effect.Adaptable: instance (Pandora.Paradigm.Controlflow.Effect.Adaptable.Lifting t (Pandora.Paradigm.Controlflow.Effect.Interpreted.Schematic Pandora.Pattern.Functor.Monad.Monad u (v Pandora.Paradigm.Controlflow.Effect.Transformer.Monadic.:> (w Pandora.Paradigm.Controlflow.Effect.Transformer.Monadic.:> (x Pandora.Paradigm.Controlflow.Effect.Transformer.Monadic.:> (y Pandora.Paradigm.Controlflow.Effect.Transformer.Monadic.:> z))))), Pandora.Paradigm.Controlflow.Effect.Adaptable.Lifting u (Pandora.Paradigm.Controlflow.Effect.Interpreted.Schematic Pandora.Pattern.Functor.Monad.Monad v (w Pandora.Paradigm.Controlflow.Effect.Transformer.Monadic.:> (x Pandora.Paradigm.Controlflow.Effect.Transformer.Monadic.:> (y Pandora.Paradigm.Controlflow.Effect.Transformer.Monadic.:> z)))), Pandora.Paradigm.Controlflow.Effect.Adaptable.Lifting v (Pandora.Paradigm.Controlflow.Effect.Interpreted.Schematic Pandora.Pattern.Functor.Monad.Monad w (x Pandora.Paradigm.Controlflow.Effect.Transformer.Monadic.:> (y Pandora.Paradigm.Controlflow.Effect.Transformer.Monadic.:> z))), Pandora.Paradigm.Controlflow.Effect.Adaptable.Lifting w (Pandora.Paradigm.Controlflow.Effect.Interpreted.Schematic Pandora.Pattern.Functor.Monad.Monad x (y Pandora.Paradigm.Controlflow.Effect.Transformer.Monadic.:> z)), Pandora.Paradigm.Controlflow.Effect.Adaptable.Lifting x (Pandora.Paradigm.Controlflow.Effect.Interpreted.Schematic Pandora.Pattern.Functor.Monad.Monad y z), Pandora.Paradigm.Controlflow.Effect.Adaptable.Lifting y z) => Pandora.Paradigm.Controlflow.Effect.Adaptable.Adaptable z (t Pandora.Paradigm.Controlflow.Effect.Transformer.Monadic.:> (u Pandora.Paradigm.Controlflow.Effect.Transformer.Monadic.:> (v Pandora.Paradigm.Controlflow.Effect.Transformer.Monadic.:> (w Pandora.Paradigm.Controlflow.Effect.Transformer.Monadic.:> (x Pandora.Paradigm.Controlflow.Effect.Transformer.Monadic.:> (y Pandora.Paradigm.Controlflow.Effect.Transformer.Monadic.:> z))))))
- Pandora.Paradigm.Controlflow.Effect.Adaptable: instance (Pandora.Paradigm.Controlflow.Effect.Adaptable.Lifting t (Pandora.Paradigm.Controlflow.Effect.Interpreted.Schematic Pandora.Pattern.Functor.Monad.Monad u (v Pandora.Paradigm.Controlflow.Effect.Transformer.Monadic.:> (w Pandora.Paradigm.Controlflow.Effect.Transformer.Monadic.:> (x Pandora.Paradigm.Controlflow.Effect.Transformer.Monadic.:> (y Pandora.Paradigm.Controlflow.Effect.Transformer.Monadic.:> z))))), Pandora.Paradigm.Controlflow.Effect.Adaptable.Lifting u (Pandora.Paradigm.Controlflow.Effect.Interpreted.Schematic Pandora.Pattern.Functor.Monad.Monad v (w Pandora.Paradigm.Controlflow.Effect.Transformer.Monadic.:> (x Pandora.Paradigm.Controlflow.Effect.Transformer.Monadic.:> (y Pandora.Paradigm.Controlflow.Effect.Transformer.Monadic.:> z)))), Pandora.Paradigm.Controlflow.Effect.Adaptable.Lifting v (Pandora.Paradigm.Controlflow.Effect.Interpreted.Schematic Pandora.Pattern.Functor.Monad.Monad w (x Pandora.Paradigm.Controlflow.Effect.Transformer.Monadic.:> (y Pandora.Paradigm.Controlflow.Effect.Transformer.Monadic.:> z))), Pandora.Paradigm.Controlflow.Effect.Adaptable.Lifting w (Pandora.Paradigm.Controlflow.Effect.Interpreted.Schematic Pandora.Pattern.Functor.Monad.Monad x (y Pandora.Paradigm.Controlflow.Effect.Transformer.Monadic.:> z)), Pandora.Paradigm.Controlflow.Effect.Adaptable.Lifting x (Pandora.Paradigm.Controlflow.Effect.Interpreted.Schematic Pandora.Pattern.Functor.Monad.Monad y z), Pandora.Paradigm.Controlflow.Effect.Adaptable.Wrappable y z) => Pandora.Paradigm.Controlflow.Effect.Adaptable.Adaptable y (t Pandora.Paradigm.Controlflow.Effect.Transformer.Monadic.:> (u Pandora.Paradigm.Controlflow.Effect.Transformer.Monadic.:> (v Pandora.Paradigm.Controlflow.Effect.Transformer.Monadic.:> (w Pandora.Paradigm.Controlflow.Effect.Transformer.Monadic.:> (x Pandora.Paradigm.Controlflow.Effect.Transformer.Monadic.:> (y Pandora.Paradigm.Controlflow.Effect.Transformer.Monadic.:> z))))))
- Pandora.Paradigm.Controlflow.Effect.Adaptable: instance (Pandora.Paradigm.Controlflow.Effect.Adaptable.Lifting t (Pandora.Paradigm.Controlflow.Effect.Interpreted.Schematic Pandora.Pattern.Functor.Monad.Monad u (v Pandora.Paradigm.Controlflow.Effect.Transformer.Monadic.:> (w Pandora.Paradigm.Controlflow.Effect.Transformer.Monadic.:> (x Pandora.Paradigm.Controlflow.Effect.Transformer.Monadic.:> y)))), Pandora.Paradigm.Controlflow.Effect.Adaptable.Lifting u (Pandora.Paradigm.Controlflow.Effect.Interpreted.Schematic Pandora.Pattern.Functor.Monad.Monad v (w Pandora.Paradigm.Controlflow.Effect.Transformer.Monadic.:> (x Pandora.Paradigm.Controlflow.Effect.Transformer.Monadic.:> y))), Pandora.Paradigm.Controlflow.Effect.Adaptable.Lifting v (Pandora.Paradigm.Controlflow.Effect.Interpreted.Schematic Pandora.Pattern.Functor.Monad.Monad w (x Pandora.Paradigm.Controlflow.Effect.Transformer.Monadic.:> y)), Pandora.Paradigm.Controlflow.Effect.Adaptable.Lifting w (Pandora.Paradigm.Controlflow.Effect.Interpreted.Schematic Pandora.Pattern.Functor.Monad.Monad x y), Pandora.Paradigm.Controlflow.Effect.Adaptable.Lifting x y) => Pandora.Paradigm.Controlflow.Effect.Adaptable.Adaptable y (t Pandora.Paradigm.Controlflow.Effect.Transformer.Monadic.:> (u Pandora.Paradigm.Controlflow.Effect.Transformer.Monadic.:> (v Pandora.Paradigm.Controlflow.Effect.Transformer.Monadic.:> (w Pandora.Paradigm.Controlflow.Effect.Transformer.Monadic.:> (x Pandora.Paradigm.Controlflow.Effect.Transformer.Monadic.:> y)))))
- Pandora.Paradigm.Controlflow.Effect.Adaptable: instance (Pandora.Paradigm.Controlflow.Effect.Adaptable.Lifting t (Pandora.Paradigm.Controlflow.Effect.Interpreted.Schematic Pandora.Pattern.Functor.Monad.Monad u (v Pandora.Paradigm.Controlflow.Effect.Transformer.Monadic.:> (w Pandora.Paradigm.Controlflow.Effect.Transformer.Monadic.:> (x Pandora.Paradigm.Controlflow.Effect.Transformer.Monadic.:> y)))), Pandora.Paradigm.Controlflow.Effect.Adaptable.Lifting u (Pandora.Paradigm.Controlflow.Effect.Interpreted.Schematic Pandora.Pattern.Functor.Monad.Monad v (w Pandora.Paradigm.Controlflow.Effect.Transformer.Monadic.:> (x Pandora.Paradigm.Controlflow.Effect.Transformer.Monadic.:> y))), Pandora.Paradigm.Controlflow.Effect.Adaptable.Lifting v (Pandora.Paradigm.Controlflow.Effect.Interpreted.Schematic Pandora.Pattern.Functor.Monad.Monad w (x Pandora.Paradigm.Controlflow.Effect.Transformer.Monadic.:> y)), Pandora.Paradigm.Controlflow.Effect.Adaptable.Lifting w (Pandora.Paradigm.Controlflow.Effect.Interpreted.Schematic Pandora.Pattern.Functor.Monad.Monad x y), Pandora.Paradigm.Controlflow.Effect.Adaptable.Wrappable x y) => Pandora.Paradigm.Controlflow.Effect.Adaptable.Adaptable x (t Pandora.Paradigm.Controlflow.Effect.Transformer.Monadic.:> (u Pandora.Paradigm.Controlflow.Effect.Transformer.Monadic.:> (v Pandora.Paradigm.Controlflow.Effect.Transformer.Monadic.:> (w Pandora.Paradigm.Controlflow.Effect.Transformer.Monadic.:> (x Pandora.Paradigm.Controlflow.Effect.Transformer.Monadic.:> y)))))
- Pandora.Paradigm.Controlflow.Effect.Adaptable: instance (Pandora.Paradigm.Controlflow.Effect.Adaptable.Lifting t (Pandora.Paradigm.Controlflow.Effect.Interpreted.Schematic Pandora.Pattern.Functor.Monad.Monad u (v Pandora.Paradigm.Controlflow.Effect.Transformer.Monadic.:> (w Pandora.Paradigm.Controlflow.Effect.Transformer.Monadic.:> x))), Pandora.Paradigm.Controlflow.Effect.Adaptable.Lifting u (Pandora.Paradigm.Controlflow.Effect.Interpreted.Schematic Pandora.Pattern.Functor.Monad.Monad v (w Pandora.Paradigm.Controlflow.Effect.Transformer.Monadic.:> x)), Pandora.Paradigm.Controlflow.Effect.Adaptable.Lifting v (Pandora.Paradigm.Controlflow.Effect.Interpreted.Schematic Pandora.Pattern.Functor.Monad.Monad w x), Pandora.Paradigm.Controlflow.Effect.Adaptable.Lifting w x) => Pandora.Paradigm.Controlflow.Effect.Adaptable.Adaptable x (t Pandora.Paradigm.Controlflow.Effect.Transformer.Monadic.:> (u Pandora.Paradigm.Controlflow.Effect.Transformer.Monadic.:> (v Pandora.Paradigm.Controlflow.Effect.Transformer.Monadic.:> (w Pandora.Paradigm.Controlflow.Effect.Transformer.Monadic.:> x))))
- Pandora.Paradigm.Controlflow.Effect.Adaptable: instance (Pandora.Paradigm.Controlflow.Effect.Adaptable.Lifting t (Pandora.Paradigm.Controlflow.Effect.Interpreted.Schematic Pandora.Pattern.Functor.Monad.Monad u (v Pandora.Paradigm.Controlflow.Effect.Transformer.Monadic.:> (w Pandora.Paradigm.Controlflow.Effect.Transformer.Monadic.:> x))), Pandora.Paradigm.Controlflow.Effect.Adaptable.Lifting u (Pandora.Paradigm.Controlflow.Effect.Interpreted.Schematic Pandora.Pattern.Functor.Monad.Monad v (w Pandora.Paradigm.Controlflow.Effect.Transformer.Monadic.:> x)), Pandora.Paradigm.Controlflow.Effect.Adaptable.Lifting v (Pandora.Paradigm.Controlflow.Effect.Interpreted.Schematic Pandora.Pattern.Functor.Monad.Monad w x), Pandora.Paradigm.Controlflow.Effect.Adaptable.Wrappable w x) => Pandora.Paradigm.Controlflow.Effect.Adaptable.Adaptable w (t Pandora.Paradigm.Controlflow.Effect.Transformer.Monadic.:> (u Pandora.Paradigm.Controlflow.Effect.Transformer.Monadic.:> (v Pandora.Paradigm.Controlflow.Effect.Transformer.Monadic.:> (w Pandora.Paradigm.Controlflow.Effect.Transformer.Monadic.:> x))))
- Pandora.Paradigm.Controlflow.Effect.Adaptable: instance (Pandora.Paradigm.Controlflow.Effect.Adaptable.Lifting t (Pandora.Paradigm.Controlflow.Effect.Interpreted.Schematic Pandora.Pattern.Functor.Monad.Monad u v), Pandora.Paradigm.Controlflow.Effect.Adaptable.Lifting t (Pandora.Paradigm.Controlflow.Effect.Interpreted.Schematic Pandora.Pattern.Functor.Monad.Monad u (v Pandora.Paradigm.Controlflow.Effect.Transformer.Monadic.:> w)), Pandora.Paradigm.Controlflow.Effect.Adaptable.Lifting u (Pandora.Paradigm.Controlflow.Effect.Interpreted.Schematic Pandora.Pattern.Functor.Monad.Monad v w), Pandora.Paradigm.Controlflow.Effect.Adaptable.Lifting v w) => Pandora.Paradigm.Controlflow.Effect.Adaptable.Adaptable w (t Pandora.Paradigm.Controlflow.Effect.Transformer.Monadic.:> (u Pandora.Paradigm.Controlflow.Effect.Transformer.Monadic.:> (v Pandora.Paradigm.Controlflow.Effect.Transformer.Monadic.:> w)))
- Pandora.Paradigm.Controlflow.Effect.Adaptable: instance (Pandora.Paradigm.Controlflow.Effect.Adaptable.Lifting t (Pandora.Paradigm.Controlflow.Effect.Interpreted.Schematic Pandora.Pattern.Functor.Monad.Monad u v), Pandora.Paradigm.Controlflow.Effect.Adaptable.Lifting u v) => Pandora.Paradigm.Controlflow.Effect.Adaptable.Adaptable v (t Pandora.Paradigm.Controlflow.Effect.Transformer.Monadic.:> (u Pandora.Paradigm.Controlflow.Effect.Transformer.Monadic.:> v))
- Pandora.Paradigm.Controlflow.Effect.Adaptable: instance (Pandora.Paradigm.Controlflow.Effect.Adaptable.Lowering t (Pandora.Paradigm.Controlflow.Effect.Interpreted.Schematic Pandora.Pattern.Functor.Comonad.Comonad u (v Pandora.Paradigm.Controlflow.Effect.Transformer.Comonadic.:< (w Pandora.Paradigm.Controlflow.Effect.Transformer.Comonadic.:< (x Pandora.Paradigm.Controlflow.Effect.Transformer.Comonadic.:< (y Pandora.Paradigm.Controlflow.Effect.Transformer.Comonadic.:< (z Pandora.Paradigm.Controlflow.Effect.Transformer.Comonadic.:< (f Pandora.Paradigm.Controlflow.Effect.Transformer.Comonadic.:< h))))))), Pandora.Paradigm.Controlflow.Effect.Adaptable.Lowering u (Pandora.Paradigm.Controlflow.Effect.Interpreted.Schematic Pandora.Pattern.Functor.Comonad.Comonad v (w Pandora.Paradigm.Controlflow.Effect.Transformer.Comonadic.:< (x Pandora.Paradigm.Controlflow.Effect.Transformer.Comonadic.:< (y Pandora.Paradigm.Controlflow.Effect.Transformer.Comonadic.:< (z Pandora.Paradigm.Controlflow.Effect.Transformer.Comonadic.:< (f Pandora.Paradigm.Controlflow.Effect.Transformer.Comonadic.:< h)))))), Pandora.Paradigm.Controlflow.Effect.Adaptable.Lowering v (Pandora.Paradigm.Controlflow.Effect.Interpreted.Schematic Pandora.Pattern.Functor.Comonad.Comonad w (x Pandora.Paradigm.Controlflow.Effect.Transformer.Comonadic.:< (y Pandora.Paradigm.Controlflow.Effect.Transformer.Comonadic.:< (z Pandora.Paradigm.Controlflow.Effect.Transformer.Comonadic.:< (f Pandora.Paradigm.Controlflow.Effect.Transformer.Comonadic.:< h))))), Pandora.Paradigm.Controlflow.Effect.Adaptable.Lowering w (Pandora.Paradigm.Controlflow.Effect.Interpreted.Schematic Pandora.Pattern.Functor.Comonad.Comonad x (y Pandora.Paradigm.Controlflow.Effect.Transformer.Comonadic.:< (z Pandora.Paradigm.Controlflow.Effect.Transformer.Comonadic.:< (f Pandora.Paradigm.Controlflow.Effect.Transformer.Comonadic.:< h)))), Pandora.Paradigm.Controlflow.Effect.Adaptable.Lowering x (Pandora.Paradigm.Controlflow.Effect.Interpreted.Schematic Pandora.Pattern.Functor.Comonad.Comonad y (z Pandora.Paradigm.Controlflow.Effect.Transformer.Comonadic.:< (f Pandora.Paradigm.Controlflow.Effect.Transformer.Comonadic.:< h))), Pandora.Paradigm.Controlflow.Effect.Adaptable.Lowering y (Pandora.Paradigm.Controlflow.Effect.Interpreted.Schematic Pandora.Pattern.Functor.Comonad.Comonad z (f Pandora.Paradigm.Controlflow.Effect.Transformer.Comonadic.:< h)), Pandora.Paradigm.Controlflow.Effect.Adaptable.Lowering z (Pandora.Paradigm.Controlflow.Effect.Interpreted.Schematic Pandora.Pattern.Functor.Comonad.Comonad f h), Pandora.Paradigm.Controlflow.Effect.Adaptable.Bringable f h) => Pandora.Paradigm.Controlflow.Effect.Adaptable.Adaptable (t Pandora.Paradigm.Controlflow.Effect.Transformer.Comonadic.:< (u Pandora.Paradigm.Controlflow.Effect.Transformer.Comonadic.:< (v Pandora.Paradigm.Controlflow.Effect.Transformer.Comonadic.:< (w Pandora.Paradigm.Controlflow.Effect.Transformer.Comonadic.:< (x Pandora.Paradigm.Controlflow.Effect.Transformer.Comonadic.:< (y Pandora.Paradigm.Controlflow.Effect.Transformer.Comonadic.:< (z Pandora.Paradigm.Controlflow.Effect.Transformer.Comonadic.:< (f Pandora.Paradigm.Controlflow.Effect.Transformer.Comonadic.:< h)))))))) f
- Pandora.Paradigm.Controlflow.Effect.Adaptable: instance (Pandora.Paradigm.Controlflow.Effect.Adaptable.Lowering t (Pandora.Paradigm.Controlflow.Effect.Interpreted.Schematic Pandora.Pattern.Functor.Comonad.Comonad u (v Pandora.Paradigm.Controlflow.Effect.Transformer.Comonadic.:< (w Pandora.Paradigm.Controlflow.Effect.Transformer.Comonadic.:< (x Pandora.Paradigm.Controlflow.Effect.Transformer.Comonadic.:< (y Pandora.Paradigm.Controlflow.Effect.Transformer.Comonadic.:< (z Pandora.Paradigm.Controlflow.Effect.Transformer.Comonadic.:< (f Pandora.Paradigm.Controlflow.Effect.Transformer.Comonadic.:< h))))))), Pandora.Paradigm.Controlflow.Effect.Adaptable.Lowering u (Pandora.Paradigm.Controlflow.Effect.Interpreted.Schematic Pandora.Pattern.Functor.Comonad.Comonad v (w Pandora.Paradigm.Controlflow.Effect.Transformer.Comonadic.:< (x Pandora.Paradigm.Controlflow.Effect.Transformer.Comonadic.:< (y Pandora.Paradigm.Controlflow.Effect.Transformer.Comonadic.:< (z Pandora.Paradigm.Controlflow.Effect.Transformer.Comonadic.:< (f Pandora.Paradigm.Controlflow.Effect.Transformer.Comonadic.:< h)))))), Pandora.Paradigm.Controlflow.Effect.Adaptable.Lowering v (Pandora.Paradigm.Controlflow.Effect.Interpreted.Schematic Pandora.Pattern.Functor.Comonad.Comonad w (x Pandora.Paradigm.Controlflow.Effect.Transformer.Comonadic.:< (y Pandora.Paradigm.Controlflow.Effect.Transformer.Comonadic.:< (z Pandora.Paradigm.Controlflow.Effect.Transformer.Comonadic.:< (f Pandora.Paradigm.Controlflow.Effect.Transformer.Comonadic.:< h))))), Pandora.Paradigm.Controlflow.Effect.Adaptable.Lowering w (Pandora.Paradigm.Controlflow.Effect.Interpreted.Schematic Pandora.Pattern.Functor.Comonad.Comonad x (y Pandora.Paradigm.Controlflow.Effect.Transformer.Comonadic.:< (z Pandora.Paradigm.Controlflow.Effect.Transformer.Comonadic.:< (f Pandora.Paradigm.Controlflow.Effect.Transformer.Comonadic.:< h)))), Pandora.Paradigm.Controlflow.Effect.Adaptable.Lowering x (Pandora.Paradigm.Controlflow.Effect.Interpreted.Schematic Pandora.Pattern.Functor.Comonad.Comonad y (z Pandora.Paradigm.Controlflow.Effect.Transformer.Comonadic.:< (f Pandora.Paradigm.Controlflow.Effect.Transformer.Comonadic.:< h))), Pandora.Paradigm.Controlflow.Effect.Adaptable.Lowering y (Pandora.Paradigm.Controlflow.Effect.Interpreted.Schematic Pandora.Pattern.Functor.Comonad.Comonad z (f Pandora.Paradigm.Controlflow.Effect.Transformer.Comonadic.:< h)), Pandora.Paradigm.Controlflow.Effect.Adaptable.Lowering z (Pandora.Paradigm.Controlflow.Effect.Interpreted.Schematic Pandora.Pattern.Functor.Comonad.Comonad f h), Pandora.Paradigm.Controlflow.Effect.Adaptable.Lowering f h) => Pandora.Paradigm.Controlflow.Effect.Adaptable.Adaptable (t Pandora.Paradigm.Controlflow.Effect.Transformer.Comonadic.:< (u Pandora.Paradigm.Controlflow.Effect.Transformer.Comonadic.:< (v Pandora.Paradigm.Controlflow.Effect.Transformer.Comonadic.:< (w Pandora.Paradigm.Controlflow.Effect.Transformer.Comonadic.:< (x Pandora.Paradigm.Controlflow.Effect.Transformer.Comonadic.:< (y Pandora.Paradigm.Controlflow.Effect.Transformer.Comonadic.:< (z Pandora.Paradigm.Controlflow.Effect.Transformer.Comonadic.:< (f Pandora.Paradigm.Controlflow.Effect.Transformer.Comonadic.:< h)))))))) h
- Pandora.Paradigm.Controlflow.Effect.Adaptable: instance (Pandora.Paradigm.Controlflow.Effect.Adaptable.Lowering t (Pandora.Paradigm.Controlflow.Effect.Interpreted.Schematic Pandora.Pattern.Functor.Comonad.Comonad u (v Pandora.Paradigm.Controlflow.Effect.Transformer.Comonadic.:< (w Pandora.Paradigm.Controlflow.Effect.Transformer.Comonadic.:< (x Pandora.Paradigm.Controlflow.Effect.Transformer.Comonadic.:< (y Pandora.Paradigm.Controlflow.Effect.Transformer.Comonadic.:< (z Pandora.Paradigm.Controlflow.Effect.Transformer.Comonadic.:< f)))))), Pandora.Paradigm.Controlflow.Effect.Adaptable.Lowering u (Pandora.Paradigm.Controlflow.Effect.Interpreted.Schematic Pandora.Pattern.Functor.Comonad.Comonad v (w Pandora.Paradigm.Controlflow.Effect.Transformer.Comonadic.:< (x Pandora.Paradigm.Controlflow.Effect.Transformer.Comonadic.:< (y Pandora.Paradigm.Controlflow.Effect.Transformer.Comonadic.:< (z Pandora.Paradigm.Controlflow.Effect.Transformer.Comonadic.:< f))))), Pandora.Paradigm.Controlflow.Effect.Adaptable.Lowering v (Pandora.Paradigm.Controlflow.Effect.Interpreted.Schematic Pandora.Pattern.Functor.Comonad.Comonad w (x Pandora.Paradigm.Controlflow.Effect.Transformer.Comonadic.:< (y Pandora.Paradigm.Controlflow.Effect.Transformer.Comonadic.:< (z Pandora.Paradigm.Controlflow.Effect.Transformer.Comonadic.:< f)))), Pandora.Paradigm.Controlflow.Effect.Adaptable.Lowering w (Pandora.Paradigm.Controlflow.Effect.Interpreted.Schematic Pandora.Pattern.Functor.Comonad.Comonad x (y Pandora.Paradigm.Controlflow.Effect.Transformer.Comonadic.:< (z Pandora.Paradigm.Controlflow.Effect.Transformer.Comonadic.:< f))), Pandora.Paradigm.Controlflow.Effect.Adaptable.Lowering x (Pandora.Paradigm.Controlflow.Effect.Interpreted.Schematic Pandora.Pattern.Functor.Comonad.Comonad y (z Pandora.Paradigm.Controlflow.Effect.Transformer.Comonadic.:< f)), Pandora.Paradigm.Controlflow.Effect.Adaptable.Lowering y (Pandora.Paradigm.Controlflow.Effect.Interpreted.Schematic Pandora.Pattern.Functor.Comonad.Comonad z f), Pandora.Paradigm.Controlflow.Effect.Adaptable.Bringable z f) => Pandora.Paradigm.Controlflow.Effect.Adaptable.Adaptable (t Pandora.Paradigm.Controlflow.Effect.Transformer.Comonadic.:< (u Pandora.Paradigm.Controlflow.Effect.Transformer.Comonadic.:< (v Pandora.Paradigm.Controlflow.Effect.Transformer.Comonadic.:< (w Pandora.Paradigm.Controlflow.Effect.Transformer.Comonadic.:< (x Pandora.Paradigm.Controlflow.Effect.Transformer.Comonadic.:< (y Pandora.Paradigm.Controlflow.Effect.Transformer.Comonadic.:< (z Pandora.Paradigm.Controlflow.Effect.Transformer.Comonadic.:< f))))))) z
- Pandora.Paradigm.Controlflow.Effect.Adaptable: instance (Pandora.Paradigm.Controlflow.Effect.Adaptable.Lowering t (Pandora.Paradigm.Controlflow.Effect.Interpreted.Schematic Pandora.Pattern.Functor.Comonad.Comonad u (v Pandora.Paradigm.Controlflow.Effect.Transformer.Comonadic.:< (w Pandora.Paradigm.Controlflow.Effect.Transformer.Comonadic.:< (x Pandora.Paradigm.Controlflow.Effect.Transformer.Comonadic.:< (y Pandora.Paradigm.Controlflow.Effect.Transformer.Comonadic.:< (z Pandora.Paradigm.Controlflow.Effect.Transformer.Comonadic.:< f)))))), Pandora.Paradigm.Controlflow.Effect.Adaptable.Lowering u (Pandora.Paradigm.Controlflow.Effect.Interpreted.Schematic Pandora.Pattern.Functor.Comonad.Comonad v (w Pandora.Paradigm.Controlflow.Effect.Transformer.Comonadic.:< (x Pandora.Paradigm.Controlflow.Effect.Transformer.Comonadic.:< (y Pandora.Paradigm.Controlflow.Effect.Transformer.Comonadic.:< (z Pandora.Paradigm.Controlflow.Effect.Transformer.Comonadic.:< f))))), Pandora.Paradigm.Controlflow.Effect.Adaptable.Lowering v (Pandora.Paradigm.Controlflow.Effect.Interpreted.Schematic Pandora.Pattern.Functor.Comonad.Comonad w (x Pandora.Paradigm.Controlflow.Effect.Transformer.Comonadic.:< (y Pandora.Paradigm.Controlflow.Effect.Transformer.Comonadic.:< (z Pandora.Paradigm.Controlflow.Effect.Transformer.Comonadic.:< f)))), Pandora.Paradigm.Controlflow.Effect.Adaptable.Lowering w (Pandora.Paradigm.Controlflow.Effect.Interpreted.Schematic Pandora.Pattern.Functor.Comonad.Comonad x (y Pandora.Paradigm.Controlflow.Effect.Transformer.Comonadic.:< (z Pandora.Paradigm.Controlflow.Effect.Transformer.Comonadic.:< f))), Pandora.Paradigm.Controlflow.Effect.Adaptable.Lowering x (Pandora.Paradigm.Controlflow.Effect.Interpreted.Schematic Pandora.Pattern.Functor.Comonad.Comonad y (z Pandora.Paradigm.Controlflow.Effect.Transformer.Comonadic.:< f)), Pandora.Paradigm.Controlflow.Effect.Adaptable.Lowering y (Pandora.Paradigm.Controlflow.Effect.Interpreted.Schematic Pandora.Pattern.Functor.Comonad.Comonad z f), Pandora.Paradigm.Controlflow.Effect.Adaptable.Lowering z f) => Pandora.Paradigm.Controlflow.Effect.Adaptable.Adaptable (t Pandora.Paradigm.Controlflow.Effect.Transformer.Comonadic.:< (u Pandora.Paradigm.Controlflow.Effect.Transformer.Comonadic.:< (v Pandora.Paradigm.Controlflow.Effect.Transformer.Comonadic.:< (w Pandora.Paradigm.Controlflow.Effect.Transformer.Comonadic.:< (x Pandora.Paradigm.Controlflow.Effect.Transformer.Comonadic.:< (y Pandora.Paradigm.Controlflow.Effect.Transformer.Comonadic.:< (z Pandora.Paradigm.Controlflow.Effect.Transformer.Comonadic.:< f))))))) f
- Pandora.Paradigm.Controlflow.Effect.Adaptable: instance (Pandora.Paradigm.Controlflow.Effect.Adaptable.Lowering t (Pandora.Paradigm.Controlflow.Effect.Interpreted.Schematic Pandora.Pattern.Functor.Comonad.Comonad u (v Pandora.Paradigm.Controlflow.Effect.Transformer.Comonadic.:< (w Pandora.Paradigm.Controlflow.Effect.Transformer.Comonadic.:< (x Pandora.Paradigm.Controlflow.Effect.Transformer.Comonadic.:< (y Pandora.Paradigm.Controlflow.Effect.Transformer.Comonadic.:< z))))), Pandora.Paradigm.Controlflow.Effect.Adaptable.Lowering u (Pandora.Paradigm.Controlflow.Effect.Interpreted.Schematic Pandora.Pattern.Functor.Comonad.Comonad v (w Pandora.Paradigm.Controlflow.Effect.Transformer.Comonadic.:< (x Pandora.Paradigm.Controlflow.Effect.Transformer.Comonadic.:< (y Pandora.Paradigm.Controlflow.Effect.Transformer.Comonadic.:< z)))), Pandora.Paradigm.Controlflow.Effect.Adaptable.Lowering v (Pandora.Paradigm.Controlflow.Effect.Interpreted.Schematic Pandora.Pattern.Functor.Comonad.Comonad w (x Pandora.Paradigm.Controlflow.Effect.Transformer.Comonadic.:< (y Pandora.Paradigm.Controlflow.Effect.Transformer.Comonadic.:< z))), Pandora.Paradigm.Controlflow.Effect.Adaptable.Lowering w (Pandora.Paradigm.Controlflow.Effect.Interpreted.Schematic Pandora.Pattern.Functor.Comonad.Comonad x (y Pandora.Paradigm.Controlflow.Effect.Transformer.Comonadic.:< z)), Pandora.Paradigm.Controlflow.Effect.Adaptable.Lowering x (Pandora.Paradigm.Controlflow.Effect.Interpreted.Schematic Pandora.Pattern.Functor.Comonad.Comonad y z), Pandora.Paradigm.Controlflow.Effect.Adaptable.Bringable y z) => Pandora.Paradigm.Controlflow.Effect.Adaptable.Adaptable (t Pandora.Paradigm.Controlflow.Effect.Transformer.Comonadic.:< (u Pandora.Paradigm.Controlflow.Effect.Transformer.Comonadic.:< (v Pandora.Paradigm.Controlflow.Effect.Transformer.Comonadic.:< (w Pandora.Paradigm.Controlflow.Effect.Transformer.Comonadic.:< (x Pandora.Paradigm.Controlflow.Effect.Transformer.Comonadic.:< (y Pandora.Paradigm.Controlflow.Effect.Transformer.Comonadic.:< z)))))) y
- Pandora.Paradigm.Controlflow.Effect.Adaptable: instance (Pandora.Paradigm.Controlflow.Effect.Adaptable.Lowering t (Pandora.Paradigm.Controlflow.Effect.Interpreted.Schematic Pandora.Pattern.Functor.Comonad.Comonad u (v Pandora.Paradigm.Controlflow.Effect.Transformer.Comonadic.:< (w Pandora.Paradigm.Controlflow.Effect.Transformer.Comonadic.:< (x Pandora.Paradigm.Controlflow.Effect.Transformer.Comonadic.:< (y Pandora.Paradigm.Controlflow.Effect.Transformer.Comonadic.:< z))))), Pandora.Paradigm.Controlflow.Effect.Adaptable.Lowering u (Pandora.Paradigm.Controlflow.Effect.Interpreted.Schematic Pandora.Pattern.Functor.Comonad.Comonad v (w Pandora.Paradigm.Controlflow.Effect.Transformer.Comonadic.:< (x Pandora.Paradigm.Controlflow.Effect.Transformer.Comonadic.:< (y Pandora.Paradigm.Controlflow.Effect.Transformer.Comonadic.:< z)))), Pandora.Paradigm.Controlflow.Effect.Adaptable.Lowering v (Pandora.Paradigm.Controlflow.Effect.Interpreted.Schematic Pandora.Pattern.Functor.Comonad.Comonad w (x Pandora.Paradigm.Controlflow.Effect.Transformer.Comonadic.:< (y Pandora.Paradigm.Controlflow.Effect.Transformer.Comonadic.:< z))), Pandora.Paradigm.Controlflow.Effect.Adaptable.Lowering w (Pandora.Paradigm.Controlflow.Effect.Interpreted.Schematic Pandora.Pattern.Functor.Comonad.Comonad x (y Pandora.Paradigm.Controlflow.Effect.Transformer.Comonadic.:< z)), Pandora.Paradigm.Controlflow.Effect.Adaptable.Lowering x (Pandora.Paradigm.Controlflow.Effect.Interpreted.Schematic Pandora.Pattern.Functor.Comonad.Comonad y z), Pandora.Paradigm.Controlflow.Effect.Adaptable.Lowering y z) => Pandora.Paradigm.Controlflow.Effect.Adaptable.Adaptable (t Pandora.Paradigm.Controlflow.Effect.Transformer.Comonadic.:< (u Pandora.Paradigm.Controlflow.Effect.Transformer.Comonadic.:< (v Pandora.Paradigm.Controlflow.Effect.Transformer.Comonadic.:< (w Pandora.Paradigm.Controlflow.Effect.Transformer.Comonadic.:< (x Pandora.Paradigm.Controlflow.Effect.Transformer.Comonadic.:< (y Pandora.Paradigm.Controlflow.Effect.Transformer.Comonadic.:< z)))))) z
- Pandora.Paradigm.Controlflow.Effect.Adaptable: instance (Pandora.Paradigm.Controlflow.Effect.Adaptable.Lowering t (Pandora.Paradigm.Controlflow.Effect.Interpreted.Schematic Pandora.Pattern.Functor.Comonad.Comonad u (v Pandora.Paradigm.Controlflow.Effect.Transformer.Comonadic.:< (w Pandora.Paradigm.Controlflow.Effect.Transformer.Comonadic.:< (x Pandora.Paradigm.Controlflow.Effect.Transformer.Comonadic.:< y)))), Pandora.Paradigm.Controlflow.Effect.Adaptable.Lowering u (Pandora.Paradigm.Controlflow.Effect.Interpreted.Schematic Pandora.Pattern.Functor.Comonad.Comonad v (w Pandora.Paradigm.Controlflow.Effect.Transformer.Comonadic.:< (x Pandora.Paradigm.Controlflow.Effect.Transformer.Comonadic.:< y))), Pandora.Paradigm.Controlflow.Effect.Adaptable.Lowering v (Pandora.Paradigm.Controlflow.Effect.Interpreted.Schematic Pandora.Pattern.Functor.Comonad.Comonad w (x Pandora.Paradigm.Controlflow.Effect.Transformer.Comonadic.:< y)), Pandora.Paradigm.Controlflow.Effect.Adaptable.Lowering w (Pandora.Paradigm.Controlflow.Effect.Interpreted.Schematic Pandora.Pattern.Functor.Comonad.Comonad x y), Pandora.Paradigm.Controlflow.Effect.Adaptable.Bringable x y) => Pandora.Paradigm.Controlflow.Effect.Adaptable.Adaptable (t Pandora.Paradigm.Controlflow.Effect.Transformer.Comonadic.:< (u Pandora.Paradigm.Controlflow.Effect.Transformer.Comonadic.:< (v Pandora.Paradigm.Controlflow.Effect.Transformer.Comonadic.:< (w Pandora.Paradigm.Controlflow.Effect.Transformer.Comonadic.:< (x Pandora.Paradigm.Controlflow.Effect.Transformer.Comonadic.:< y))))) x
- Pandora.Paradigm.Controlflow.Effect.Adaptable: instance (Pandora.Paradigm.Controlflow.Effect.Adaptable.Lowering t (Pandora.Paradigm.Controlflow.Effect.Interpreted.Schematic Pandora.Pattern.Functor.Comonad.Comonad u (v Pandora.Paradigm.Controlflow.Effect.Transformer.Comonadic.:< (w Pandora.Paradigm.Controlflow.Effect.Transformer.Comonadic.:< (x Pandora.Paradigm.Controlflow.Effect.Transformer.Comonadic.:< y)))), Pandora.Paradigm.Controlflow.Effect.Adaptable.Lowering u (Pandora.Paradigm.Controlflow.Effect.Interpreted.Schematic Pandora.Pattern.Functor.Comonad.Comonad v (w Pandora.Paradigm.Controlflow.Effect.Transformer.Comonadic.:< (x Pandora.Paradigm.Controlflow.Effect.Transformer.Comonadic.:< y))), Pandora.Paradigm.Controlflow.Effect.Adaptable.Lowering v (Pandora.Paradigm.Controlflow.Effect.Interpreted.Schematic Pandora.Pattern.Functor.Comonad.Comonad w (x Pandora.Paradigm.Controlflow.Effect.Transformer.Comonadic.:< y)), Pandora.Paradigm.Controlflow.Effect.Adaptable.Lowering w (Pandora.Paradigm.Controlflow.Effect.Interpreted.Schematic Pandora.Pattern.Functor.Comonad.Comonad x y), Pandora.Paradigm.Controlflow.Effect.Adaptable.Lowering x y) => Pandora.Paradigm.Controlflow.Effect.Adaptable.Adaptable (t Pandora.Paradigm.Controlflow.Effect.Transformer.Comonadic.:< (u Pandora.Paradigm.Controlflow.Effect.Transformer.Comonadic.:< (v Pandora.Paradigm.Controlflow.Effect.Transformer.Comonadic.:< (w Pandora.Paradigm.Controlflow.Effect.Transformer.Comonadic.:< (x Pandora.Paradigm.Controlflow.Effect.Transformer.Comonadic.:< y))))) y
- Pandora.Paradigm.Controlflow.Effect.Adaptable: instance (Pandora.Paradigm.Controlflow.Effect.Adaptable.Lowering t (Pandora.Paradigm.Controlflow.Effect.Interpreted.Schematic Pandora.Pattern.Functor.Comonad.Comonad u (v Pandora.Paradigm.Controlflow.Effect.Transformer.Comonadic.:< (w Pandora.Paradigm.Controlflow.Effect.Transformer.Comonadic.:< x))), Pandora.Paradigm.Controlflow.Effect.Adaptable.Lowering u (Pandora.Paradigm.Controlflow.Effect.Interpreted.Schematic Pandora.Pattern.Functor.Comonad.Comonad v (w Pandora.Paradigm.Controlflow.Effect.Transformer.Comonadic.:< x)), Pandora.Paradigm.Controlflow.Effect.Adaptable.Lowering v (Pandora.Paradigm.Controlflow.Effect.Interpreted.Schematic Pandora.Pattern.Functor.Comonad.Comonad w x), Pandora.Paradigm.Controlflow.Effect.Adaptable.Bringable w x) => Pandora.Paradigm.Controlflow.Effect.Adaptable.Adaptable (t Pandora.Paradigm.Controlflow.Effect.Transformer.Comonadic.:< (u Pandora.Paradigm.Controlflow.Effect.Transformer.Comonadic.:< (v Pandora.Paradigm.Controlflow.Effect.Transformer.Comonadic.:< (w Pandora.Paradigm.Controlflow.Effect.Transformer.Comonadic.:< x)))) w
- Pandora.Paradigm.Controlflow.Effect.Adaptable: instance (Pandora.Paradigm.Controlflow.Effect.Adaptable.Lowering t (Pandora.Paradigm.Controlflow.Effect.Interpreted.Schematic Pandora.Pattern.Functor.Comonad.Comonad u (v Pandora.Paradigm.Controlflow.Effect.Transformer.Comonadic.:< (w Pandora.Paradigm.Controlflow.Effect.Transformer.Comonadic.:< x))), Pandora.Paradigm.Controlflow.Effect.Adaptable.Lowering u (Pandora.Paradigm.Controlflow.Effect.Interpreted.Schematic Pandora.Pattern.Functor.Comonad.Comonad v (w Pandora.Paradigm.Controlflow.Effect.Transformer.Comonadic.:< x)), Pandora.Paradigm.Controlflow.Effect.Adaptable.Lowering v (Pandora.Paradigm.Controlflow.Effect.Interpreted.Schematic Pandora.Pattern.Functor.Comonad.Comonad w x), Pandora.Paradigm.Controlflow.Effect.Adaptable.Lowering w x) => Pandora.Paradigm.Controlflow.Effect.Adaptable.Adaptable (t Pandora.Paradigm.Controlflow.Effect.Transformer.Comonadic.:< (u Pandora.Paradigm.Controlflow.Effect.Transformer.Comonadic.:< (v Pandora.Paradigm.Controlflow.Effect.Transformer.Comonadic.:< (w Pandora.Paradigm.Controlflow.Effect.Transformer.Comonadic.:< x)))) x
- Pandora.Paradigm.Controlflow.Effect.Adaptable: instance (Pandora.Paradigm.Controlflow.Effect.Adaptable.Lowering t (Pandora.Paradigm.Controlflow.Effect.Interpreted.Schematic Pandora.Pattern.Functor.Comonad.Comonad u (v Pandora.Paradigm.Controlflow.Effect.Transformer.Comonadic.:< w)), Pandora.Paradigm.Controlflow.Effect.Adaptable.Lowering u (Pandora.Paradigm.Controlflow.Effect.Interpreted.Schematic Pandora.Pattern.Functor.Comonad.Comonad v w), Pandora.Paradigm.Controlflow.Effect.Adaptable.Bringable v w) => Pandora.Paradigm.Controlflow.Effect.Adaptable.Adaptable (t Pandora.Paradigm.Controlflow.Effect.Transformer.Comonadic.:< (u Pandora.Paradigm.Controlflow.Effect.Transformer.Comonadic.:< (v Pandora.Paradigm.Controlflow.Effect.Transformer.Comonadic.:< w))) v
- Pandora.Paradigm.Controlflow.Effect.Adaptable: instance (Pandora.Paradigm.Controlflow.Effect.Adaptable.Lowering t (Pandora.Paradigm.Controlflow.Effect.Interpreted.Schematic Pandora.Pattern.Functor.Comonad.Comonad u v), Pandora.Paradigm.Controlflow.Effect.Adaptable.Bringable u v) => Pandora.Paradigm.Controlflow.Effect.Adaptable.Adaptable (t Pandora.Paradigm.Controlflow.Effect.Transformer.Comonadic.:< (u Pandora.Paradigm.Controlflow.Effect.Transformer.Comonadic.:< v)) u
- Pandora.Paradigm.Controlflow.Effect.Adaptable: instance (Pandora.Paradigm.Controlflow.Effect.Adaptable.Lowering t (Pandora.Paradigm.Controlflow.Effect.Interpreted.Schematic Pandora.Pattern.Functor.Comonad.Comonad u v), Pandora.Paradigm.Controlflow.Effect.Adaptable.Lowering t (Pandora.Paradigm.Controlflow.Effect.Interpreted.Schematic Pandora.Pattern.Functor.Comonad.Comonad u (v Pandora.Paradigm.Controlflow.Effect.Transformer.Comonadic.:< w)), Pandora.Paradigm.Controlflow.Effect.Adaptable.Lowering u (Pandora.Paradigm.Controlflow.Effect.Interpreted.Schematic Pandora.Pattern.Functor.Comonad.Comonad v w), Pandora.Paradigm.Controlflow.Effect.Adaptable.Lowering v w) => Pandora.Paradigm.Controlflow.Effect.Adaptable.Adaptable (t Pandora.Paradigm.Controlflow.Effect.Transformer.Comonadic.:< (u Pandora.Paradigm.Controlflow.Effect.Transformer.Comonadic.:< (v Pandora.Paradigm.Controlflow.Effect.Transformer.Comonadic.:< w))) w
- Pandora.Paradigm.Controlflow.Effect.Adaptable: instance (Pandora.Paradigm.Controlflow.Effect.Adaptable.Lowering t (Pandora.Paradigm.Controlflow.Effect.Interpreted.Schematic Pandora.Pattern.Functor.Comonad.Comonad u v), Pandora.Paradigm.Controlflow.Effect.Adaptable.Lowering u v) => Pandora.Paradigm.Controlflow.Effect.Adaptable.Adaptable (t Pandora.Paradigm.Controlflow.Effect.Transformer.Comonadic.:< (u Pandora.Paradigm.Controlflow.Effect.Transformer.Comonadic.:< v)) v
- Pandora.Paradigm.Controlflow.Effect.Adaptable: instance (Pandora.Pattern.Functor.Covariant.Covariant (->) (->) f, Pandora.Pattern.Functor.Covariant.Covariant (->) (->) (Pandora.Paradigm.Controlflow.Effect.Interpreted.Schematic Pandora.Pattern.Functor.Monad.Monad u (v Pandora.Paradigm.Controlflow.Effect.Transformer.Monadic.:> (w Pandora.Paradigm.Controlflow.Effect.Transformer.Monadic.:> (x Pandora.Paradigm.Controlflow.Effect.Transformer.Monadic.:> (y Pandora.Paradigm.Controlflow.Effect.Transformer.Monadic.:> (z Pandora.Paradigm.Controlflow.Effect.Transformer.Monadic.:> f)))))), Pandora.Pattern.Functor.Covariant.Covariant (->) (->) (Pandora.Paradigm.Controlflow.Effect.Interpreted.Schematic Pandora.Pattern.Functor.Monad.Monad v (w Pandora.Paradigm.Controlflow.Effect.Transformer.Monadic.:> (x Pandora.Paradigm.Controlflow.Effect.Transformer.Monadic.:> (y Pandora.Paradigm.Controlflow.Effect.Transformer.Monadic.:> (z Pandora.Paradigm.Controlflow.Effect.Transformer.Monadic.:> f))))), Pandora.Pattern.Functor.Covariant.Covariant (->) (->) (Pandora.Paradigm.Controlflow.Effect.Interpreted.Schematic Pandora.Pattern.Functor.Monad.Monad w (x Pandora.Paradigm.Controlflow.Effect.Transformer.Monadic.:> (y Pandora.Paradigm.Controlflow.Effect.Transformer.Monadic.:> (z Pandora.Paradigm.Controlflow.Effect.Transformer.Monadic.:> f)))), Pandora.Pattern.Functor.Covariant.Covariant (->) (->) (Pandora.Paradigm.Controlflow.Effect.Interpreted.Schematic Pandora.Pattern.Functor.Monad.Monad x (y Pandora.Paradigm.Controlflow.Effect.Transformer.Monadic.:> (z Pandora.Paradigm.Controlflow.Effect.Transformer.Monadic.:> f))), Pandora.Pattern.Functor.Covariant.Covariant (->) (->) (Pandora.Paradigm.Controlflow.Effect.Interpreted.Schematic Pandora.Pattern.Functor.Monad.Monad y (z Pandora.Paradigm.Controlflow.Effect.Transformer.Monadic.:> f)), Pandora.Pattern.Functor.Covariant.Covariant (->) (->) (Pandora.Paradigm.Controlflow.Effect.Interpreted.Schematic Pandora.Pattern.Functor.Monad.Monad z f), Pandora.Pattern.Transformer.Hoistable.Hoistable ((Pandora.Paradigm.Controlflow.Effect.Transformer.Monadic.:>) (t Pandora.Paradigm.Controlflow.Effect.Transformer.Monadic.:> (u Pandora.Paradigm.Controlflow.Effect.Transformer.Monadic.:> (v Pandora.Paradigm.Controlflow.Effect.Transformer.Monadic.:> w)))), Pandora.Pattern.Transformer.Hoistable.Hoistable (Pandora.Paradigm.Controlflow.Effect.Interpreted.Schematic Pandora.Pattern.Functor.Monad.Monad t), Pandora.Pattern.Transformer.Hoistable.Hoistable (Pandora.Paradigm.Controlflow.Effect.Interpreted.Schematic Pandora.Pattern.Functor.Monad.Monad u), Pandora.Pattern.Transformer.Hoistable.Hoistable (Pandora.Paradigm.Controlflow.Effect.Interpreted.Schematic Pandora.Pattern.Functor.Monad.Monad v), Pandora.Pattern.Transformer.Hoistable.Hoistable (Pandora.Paradigm.Controlflow.Effect.Interpreted.Schematic Pandora.Pattern.Functor.Monad.Monad w), Pandora.Pattern.Transformer.Hoistable.Hoistable (Pandora.Paradigm.Controlflow.Effect.Interpreted.Schematic Pandora.Pattern.Functor.Monad.Monad x), Pandora.Pattern.Transformer.Hoistable.Hoistable (Pandora.Paradigm.Controlflow.Effect.Interpreted.Schematic Pandora.Pattern.Functor.Monad.Monad y), Pandora.Pattern.Transformer.Hoistable.Hoistable (Pandora.Paradigm.Controlflow.Effect.Interpreted.Schematic Pandora.Pattern.Functor.Monad.Monad z), Pandora.Paradigm.Controlflow.Effect.Adaptable.Adaptable f f') => Pandora.Paradigm.Controlflow.Effect.Adaptable.Adaptable (t Pandora.Paradigm.Controlflow.Effect.Transformer.Monadic.:> (u Pandora.Paradigm.Controlflow.Effect.Transformer.Monadic.:> (v Pandora.Paradigm.Controlflow.Effect.Transformer.Monadic.:> (w Pandora.Paradigm.Controlflow.Effect.Transformer.Monadic.:> (x Pandora.Paradigm.Controlflow.Effect.Transformer.Monadic.:> (y Pandora.Paradigm.Controlflow.Effect.Transformer.Monadic.:> (z Pandora.Paradigm.Controlflow.Effect.Transformer.Monadic.:> f))))))) (t Pandora.Paradigm.Controlflow.Effect.Transformer.Monadic.:> (u Pandora.Paradigm.Controlflow.Effect.Transformer.Monadic.:> (v Pandora.Paradigm.Controlflow.Effect.Transformer.Monadic.:> (w Pandora.Paradigm.Controlflow.Effect.Transformer.Monadic.:> (x Pandora.Paradigm.Controlflow.Effect.Transformer.Monadic.:> (y Pandora.Paradigm.Controlflow.Effect.Transformer.Monadic.:> (z Pandora.Paradigm.Controlflow.Effect.Transformer.Monadic.:> f')))))))
- Pandora.Paradigm.Controlflow.Effect.Adaptable: instance (Pandora.Pattern.Functor.Covariant.Covariant (->) (->) h, Pandora.Pattern.Functor.Covariant.Covariant (->) (->) (Pandora.Paradigm.Controlflow.Effect.Interpreted.Schematic Pandora.Pattern.Functor.Monad.Monad u (v Pandora.Paradigm.Controlflow.Effect.Transformer.Monadic.:> (w Pandora.Paradigm.Controlflow.Effect.Transformer.Monadic.:> (x Pandora.Paradigm.Controlflow.Effect.Transformer.Monadic.:> (y Pandora.Paradigm.Controlflow.Effect.Transformer.Monadic.:> (z Pandora.Paradigm.Controlflow.Effect.Transformer.Monadic.:> (f Pandora.Paradigm.Controlflow.Effect.Transformer.Monadic.:> h))))))), Pandora.Pattern.Functor.Covariant.Covariant (->) (->) (Pandora.Paradigm.Controlflow.Effect.Interpreted.Schematic Pandora.Pattern.Functor.Monad.Monad v (w Pandora.Paradigm.Controlflow.Effect.Transformer.Monadic.:> (x Pandora.Paradigm.Controlflow.Effect.Transformer.Monadic.:> (y Pandora.Paradigm.Controlflow.Effect.Transformer.Monadic.:> (z Pandora.Paradigm.Controlflow.Effect.Transformer.Monadic.:> (f Pandora.Paradigm.Controlflow.Effect.Transformer.Monadic.:> h)))))), Pandora.Pattern.Functor.Covariant.Covariant (->) (->) (Pandora.Paradigm.Controlflow.Effect.Interpreted.Schematic Pandora.Pattern.Functor.Monad.Monad w (x Pandora.Paradigm.Controlflow.Effect.Transformer.Monadic.:> (y Pandora.Paradigm.Controlflow.Effect.Transformer.Monadic.:> (z Pandora.Paradigm.Controlflow.Effect.Transformer.Monadic.:> (f Pandora.Paradigm.Controlflow.Effect.Transformer.Monadic.:> h))))), Pandora.Pattern.Functor.Covariant.Covariant (->) (->) (Pandora.Paradigm.Controlflow.Effect.Interpreted.Schematic Pandora.Pattern.Functor.Monad.Monad x (y Pandora.Paradigm.Controlflow.Effect.Transformer.Monadic.:> (z Pandora.Paradigm.Controlflow.Effect.Transformer.Monadic.:> (f Pandora.Paradigm.Controlflow.Effect.Transformer.Monadic.:> h)))), Pandora.Pattern.Functor.Covariant.Covariant (->) (->) (Pandora.Paradigm.Controlflow.Effect.Interpreted.Schematic Pandora.Pattern.Functor.Monad.Monad y (z Pandora.Paradigm.Controlflow.Effect.Transformer.Monadic.:> (f Pandora.Paradigm.Controlflow.Effect.Transformer.Monadic.:> h))), Pandora.Pattern.Functor.Covariant.Covariant (->) (->) (Pandora.Paradigm.Controlflow.Effect.Interpreted.Schematic Pandora.Pattern.Functor.Monad.Monad z (f Pandora.Paradigm.Controlflow.Effect.Transformer.Monadic.:> h)), Pandora.Pattern.Functor.Covariant.Covariant (->) (->) (Pandora.Paradigm.Controlflow.Effect.Interpreted.Schematic Pandora.Pattern.Functor.Monad.Monad f h), Pandora.Pattern.Transformer.Hoistable.Hoistable ((Pandora.Paradigm.Controlflow.Effect.Transformer.Monadic.:>) (t Pandora.Paradigm.Controlflow.Effect.Transformer.Monadic.:> (u Pandora.Paradigm.Controlflow.Effect.Transformer.Monadic.:> (v Pandora.Paradigm.Controlflow.Effect.Transformer.Monadic.:> w)))), Pandora.Pattern.Transformer.Hoistable.Hoistable (Pandora.Paradigm.Controlflow.Effect.Interpreted.Schematic Pandora.Pattern.Functor.Monad.Monad t), Pandora.Pattern.Transformer.Hoistable.Hoistable (Pandora.Paradigm.Controlflow.Effect.Interpreted.Schematic Pandora.Pattern.Functor.Monad.Monad u), Pandora.Pattern.Transformer.Hoistable.Hoistable (Pandora.Paradigm.Controlflow.Effect.Interpreted.Schematic Pandora.Pattern.Functor.Monad.Monad v), Pandora.Pattern.Transformer.Hoistable.Hoistable (Pandora.Paradigm.Controlflow.Effect.Interpreted.Schematic Pandora.Pattern.Functor.Monad.Monad w), Pandora.Pattern.Transformer.Hoistable.Hoistable (Pandora.Paradigm.Controlflow.Effect.Interpreted.Schematic Pandora.Pattern.Functor.Monad.Monad x), Pandora.Pattern.Transformer.Hoistable.Hoistable (Pandora.Paradigm.Controlflow.Effect.Interpreted.Schematic Pandora.Pattern.Functor.Monad.Monad y), Pandora.Pattern.Transformer.Hoistable.Hoistable (Pandora.Paradigm.Controlflow.Effect.Interpreted.Schematic Pandora.Pattern.Functor.Monad.Monad z), Pandora.Pattern.Transformer.Hoistable.Hoistable (Pandora.Paradigm.Controlflow.Effect.Interpreted.Schematic Pandora.Pattern.Functor.Monad.Monad f), Pandora.Paradigm.Controlflow.Effect.Adaptable.Adaptable h h') => Pandora.Paradigm.Controlflow.Effect.Adaptable.Adaptable (t Pandora.Paradigm.Controlflow.Effect.Transformer.Monadic.:> (u Pandora.Paradigm.Controlflow.Effect.Transformer.Monadic.:> (v Pandora.Paradigm.Controlflow.Effect.Transformer.Monadic.:> (w Pandora.Paradigm.Controlflow.Effect.Transformer.Monadic.:> (x Pandora.Paradigm.Controlflow.Effect.Transformer.Monadic.:> (y Pandora.Paradigm.Controlflow.Effect.Transformer.Monadic.:> (z Pandora.Paradigm.Controlflow.Effect.Transformer.Monadic.:> (f Pandora.Paradigm.Controlflow.Effect.Transformer.Monadic.:> h)))))))) (t Pandora.Paradigm.Controlflow.Effect.Transformer.Monadic.:> (u Pandora.Paradigm.Controlflow.Effect.Transformer.Monadic.:> (v Pandora.Paradigm.Controlflow.Effect.Transformer.Monadic.:> (w Pandora.Paradigm.Controlflow.Effect.Transformer.Monadic.:> (x Pandora.Paradigm.Controlflow.Effect.Transformer.Monadic.:> (y Pandora.Paradigm.Controlflow.Effect.Transformer.Monadic.:> (z Pandora.Paradigm.Controlflow.Effect.Transformer.Monadic.:> (f Pandora.Paradigm.Controlflow.Effect.Transformer.Monadic.:> h'))))))))
- Pandora.Paradigm.Controlflow.Effect.Adaptable: instance (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.Controlflow.Effect.Interpreted.Schematic Pandora.Pattern.Functor.Monad.Monad u v), Pandora.Pattern.Functor.Covariant.Covariant (->) (->) (Pandora.Paradigm.Controlflow.Effect.Interpreted.Schematic Pandora.Pattern.Functor.Monad.Monad u (v Pandora.Paradigm.Controlflow.Effect.Transformer.Monadic.:> w)), Pandora.Pattern.Functor.Covariant.Covariant (->) (->) (Pandora.Paradigm.Controlflow.Effect.Interpreted.Schematic Pandora.Pattern.Functor.Monad.Monad v w), Pandora.Pattern.Transformer.Hoistable.Hoistable ((Pandora.Paradigm.Controlflow.Effect.Transformer.Monadic.:>) (t Pandora.Paradigm.Controlflow.Effect.Transformer.Monadic.:> (u Pandora.Paradigm.Controlflow.Effect.Transformer.Monadic.:> v))), Pandora.Pattern.Transformer.Hoistable.Hoistable (Pandora.Paradigm.Controlflow.Effect.Interpreted.Schematic Pandora.Pattern.Functor.Monad.Monad t), Pandora.Pattern.Transformer.Hoistable.Hoistable (Pandora.Paradigm.Controlflow.Effect.Interpreted.Schematic Pandora.Pattern.Functor.Monad.Monad u), Pandora.Pattern.Transformer.Hoistable.Hoistable (Pandora.Paradigm.Controlflow.Effect.Interpreted.Schematic Pandora.Pattern.Functor.Monad.Monad v), Pandora.Paradigm.Controlflow.Effect.Adaptable.Adaptable w w') => Pandora.Paradigm.Controlflow.Effect.Adaptable.Adaptable (t Pandora.Paradigm.Controlflow.Effect.Transformer.Monadic.:> (u Pandora.Paradigm.Controlflow.Effect.Transformer.Monadic.:> (v Pandora.Paradigm.Controlflow.Effect.Transformer.Monadic.:> w))) (t Pandora.Paradigm.Controlflow.Effect.Transformer.Monadic.:> (u Pandora.Paradigm.Controlflow.Effect.Transformer.Monadic.:> (v Pandora.Paradigm.Controlflow.Effect.Transformer.Monadic.:> w')))
- Pandora.Paradigm.Controlflow.Effect.Adaptable: instance (Pandora.Pattern.Functor.Covariant.Covariant (->) (->) u, Pandora.Pattern.Transformer.Hoistable.Hoistable ((Pandora.Paradigm.Controlflow.Effect.Transformer.Monadic.:>) t), Pandora.Paradigm.Controlflow.Effect.Adaptable.Adaptable u u') => Pandora.Paradigm.Controlflow.Effect.Adaptable.Adaptable (t Pandora.Paradigm.Controlflow.Effect.Transformer.Monadic.:> u) (t Pandora.Paradigm.Controlflow.Effect.Transformer.Monadic.:> u')
- Pandora.Paradigm.Controlflow.Effect.Adaptable: instance (Pandora.Pattern.Functor.Covariant.Covariant (->) (->) v, Pandora.Pattern.Functor.Covariant.Covariant (->) (->) (Pandora.Paradigm.Controlflow.Effect.Interpreted.Schematic Pandora.Pattern.Functor.Monad.Monad u v), Pandora.Pattern.Transformer.Hoistable.Hoistable ((Pandora.Paradigm.Controlflow.Effect.Transformer.Monadic.:>) (t Pandora.Paradigm.Controlflow.Effect.Transformer.Monadic.:> u)), Pandora.Pattern.Transformer.Hoistable.Hoistable (Pandora.Paradigm.Controlflow.Effect.Interpreted.Schematic Pandora.Pattern.Functor.Monad.Monad t), Pandora.Pattern.Transformer.Hoistable.Hoistable (Pandora.Paradigm.Controlflow.Effect.Interpreted.Schematic Pandora.Pattern.Functor.Monad.Monad u), Pandora.Paradigm.Controlflow.Effect.Adaptable.Adaptable v v') => Pandora.Paradigm.Controlflow.Effect.Adaptable.Adaptable (t Pandora.Paradigm.Controlflow.Effect.Transformer.Monadic.:> (u Pandora.Paradigm.Controlflow.Effect.Transformer.Monadic.:> v)) (t Pandora.Paradigm.Controlflow.Effect.Transformer.Monadic.:> (u Pandora.Paradigm.Controlflow.Effect.Transformer.Monadic.:> v'))
- Pandora.Paradigm.Controlflow.Effect.Adaptable: instance (Pandora.Pattern.Functor.Covariant.Covariant (->) (->) x, Pandora.Pattern.Functor.Covariant.Covariant (->) (->) (Pandora.Paradigm.Controlflow.Effect.Interpreted.Schematic Pandora.Pattern.Functor.Monad.Monad u (v Pandora.Paradigm.Controlflow.Effect.Transformer.Monadic.:> (w Pandora.Paradigm.Controlflow.Effect.Transformer.Monadic.:> x))), Pandora.Pattern.Functor.Covariant.Covariant (->) (->) (Pandora.Paradigm.Controlflow.Effect.Interpreted.Schematic Pandora.Pattern.Functor.Monad.Monad v (w Pandora.Paradigm.Controlflow.Effect.Transformer.Monadic.:> x)), Pandora.Pattern.Functor.Covariant.Covariant (->) (->) (Pandora.Paradigm.Controlflow.Effect.Interpreted.Schematic Pandora.Pattern.Functor.Monad.Monad w x), Pandora.Pattern.Transformer.Hoistable.Hoistable ((Pandora.Paradigm.Controlflow.Effect.Transformer.Monadic.:>) (t Pandora.Paradigm.Controlflow.Effect.Transformer.Monadic.:> (u Pandora.Paradigm.Controlflow.Effect.Transformer.Monadic.:> v))), Pandora.Pattern.Transformer.Hoistable.Hoistable (Pandora.Paradigm.Controlflow.Effect.Interpreted.Schematic Pandora.Pattern.Functor.Monad.Monad t), Pandora.Pattern.Transformer.Hoistable.Hoistable (Pandora.Paradigm.Controlflow.Effect.Interpreted.Schematic Pandora.Pattern.Functor.Monad.Monad u), Pandora.Pattern.Transformer.Hoistable.Hoistable (Pandora.Paradigm.Controlflow.Effect.Interpreted.Schematic Pandora.Pattern.Functor.Monad.Monad v), Pandora.Pattern.Transformer.Hoistable.Hoistable (Pandora.Paradigm.Controlflow.Effect.Interpreted.Schematic Pandora.Pattern.Functor.Monad.Monad w), Pandora.Paradigm.Controlflow.Effect.Adaptable.Adaptable x x') => Pandora.Paradigm.Controlflow.Effect.Adaptable.Adaptable (t Pandora.Paradigm.Controlflow.Effect.Transformer.Monadic.:> (u Pandora.Paradigm.Controlflow.Effect.Transformer.Monadic.:> (v Pandora.Paradigm.Controlflow.Effect.Transformer.Monadic.:> (w Pandora.Paradigm.Controlflow.Effect.Transformer.Monadic.:> x)))) (t Pandora.Paradigm.Controlflow.Effect.Transformer.Monadic.:> (u Pandora.Paradigm.Controlflow.Effect.Transformer.Monadic.:> (v Pandora.Paradigm.Controlflow.Effect.Transformer.Monadic.:> (w Pandora.Paradigm.Controlflow.Effect.Transformer.Monadic.:> x'))))
- Pandora.Paradigm.Controlflow.Effect.Adaptable: instance (Pandora.Pattern.Functor.Covariant.Covariant (->) (->) y, Pandora.Pattern.Functor.Covariant.Covariant (->) (->) (Pandora.Paradigm.Controlflow.Effect.Interpreted.Schematic Pandora.Pattern.Functor.Monad.Monad u (v Pandora.Paradigm.Controlflow.Effect.Transformer.Monadic.:> (w Pandora.Paradigm.Controlflow.Effect.Transformer.Monadic.:> (x Pandora.Paradigm.Controlflow.Effect.Transformer.Monadic.:> y)))), Pandora.Pattern.Functor.Covariant.Covariant (->) (->) (Pandora.Paradigm.Controlflow.Effect.Interpreted.Schematic Pandora.Pattern.Functor.Monad.Monad v (w Pandora.Paradigm.Controlflow.Effect.Transformer.Monadic.:> (x Pandora.Paradigm.Controlflow.Effect.Transformer.Monadic.:> y))), Pandora.Pattern.Functor.Covariant.Covariant (->) (->) (Pandora.Paradigm.Controlflow.Effect.Interpreted.Schematic Pandora.Pattern.Functor.Monad.Monad w (x Pandora.Paradigm.Controlflow.Effect.Transformer.Monadic.:> y)), Pandora.Pattern.Functor.Covariant.Covariant (->) (->) (Pandora.Paradigm.Controlflow.Effect.Interpreted.Schematic Pandora.Pattern.Functor.Monad.Monad x y), Pandora.Pattern.Transformer.Hoistable.Hoistable ((Pandora.Paradigm.Controlflow.Effect.Transformer.Monadic.:>) (t Pandora.Paradigm.Controlflow.Effect.Transformer.Monadic.:> (u Pandora.Paradigm.Controlflow.Effect.Transformer.Monadic.:> (v Pandora.Paradigm.Controlflow.Effect.Transformer.Monadic.:> w)))), Pandora.Pattern.Transformer.Hoistable.Hoistable (Pandora.Paradigm.Controlflow.Effect.Interpreted.Schematic Pandora.Pattern.Functor.Monad.Monad t), Pandora.Pattern.Transformer.Hoistable.Hoistable (Pandora.Paradigm.Controlflow.Effect.Interpreted.Schematic Pandora.Pattern.Functor.Monad.Monad u), Pandora.Pattern.Transformer.Hoistable.Hoistable (Pandora.Paradigm.Controlflow.Effect.Interpreted.Schematic Pandora.Pattern.Functor.Monad.Monad v), Pandora.Pattern.Transformer.Hoistable.Hoistable (Pandora.Paradigm.Controlflow.Effect.Interpreted.Schematic Pandora.Pattern.Functor.Monad.Monad w), Pandora.Pattern.Transformer.Hoistable.Hoistable (Pandora.Paradigm.Controlflow.Effect.Interpreted.Schematic Pandora.Pattern.Functor.Monad.Monad x), Pandora.Paradigm.Controlflow.Effect.Adaptable.Adaptable y y') => Pandora.Paradigm.Controlflow.Effect.Adaptable.Adaptable (t Pandora.Paradigm.Controlflow.Effect.Transformer.Monadic.:> (u Pandora.Paradigm.Controlflow.Effect.Transformer.Monadic.:> (v Pandora.Paradigm.Controlflow.Effect.Transformer.Monadic.:> (w Pandora.Paradigm.Controlflow.Effect.Transformer.Monadic.:> (x Pandora.Paradigm.Controlflow.Effect.Transformer.Monadic.:> y))))) (t Pandora.Paradigm.Controlflow.Effect.Transformer.Monadic.:> (u Pandora.Paradigm.Controlflow.Effect.Transformer.Monadic.:> (v Pandora.Paradigm.Controlflow.Effect.Transformer.Monadic.:> (w Pandora.Paradigm.Controlflow.Effect.Transformer.Monadic.:> (x Pandora.Paradigm.Controlflow.Effect.Transformer.Monadic.:> y')))))
- Pandora.Paradigm.Controlflow.Effect.Adaptable: instance (Pandora.Pattern.Functor.Covariant.Covariant (->) (->) z, Pandora.Pattern.Functor.Covariant.Covariant (->) (->) (Pandora.Paradigm.Controlflow.Effect.Interpreted.Schematic Pandora.Pattern.Functor.Monad.Monad u (v Pandora.Paradigm.Controlflow.Effect.Transformer.Monadic.:> (w Pandora.Paradigm.Controlflow.Effect.Transformer.Monadic.:> (x Pandora.Paradigm.Controlflow.Effect.Transformer.Monadic.:> (y Pandora.Paradigm.Controlflow.Effect.Transformer.Monadic.:> z))))), Pandora.Pattern.Functor.Covariant.Covariant (->) (->) (Pandora.Paradigm.Controlflow.Effect.Interpreted.Schematic Pandora.Pattern.Functor.Monad.Monad v (w Pandora.Paradigm.Controlflow.Effect.Transformer.Monadic.:> (x Pandora.Paradigm.Controlflow.Effect.Transformer.Monadic.:> (y Pandora.Paradigm.Controlflow.Effect.Transformer.Monadic.:> z)))), Pandora.Pattern.Functor.Covariant.Covariant (->) (->) (Pandora.Paradigm.Controlflow.Effect.Interpreted.Schematic Pandora.Pattern.Functor.Monad.Monad w (x Pandora.Paradigm.Controlflow.Effect.Transformer.Monadic.:> (y Pandora.Paradigm.Controlflow.Effect.Transformer.Monadic.:> z))), Pandora.Pattern.Functor.Covariant.Covariant (->) (->) (Pandora.Paradigm.Controlflow.Effect.Interpreted.Schematic Pandora.Pattern.Functor.Monad.Monad x (y Pandora.Paradigm.Controlflow.Effect.Transformer.Monadic.:> z)), Pandora.Pattern.Functor.Covariant.Covariant (->) (->) (Pandora.Paradigm.Controlflow.Effect.Interpreted.Schematic Pandora.Pattern.Functor.Monad.Monad y z), Pandora.Pattern.Transformer.Hoistable.Hoistable ((Pandora.Paradigm.Controlflow.Effect.Transformer.Monadic.:>) (t Pandora.Paradigm.Controlflow.Effect.Transformer.Monadic.:> (u Pandora.Paradigm.Controlflow.Effect.Transformer.Monadic.:> (v Pandora.Paradigm.Controlflow.Effect.Transformer.Monadic.:> w)))), Pandora.Pattern.Transformer.Hoistable.Hoistable (Pandora.Paradigm.Controlflow.Effect.Interpreted.Schematic Pandora.Pattern.Functor.Monad.Monad t), Pandora.Pattern.Transformer.Hoistable.Hoistable (Pandora.Paradigm.Controlflow.Effect.Interpreted.Schematic Pandora.Pattern.Functor.Monad.Monad u), Pandora.Pattern.Transformer.Hoistable.Hoistable (Pandora.Paradigm.Controlflow.Effect.Interpreted.Schematic Pandora.Pattern.Functor.Monad.Monad v), Pandora.Pattern.Transformer.Hoistable.Hoistable (Pandora.Paradigm.Controlflow.Effect.Interpreted.Schematic Pandora.Pattern.Functor.Monad.Monad w), Pandora.Pattern.Transformer.Hoistable.Hoistable (Pandora.Paradigm.Controlflow.Effect.Interpreted.Schematic Pandora.Pattern.Functor.Monad.Monad x), Pandora.Pattern.Transformer.Hoistable.Hoistable (Pandora.Paradigm.Controlflow.Effect.Interpreted.Schematic Pandora.Pattern.Functor.Monad.Monad y), Pandora.Paradigm.Controlflow.Effect.Adaptable.Adaptable z z') => Pandora.Paradigm.Controlflow.Effect.Adaptable.Adaptable (t Pandora.Paradigm.Controlflow.Effect.Transformer.Monadic.:> (u Pandora.Paradigm.Controlflow.Effect.Transformer.Monadic.:> (v Pandora.Paradigm.Controlflow.Effect.Transformer.Monadic.:> (w Pandora.Paradigm.Controlflow.Effect.Transformer.Monadic.:> (x Pandora.Paradigm.Controlflow.Effect.Transformer.Monadic.:> (y Pandora.Paradigm.Controlflow.Effect.Transformer.Monadic.:> z)))))) (t Pandora.Paradigm.Controlflow.Effect.Transformer.Monadic.:> (u Pandora.Paradigm.Controlflow.Effect.Transformer.Monadic.:> (v Pandora.Paradigm.Controlflow.Effect.Transformer.Monadic.:> (w Pandora.Paradigm.Controlflow.Effect.Transformer.Monadic.:> (x Pandora.Paradigm.Controlflow.Effect.Transformer.Monadic.:> (y Pandora.Paradigm.Controlflow.Effect.Transformer.Monadic.:> z'))))))
- Pandora.Paradigm.Controlflow.Effect.Adaptable: instance (Pandora.Pattern.Transformer.Liftable.Liftable (->) (Pandora.Paradigm.Controlflow.Effect.Interpreted.Schematic Pandora.Pattern.Functor.Monad.Monad t), Pandora.Paradigm.Controlflow.Effect.Adaptable.Lifting t (Pandora.Paradigm.Controlflow.Effect.Interpreted.Schematic Pandora.Pattern.Functor.Monad.Monad u (v Pandora.Paradigm.Controlflow.Effect.Transformer.Monadic.:> w)), Pandora.Paradigm.Controlflow.Effect.Adaptable.Lifting u (Pandora.Paradigm.Controlflow.Effect.Interpreted.Schematic Pandora.Pattern.Functor.Monad.Monad v w), Pandora.Paradigm.Controlflow.Effect.Adaptable.Wrappable v w) => Pandora.Paradigm.Controlflow.Effect.Adaptable.Adaptable v (t Pandora.Paradigm.Controlflow.Effect.Transformer.Monadic.:> (u Pandora.Paradigm.Controlflow.Effect.Transformer.Monadic.:> (v Pandora.Paradigm.Controlflow.Effect.Transformer.Monadic.:> w)))
- Pandora.Paradigm.Controlflow.Effect.Adaptable: instance (Pandora.Pattern.Transformer.Liftable.Liftable (->) (Pandora.Paradigm.Controlflow.Effect.Interpreted.Schematic Pandora.Pattern.Functor.Monad.Monad t), Pandora.Pattern.Functor.Covariant.Covariant (->) (->) (Pandora.Paradigm.Controlflow.Effect.Interpreted.Schematic Pandora.Pattern.Functor.Monad.Monad u v), Pandora.Paradigm.Controlflow.Effect.Adaptable.Wrappable u v) => Pandora.Paradigm.Controlflow.Effect.Adaptable.Adaptable u (t Pandora.Paradigm.Controlflow.Effect.Transformer.Monadic.:> (u Pandora.Paradigm.Controlflow.Effect.Transformer.Monadic.:> v))
- Pandora.Paradigm.Controlflow.Effect.Adaptable: instance Pandora.Paradigm.Controlflow.Effect.Adaptable.Bringable t u => Pandora.Paradigm.Controlflow.Effect.Adaptable.Adaptable (t Pandora.Paradigm.Controlflow.Effect.Transformer.Comonadic.:< u) t
- Pandora.Paradigm.Controlflow.Effect.Adaptable: instance Pandora.Paradigm.Controlflow.Effect.Adaptable.Lifting t u => Pandora.Paradigm.Controlflow.Effect.Adaptable.Adaptable u (t Pandora.Paradigm.Controlflow.Effect.Transformer.Monadic.:> u)
- Pandora.Paradigm.Controlflow.Effect.Adaptable: instance Pandora.Paradigm.Controlflow.Effect.Adaptable.Lowering t u => Pandora.Paradigm.Controlflow.Effect.Adaptable.Adaptable (t Pandora.Paradigm.Controlflow.Effect.Transformer.Comonadic.:< u) u
- Pandora.Paradigm.Controlflow.Effect.Adaptable: instance Pandora.Paradigm.Controlflow.Effect.Adaptable.Wrappable t u => Pandora.Paradigm.Controlflow.Effect.Adaptable.Adaptable t (t Pandora.Paradigm.Controlflow.Effect.Transformer.Monadic.:> u)
- Pandora.Paradigm.Controlflow.Effect.Adaptable: instance forall k (t :: k -> *). Pandora.Paradigm.Controlflow.Effect.Adaptable.Adaptable t t
- Pandora.Paradigm.Controlflow.Effect.Adaptable: type Bringable t u = (Comonadic t, Extractable u)
- Pandora.Paradigm.Controlflow.Effect.Adaptable: type Lifting t u = (Monadic t, Liftable (->) (Schematic Monad t), Covariant (->) (->) u)
- Pandora.Paradigm.Controlflow.Effect.Adaptable: type Lowering t u = (Comonadic t, Lowerable (->) (Schematic Comonad t), Covariant (->) (->) u)
- Pandora.Paradigm.Controlflow.Effect.Adaptable: type Wrappable t u = (Monadic t, Monoidal (-->) (->) (:*:) (:*:) u)
- Pandora.Paradigm.Controlflow.Effect.Interpreted: (<$$$$||=) :: (Interpreted m t, Semigroupoid m, Covariant m m j, Covariant m m k, Covariant m m l, Covariant m m n, Interpreted m u) => m (Primary t a) (Primary u b) -> m ((j :. (k :. (l :. n))) := t a) ((j :. (k :. (l :. n))) := u b)
- Pandora.Paradigm.Controlflow.Effect.Interpreted: (<$$$||=) :: (Interpreted m t, Semigroupoid m, Covariant m m j, Covariant m m k, Covariant m m l, Interpreted m u) => m (Primary t a) (Primary u b) -> m ((j :. (k :. l)) := t a) ((j :. (k :. l)) := u b)
- Pandora.Paradigm.Controlflow.Effect.Interpreted: (<$$||=) :: (Interpreted m t, Semigroupoid m, Covariant m m j, Covariant m m k, Interpreted m u) => m (Primary t a) (Primary u b) -> m ((j :. k) := t a) ((j :. k) := u b)
- Pandora.Paradigm.Controlflow.Effect.Interpreted: (=||$$$$>) :: (Interpreted m t, Covariant m m j, Covariant m m k, Covariant m m l, Covariant m m n, Interpreted m u) => m (t a) (u b) -> m ((j :. (k :. (l :. n))) := Primary t a) ((j :. (k :. (l :. n))) := Primary u b)
- Pandora.Paradigm.Controlflow.Effect.Interpreted: (=||$$$>) :: (Interpreted m t, Covariant m m j, Covariant m m k, Covariant m m l, Interpreted m u) => m (t a) (u b) -> m ((j :. (k :. l)) := Primary t a) ((j :. (k :. l)) := Primary u b)
- Pandora.Paradigm.Controlflow.Effect.Interpreted: (=||$$>) :: (Interpreted m t, Covariant m m j, Covariant m m k, Interpreted m u) => m (t a) (u b) -> m ((j :. k) := Primary t a) ((j :. k) := Primary u b)
- Pandora.Paradigm.Controlflow.Effect.Transformer.Comonadic: instance Pandora.Pattern.Functor.Monoidal.Monoidal (Pandora.Paradigm.Primary.Algebraic.Exponential.-->) (->) (Pandora.Paradigm.Primary.Algebraic.Product.:*:) (Pandora.Paradigm.Primary.Algebraic.Product.:*:) (Pandora.Paradigm.Controlflow.Effect.Interpreted.Schematic Pandora.Pattern.Functor.Comonad.Comonad t u) => Pandora.Pattern.Functor.Monoidal.Monoidal (Pandora.Paradigm.Primary.Algebraic.Exponential.-->) (->) (Pandora.Paradigm.Primary.Algebraic.Product.:*:) (Pandora.Paradigm.Primary.Algebraic.Product.:*:) (t Pandora.Paradigm.Controlflow.Effect.Transformer.Comonadic.:< u)
- Pandora.Paradigm.Controlflow.Effect.Transformer.Comonadic: instance Pandora.Pattern.Transformer.Hoistable.Hoistable (Pandora.Paradigm.Controlflow.Effect.Interpreted.Schematic Pandora.Pattern.Functor.Comonad.Comonad t) => Pandora.Pattern.Transformer.Hoistable.Hoistable ((Pandora.Paradigm.Controlflow.Effect.Transformer.Comonadic.:<) t)
- Pandora.Paradigm.Controlflow.Effect.Transformer.Monadic: instance (Pandora.Pattern.Functor.Covariant.Covariant (->) (->) (Pandora.Paradigm.Controlflow.Effect.Interpreted.Schematic Pandora.Pattern.Functor.Monad.Monad t u), Pandora.Pattern.Functor.Monoidal.Monoidal (Pandora.Paradigm.Primary.Algebraic.Exponential.-->) (->) (Pandora.Paradigm.Primary.Algebraic.Product.:*:) (Pandora.Paradigm.Primary.Algebraic.Product.:*:) (Pandora.Paradigm.Controlflow.Effect.Interpreted.Schematic Pandora.Pattern.Functor.Monad.Monad t u), Pandora.Pattern.Functor.Bindable.Bindable (->) (t Pandora.Paradigm.Controlflow.Effect.Transformer.Monadic.:> u)) => Pandora.Pattern.Functor.Monad.Monad (->) (t Pandora.Paradigm.Controlflow.Effect.Transformer.Monadic.:> u)
- Pandora.Paradigm.Controlflow.Effect.Transformer.Monadic: instance Pandora.Pattern.Functor.Monoidal.Monoidal (Pandora.Paradigm.Primary.Algebraic.Exponential.-->) (->) (Pandora.Paradigm.Primary.Algebraic.Product.:*:) (Pandora.Paradigm.Primary.Algebraic.Product.:*:) (Pandora.Paradigm.Controlflow.Effect.Interpreted.Schematic Pandora.Pattern.Functor.Monad.Monad t u) => Pandora.Pattern.Functor.Monoidal.Monoidal (Pandora.Paradigm.Primary.Algebraic.Exponential.-->) (->) (Pandora.Paradigm.Primary.Algebraic.Product.:*:) (Pandora.Paradigm.Primary.Algebraic.Product.:*:) (t Pandora.Paradigm.Controlflow.Effect.Transformer.Monadic.:> u)
- Pandora.Paradigm.Controlflow.Effect.Transformer.Monadic: instance Pandora.Pattern.Transformer.Hoistable.Hoistable (Pandora.Paradigm.Controlflow.Effect.Interpreted.Schematic Pandora.Pattern.Functor.Monad.Monad t) => Pandora.Pattern.Transformer.Hoistable.Hoistable ((Pandora.Paradigm.Controlflow.Effect.Transformer.Monadic.:>) t)
- Pandora.Paradigm.Inventory: adjust :: forall bg ls t. (Accessible ls bg, Stateful bg t) => (ls -> ls) -> t ls
- Pandora.Paradigm.Inventory: magnify :: forall bg ls t. (Accessible ls bg, Stateful bg t) => t ls
- Pandora.Paradigm.Inventory.Accumulator: instance Pandora.Pattern.Object.Monoid.Monoid e => Pandora.Paradigm.Controlflow.Effect.Transformer.Monadic.Monadic (Pandora.Paradigm.Inventory.Accumulator.Accumulator e)
- Pandora.Paradigm.Inventory.Environment: instance Pandora.Paradigm.Controlflow.Effect.Transformer.Monadic.Monadic (Pandora.Paradigm.Inventory.Environment.Environment e)
- Pandora.Paradigm.Inventory.Environment: instance Pandora.Pattern.Functor.Monoidal.Monoidal (Pandora.Paradigm.Primary.Algebraic.Exponential.-->) (->) (Pandora.Paradigm.Primary.Algebraic.Product.:*:) (Pandora.Paradigm.Primary.Algebraic.Product.:*:) (Pandora.Paradigm.Inventory.Environment.Environment e)
- Pandora.Paradigm.Inventory.State: instance Pandora.Paradigm.Controlflow.Effect.Transformer.Monadic.Monadic (Pandora.Paradigm.Inventory.State.State s)
- Pandora.Paradigm.Inventory.State: instance Pandora.Pattern.Functor.Monoidal.Monoidal (Pandora.Paradigm.Primary.Algebraic.Exponential.-->) (->) (Pandora.Paradigm.Primary.Algebraic.Product.:*:) (Pandora.Paradigm.Primary.Algebraic.Product.:*:) (Pandora.Paradigm.Inventory.State.State s)
- Pandora.Paradigm.Inventory.Store: instance Pandora.Paradigm.Controlflow.Effect.Transformer.Comonadic.Comonadic (Pandora.Paradigm.Inventory.Store.Store s)
- Pandora.Paradigm.Inventory.Store: instance Pandora.Pattern.Functor.Monoidal.Monoidal (Pandora.Paradigm.Primary.Algebraic.Exponential.<--) (->) (Pandora.Paradigm.Primary.Algebraic.Product.:*:) (Pandora.Paradigm.Primary.Algebraic.Product.:*:) (Pandora.Paradigm.Inventory.Store.Store s)
- Pandora.Paradigm.Primary.Algebraic: (*>-) :: (Covariant (->) (->) t, Semimonoidal (-->) (:*:) (:*:) t) => t a -> t b -> t b
- Pandora.Paradigm.Primary.Algebraic: instance Pandora.Pattern.Functor.Monoidal.Monoidal (Pandora.Paradigm.Primary.Algebraic.Exponential.-->) (->) (Pandora.Paradigm.Primary.Algebraic.Product.:*:) (Pandora.Paradigm.Primary.Algebraic.Product.:*:) ((Pandora.Paradigm.Primary.Algebraic.Sum.:+:) e)
- Pandora.Paradigm.Primary.Algebraic: instance Pandora.Pattern.Functor.Monoidal.Monoidal (Pandora.Paradigm.Primary.Algebraic.Exponential.<--) (->) (Pandora.Paradigm.Primary.Algebraic.Product.:*:) (Pandora.Paradigm.Primary.Algebraic.Product.:*:) ((Pandora.Paradigm.Primary.Algebraic.Product.:*:) s)
- Pandora.Paradigm.Primary.Algebraic: instance Pandora.Pattern.Functor.Monoidal.Monoidal (Pandora.Paradigm.Primary.Algebraic.Exponential.<--) (->) (Pandora.Paradigm.Primary.Algebraic.Product.:*:) (Pandora.Paradigm.Primary.Algebraic.Product.:*:) (Pandora.Pattern.Morphism.Flip.Flip (Pandora.Paradigm.Primary.Algebraic.Product.:*:) a)
- Pandora.Paradigm.Primary.Algebraic.Exponential: instance Pandora.Core.Appliable.Appliable (->) a (b -> c) (->) b (a -> c)
- Pandora.Paradigm.Primary.Algebraic.Exponential: instance Pandora.Core.Appliable.Appliable (->) c b (->) c b
- Pandora.Paradigm.Primary.Algebraic.Product: instance Pandora.Pattern.Functor.Semimonoidal.Semimonoidal (Pandora.Paradigm.Primary.Algebraic.Exponential.-->) (Pandora.Paradigm.Primary.Algebraic.Product.:*:) (Pandora.Paradigm.Primary.Algebraic.Product.:*:) t => Pandora.Pattern.Functor.Semimonoidal.Semimonoidal (Pandora.Paradigm.Primary.Algebraic.Exponential.-->) (Pandora.Paradigm.Primary.Algebraic.Product.:*:) (Pandora.Paradigm.Primary.Algebraic.Product.:*:) ((t Pandora.Paradigm.Schemes.T_U.<:.:> t) Pandora.Core.Functor.:= (Pandora.Paradigm.Primary.Algebraic.Product.:*:))
- Pandora.Paradigm.Primary.Functor.Conclusion: instance (Pandora.Pattern.Functor.Monoidal.Monoidal (Pandora.Paradigm.Primary.Algebraic.Exponential.-->) (->) (Pandora.Paradigm.Primary.Algebraic.Product.:*:) (Pandora.Paradigm.Primary.Algebraic.Product.:*:) u, Pandora.Pattern.Functor.Bindable.Bindable (->) u) => Pandora.Paradigm.Primary.Functor.Conclusion.Catchable e (Pandora.Paradigm.Primary.Functor.Conclusion.Conclusion e Pandora.Paradigm.Schemes.UT.<.:> u)
- Pandora.Paradigm.Primary.Functor.Conclusion: instance Pandora.Paradigm.Controlflow.Effect.Transformer.Monadic.Monadic (Pandora.Paradigm.Primary.Functor.Conclusion.Conclusion e)
- Pandora.Paradigm.Primary.Functor.Conclusion: instance Pandora.Pattern.Functor.Monoidal.Monoidal (Pandora.Paradigm.Primary.Algebraic.Exponential.-->) (->) (Pandora.Paradigm.Primary.Algebraic.Product.:*:) (Pandora.Paradigm.Primary.Algebraic.Product.:*:) (Pandora.Paradigm.Primary.Functor.Conclusion.Conclusion e)
- Pandora.Paradigm.Primary.Functor.Identity: instance Pandora.Pattern.Functor.Monoidal.Monoidal (Pandora.Paradigm.Primary.Algebraic.Exponential.-->) (->) (Pandora.Paradigm.Primary.Algebraic.Product.:*:) (Pandora.Paradigm.Primary.Algebraic.Product.:*:) Pandora.Paradigm.Primary.Functor.Identity.Identity
- Pandora.Paradigm.Primary.Functor.Identity: instance Pandora.Pattern.Functor.Monoidal.Monoidal (Pandora.Paradigm.Primary.Algebraic.Exponential.<--) (->) (Pandora.Paradigm.Primary.Algebraic.Product.:*:) (Pandora.Paradigm.Primary.Algebraic.Product.:*:) Pandora.Paradigm.Primary.Functor.Identity.Identity
- Pandora.Paradigm.Primary.Functor.Maybe: instance Pandora.Paradigm.Controlflow.Effect.Transformer.Monadic.Monadic Pandora.Paradigm.Primary.Functor.Maybe.Maybe
- Pandora.Paradigm.Primary.Functor.Maybe: instance Pandora.Pattern.Functor.Monoidal.Monoidal (Pandora.Paradigm.Primary.Algebraic.Exponential.-->) (->) (Pandora.Paradigm.Primary.Algebraic.Product.:*:) (Pandora.Paradigm.Primary.Algebraic.Product.:*:) Pandora.Paradigm.Primary.Functor.Maybe.Maybe
- Pandora.Paradigm.Primary.Functor.Maybe: instance Pandora.Pattern.Functor.Monoidal.Monoidal (Pandora.Paradigm.Primary.Algebraic.Exponential.-->) (->) (Pandora.Paradigm.Primary.Algebraic.Product.:*:) (Pandora.Paradigm.Primary.Algebraic.Sum.:+:) Pandora.Paradigm.Primary.Functor.Maybe.Maybe
- Pandora.Paradigm.Primary.Functor.Tagged: instance forall k (tag :: k). Pandora.Pattern.Functor.Monoidal.Monoidal (Pandora.Paradigm.Primary.Algebraic.Exponential.-->) (->) (Pandora.Paradigm.Primary.Algebraic.Product.:*:) (Pandora.Paradigm.Primary.Algebraic.Product.:*:) (Pandora.Paradigm.Primary.Functor.Tagged.Tagged tag)
- Pandora.Paradigm.Primary.Functor.Tagged: instance forall k (tag :: k). Pandora.Pattern.Functor.Monoidal.Monoidal (Pandora.Paradigm.Primary.Algebraic.Exponential.<--) (->) (Pandora.Paradigm.Primary.Algebraic.Product.:*:) (Pandora.Paradigm.Primary.Algebraic.Product.:*:) (Pandora.Paradigm.Primary.Functor.Tagged.Tagged tag)
- Pandora.Paradigm.Primary.Functor.Validation: instance Pandora.Pattern.Object.Semigroup.Semigroup e => Pandora.Pattern.Functor.Monoidal.Monoidal (Pandora.Paradigm.Primary.Algebraic.Exponential.-->) (->) (Pandora.Paradigm.Primary.Algebraic.Product.:*:) (Pandora.Paradigm.Primary.Algebraic.Product.:*:) (Pandora.Paradigm.Primary.Functor.Validation.Validation e)
- Pandora.Paradigm.Primary.Transformer.Backwards: instance (Pandora.Pattern.Functor.Covariant.Covariant (->) (->) t, Pandora.Pattern.Functor.Monoidal.Monoidal (Pandora.Paradigm.Primary.Algebraic.Exponential.-->) (->) (Pandora.Paradigm.Primary.Algebraic.Product.:*:) (Pandora.Paradigm.Primary.Algebraic.Product.:*:) t) => Pandora.Pattern.Functor.Monoidal.Monoidal (Pandora.Paradigm.Primary.Algebraic.Exponential.-->) (->) (Pandora.Paradigm.Primary.Algebraic.Product.:*:) (Pandora.Paradigm.Primary.Algebraic.Product.:*:) (Pandora.Paradigm.Primary.Transformer.Backwards.Backwards t)
- Pandora.Paradigm.Primary.Transformer.Backwards: instance (Pandora.Pattern.Functor.Covariant.Covariant (->) (->) t, Pandora.Pattern.Functor.Monoidal.Monoidal (Pandora.Paradigm.Primary.Algebraic.Exponential.<--) (->) (Pandora.Paradigm.Primary.Algebraic.Product.:*:) (Pandora.Paradigm.Primary.Algebraic.Product.:*:) t) => Pandora.Pattern.Functor.Monoidal.Monoidal (Pandora.Paradigm.Primary.Algebraic.Exponential.<--) (->) (Pandora.Paradigm.Primary.Algebraic.Product.:*:) (Pandora.Paradigm.Primary.Algebraic.Product.:*:) (Pandora.Paradigm.Primary.Transformer.Backwards.Backwards t)
- Pandora.Paradigm.Primary.Transformer.Backwards: instance Pandora.Pattern.Transformer.Hoistable.Hoistable Pandora.Paradigm.Primary.Transformer.Backwards.Backwards
- Pandora.Paradigm.Primary.Transformer.Construction: instance (Pandora.Pattern.Functor.Covariant.Covariant (->) (->) t, Pandora.Pattern.Functor.Semimonoidal.Semimonoidal (Pandora.Paradigm.Primary.Algebraic.Exponential.-->) (Pandora.Paradigm.Primary.Algebraic.Product.:*:) (Pandora.Paradigm.Primary.Algebraic.Product.:*:) t, Pandora.Pattern.Functor.Monoidal.Monoidal (Pandora.Paradigm.Primary.Algebraic.Exponential.-->) (->) (Pandora.Paradigm.Primary.Algebraic.Product.:*:) (Pandora.Paradigm.Primary.Algebraic.Sum.:+:) t) => Pandora.Pattern.Functor.Monoidal.Monoidal (Pandora.Paradigm.Primary.Algebraic.Exponential.-->) (->) (Pandora.Paradigm.Primary.Algebraic.Product.:*:) (Pandora.Paradigm.Primary.Algebraic.Product.:*:) (Pandora.Paradigm.Primary.Transformer.Construction.Construction t)
- Pandora.Paradigm.Primary.Transformer.Construction: instance (Pandora.Pattern.Functor.Covariant.Covariant (->) (->) t, Pandora.Pattern.Functor.Semimonoidal.Semimonoidal (Pandora.Paradigm.Primary.Algebraic.Exponential.<--) (Pandora.Paradigm.Primary.Algebraic.Product.:*:) (Pandora.Paradigm.Primary.Algebraic.Product.:*:) t) => Pandora.Pattern.Functor.Monoidal.Monoidal (Pandora.Paradigm.Primary.Algebraic.Exponential.<--) (->) (Pandora.Paradigm.Primary.Algebraic.Product.:*:) (Pandora.Paradigm.Primary.Algebraic.Product.:*:) (Pandora.Paradigm.Primary.Transformer.Construction.Construction t)
- Pandora.Paradigm.Primary.Transformer.Construction: instance (forall (u :: * -> *). Pandora.Pattern.Functor.Semimonoidal.Semimonoidal (Pandora.Paradigm.Primary.Algebraic.Exponential.<--) (Pandora.Paradigm.Primary.Algebraic.Product.:*:) (Pandora.Paradigm.Primary.Algebraic.Product.:*:) u) => Pandora.Pattern.Transformer.Hoistable.Hoistable Pandora.Paradigm.Primary.Transformer.Construction.Construction
- Pandora.Paradigm.Primary.Transformer.Day: instance Pandora.Pattern.Transformer.Hoistable.Hoistable (Pandora.Paradigm.Primary.Transformer.Day.Day t)
- Pandora.Paradigm.Primary.Transformer.Instruction: instance (Pandora.Pattern.Functor.Covariant.Covariant (->) (->) t, Pandora.Pattern.Functor.Semimonoidal.Semimonoidal (Pandora.Paradigm.Primary.Algebraic.Exponential.-->) (Pandora.Paradigm.Primary.Algebraic.Product.:*:) (Pandora.Paradigm.Primary.Algebraic.Product.:*:) t) => Pandora.Pattern.Functor.Monoidal.Monoidal (Pandora.Paradigm.Primary.Algebraic.Exponential.-->) (->) (Pandora.Paradigm.Primary.Algebraic.Product.:*:) (Pandora.Paradigm.Primary.Algebraic.Product.:*:) (Pandora.Paradigm.Primary.Transformer.Instruction.Instruction t)
- Pandora.Paradigm.Primary.Transformer.Instruction: instance (forall (t :: * -> *). Pandora.Pattern.Functor.Bindable.Bindable (->) t, forall (t :: * -> *). Pandora.Pattern.Functor.Monoidal.Monoidal (Pandora.Paradigm.Primary.Algebraic.Exponential.-->) (->) (Pandora.Paradigm.Primary.Algebraic.Product.:*:) (Pandora.Paradigm.Primary.Algebraic.Product.:*:) t) => Pandora.Pattern.Transformer.Lowerable.Lowerable (->) Pandora.Paradigm.Primary.Transformer.Instruction.Instruction
- Pandora.Paradigm.Primary.Transformer.Instruction: instance (forall (v :: * -> *). Pandora.Pattern.Functor.Covariant.Covariant (->) (->) v) => Pandora.Pattern.Transformer.Hoistable.Hoistable Pandora.Paradigm.Primary.Transformer.Instruction.Instruction
- Pandora.Paradigm.Primary.Transformer.Jack: instance (Pandora.Pattern.Functor.Monoidal.Monoidal (Pandora.Paradigm.Primary.Algebraic.Exponential.-->) (->) (Pandora.Paradigm.Primary.Algebraic.Product.:*:) (Pandora.Paradigm.Primary.Algebraic.Product.:*:) t, Pandora.Pattern.Functor.Bindable.Bindable (->) t) => Pandora.Pattern.Functor.Bindable.Bindable (->) (Pandora.Paradigm.Primary.Transformer.Jack.Jack t)
- Pandora.Paradigm.Primary.Transformer.Jack: instance Pandora.Pattern.Transformer.Hoistable.Hoistable Pandora.Paradigm.Primary.Transformer.Jack.Jack
- Pandora.Paradigm.Primary.Transformer.Outline: instance Pandora.Pattern.Transformer.Hoistable.Hoistable Pandora.Paradigm.Primary.Transformer.Outline.Outline
- Pandora.Paradigm.Primary.Transformer.Reverse: instance (Pandora.Pattern.Functor.Covariant.Covariant (->) (->) t, Pandora.Pattern.Functor.Monoidal.Monoidal (Pandora.Paradigm.Primary.Algebraic.Exponential.-->) (->) (Pandora.Paradigm.Primary.Algebraic.Product.:*:) (Pandora.Paradigm.Primary.Algebraic.Product.:*:) t) => Pandora.Pattern.Functor.Monoidal.Monoidal (Pandora.Paradigm.Primary.Algebraic.Exponential.-->) (->) (Pandora.Paradigm.Primary.Algebraic.Product.:*:) (Pandora.Paradigm.Primary.Algebraic.Product.:*:) (Pandora.Paradigm.Primary.Transformer.Reverse.Reverse t)
- Pandora.Paradigm.Primary.Transformer.Reverse: instance (Pandora.Pattern.Functor.Covariant.Covariant (->) (->) t, Pandora.Pattern.Functor.Monoidal.Monoidal (Pandora.Paradigm.Primary.Algebraic.Exponential.<--) (->) (Pandora.Paradigm.Primary.Algebraic.Product.:*:) (Pandora.Paradigm.Primary.Algebraic.Product.:*:) t) => Pandora.Pattern.Functor.Monoidal.Monoidal (Pandora.Paradigm.Primary.Algebraic.Exponential.<--) (->) (Pandora.Paradigm.Primary.Algebraic.Product.:*:) (Pandora.Paradigm.Primary.Algebraic.Product.:*:) (Pandora.Paradigm.Primary.Transformer.Reverse.Reverse t)
- Pandora.Paradigm.Primary.Transformer.Reverse: instance Pandora.Pattern.Transformer.Hoistable.Hoistable Pandora.Paradigm.Primary.Transformer.Reverse.Reverse
- Pandora.Paradigm.Primary.Transformer.Tap: instance Pandora.Pattern.Functor.Semimonoidal.Semimonoidal (Pandora.Paradigm.Primary.Algebraic.Exponential.<--) (Pandora.Paradigm.Primary.Algebraic.Product.:*:) (Pandora.Paradigm.Primary.Algebraic.Product.:*:) t => Pandora.Pattern.Functor.Monoidal.Monoidal (Pandora.Paradigm.Primary.Algebraic.Exponential.<--) (->) (Pandora.Paradigm.Primary.Algebraic.Product.:*:) (Pandora.Paradigm.Primary.Algebraic.Product.:*:) (Pandora.Paradigm.Primary.Transformer.Tap.Tap t)
- Pandora.Paradigm.Primary.Transformer.Tap: instance Pandora.Pattern.Transformer.Hoistable.Hoistable Pandora.Paradigm.Primary.Transformer.Tap.Tap
- Pandora.Paradigm.Schemes.TU: instance (Pandora.Pattern.Functor.Covariant.Covariant (->) (->) t, Pandora.Pattern.Functor.Covariant.Covariant (->) (->) u, Pandora.Pattern.Functor.Monoidal.Monoidal (Pandora.Paradigm.Primary.Algebraic.Exponential.-->) (->) (Pandora.Paradigm.Primary.Algebraic.Product.:*:) (Pandora.Paradigm.Primary.Algebraic.Sum.:+:) t) => Pandora.Pattern.Functor.Monoidal.Monoidal (Pandora.Paradigm.Primary.Algebraic.Exponential.-->) (->) (Pandora.Paradigm.Primary.Algebraic.Product.:*:) (Pandora.Paradigm.Primary.Algebraic.Sum.:+:) (t Pandora.Paradigm.Schemes.TU.<:.> u)
- Pandora.Paradigm.Schemes.TU: instance (Pandora.Pattern.Functor.Covariant.Covariant (->) (->) t, Pandora.Pattern.Functor.Covariant.Covariant (->) (->) u, Pandora.Pattern.Functor.Semimonoidal.Semimonoidal (Pandora.Paradigm.Primary.Algebraic.Exponential.-->) (Pandora.Paradigm.Primary.Algebraic.Product.:*:) (Pandora.Paradigm.Primary.Algebraic.Product.:*:) u, Pandora.Pattern.Functor.Monoidal.Monoidal (Pandora.Paradigm.Primary.Algebraic.Exponential.-->) (->) (Pandora.Paradigm.Primary.Algebraic.Product.:*:) (Pandora.Paradigm.Primary.Algebraic.Product.:*:) t, Pandora.Pattern.Functor.Monoidal.Monoidal (Pandora.Paradigm.Primary.Algebraic.Exponential.-->) (->) (Pandora.Paradigm.Primary.Algebraic.Product.:*:) (Pandora.Paradigm.Primary.Algebraic.Product.:*:) u) => Pandora.Pattern.Functor.Monoidal.Monoidal (Pandora.Paradigm.Primary.Algebraic.Exponential.-->) (->) (Pandora.Paradigm.Primary.Algebraic.Product.:*:) (Pandora.Paradigm.Primary.Algebraic.Product.:*:) (t Pandora.Paradigm.Schemes.TU.<:.> u)
- Pandora.Paradigm.Schemes.TU: instance (Pandora.Pattern.Functor.Covariant.Covariant (->) (->) t, Pandora.Pattern.Functor.Covariant.Covariant (->) (->) u, Pandora.Pattern.Functor.Semimonoidal.Semimonoidal (Pandora.Paradigm.Primary.Algebraic.Exponential.-->) (Pandora.Paradigm.Primary.Algebraic.Product.:*:) (Pandora.Paradigm.Primary.Algebraic.Sum.:+:) t) => Pandora.Pattern.Functor.Semimonoidal.Semimonoidal (Pandora.Paradigm.Primary.Algebraic.Exponential.-->) (Pandora.Paradigm.Primary.Algebraic.Product.:*:) (Pandora.Paradigm.Primary.Algebraic.Sum.:+:) (t Pandora.Paradigm.Schemes.TU.<:.> u)
- Pandora.Paradigm.Schemes.TU: instance (Pandora.Pattern.Functor.Covariant.Covariant (->) (->) t, Pandora.Pattern.Functor.Monoidal.Monoidal (Pandora.Paradigm.Primary.Algebraic.Exponential.<--) (->) (Pandora.Paradigm.Primary.Algebraic.Product.:*:) (Pandora.Paradigm.Primary.Algebraic.Product.:*:) t, Pandora.Pattern.Functor.Monoidal.Monoidal (Pandora.Paradigm.Primary.Algebraic.Exponential.<--) (->) (Pandora.Paradigm.Primary.Algebraic.Product.:*:) (Pandora.Paradigm.Primary.Algebraic.Product.:*:) u) => Pandora.Pattern.Functor.Monoidal.Monoidal (Pandora.Paradigm.Primary.Algebraic.Exponential.<--) (->) (Pandora.Paradigm.Primary.Algebraic.Product.:*:) (Pandora.Paradigm.Primary.Algebraic.Product.:*:) (t Pandora.Paradigm.Schemes.TU.<:.> u)
- Pandora.Paradigm.Schemes.TU: instance (Pandora.Pattern.Functor.Covariant.Covariant m m t, Pandora.Pattern.Functor.Covariant.Covariant m m u, Pandora.Paradigm.Controlflow.Effect.Interpreted.Interpreted m (t Pandora.Paradigm.Schemes.TU.<:.> u)) => Pandora.Pattern.Functor.Covariant.Covariant m m (t Pandora.Paradigm.Schemes.TU.<:.> u)
- Pandora.Paradigm.Schemes.TU: instance Pandora.Pattern.Functor.Covariant.Covariant (->) (->) t => Pandora.Pattern.Transformer.Hoistable.Hoistable (Pandora.Paradigm.Schemes.TU.TU Pandora.Pattern.Functor.Covariant.Covariant Pandora.Pattern.Functor.Covariant.Covariant t)
- Pandora.Paradigm.Schemes.TU: instance Pandora.Pattern.Functor.Monoidal.Monoidal (Pandora.Paradigm.Primary.Algebraic.Exponential.-->) (->) (Pandora.Paradigm.Primary.Algebraic.Product.:*:) (Pandora.Paradigm.Primary.Algebraic.Product.:*:) t => Pandora.Pattern.Transformer.Liftable.Liftable (->) (Pandora.Paradigm.Schemes.TU.TU Pandora.Pattern.Functor.Covariant.Covariant Pandora.Pattern.Functor.Covariant.Covariant t)
- Pandora.Paradigm.Schemes.TU: instance Pandora.Pattern.Functor.Monoidal.Monoidal (Pandora.Paradigm.Primary.Algebraic.Exponential.<--) (->) (Pandora.Paradigm.Primary.Algebraic.Product.:*:) (Pandora.Paradigm.Primary.Algebraic.Product.:*:) t => Pandora.Pattern.Transformer.Lowerable.Lowerable (->) (Pandora.Paradigm.Schemes.TU.TU Pandora.Pattern.Functor.Covariant.Covariant Pandora.Pattern.Functor.Covariant.Covariant t)
- Pandora.Paradigm.Schemes.TUT: instance (Pandora.Pattern.Functor.Covariant.Covariant (->) (->) t, Pandora.Pattern.Functor.Covariant.Covariant (->) (->) t', Pandora.Pattern.Functor.Covariant.Covariant (->) (->) u, Pandora.Pattern.Functor.Semimonoidal.Semimonoidal (Pandora.Paradigm.Primary.Algebraic.Exponential.-->) (Pandora.Paradigm.Primary.Algebraic.Product.:*:) (Pandora.Paradigm.Primary.Algebraic.Product.:*:) t, Pandora.Pattern.Functor.Semimonoidal.Semimonoidal (Pandora.Paradigm.Primary.Algebraic.Exponential.-->) (Pandora.Paradigm.Primary.Algebraic.Product.:*:) (Pandora.Paradigm.Primary.Algebraic.Product.:*:) u, Pandora.Pattern.Functor.Semimonoidal.Semimonoidal (Pandora.Paradigm.Primary.Algebraic.Exponential.-->) (Pandora.Paradigm.Primary.Algebraic.Product.:*:) (Pandora.Paradigm.Primary.Algebraic.Product.:*:) t') => Pandora.Pattern.Functor.Semimonoidal.Semimonoidal (Pandora.Paradigm.Primary.Algebraic.Exponential.-->) (Pandora.Paradigm.Primary.Algebraic.Product.:*:) (Pandora.Paradigm.Primary.Algebraic.Product.:*:) ((t Pandora.Paradigm.Schemes.TUT.<:<.>:> t') Pandora.Core.Functor.:= u)
- Pandora.Paradigm.Schemes.TUT: instance (Pandora.Pattern.Functor.Covariant.Covariant (->) (->) t, Pandora.Pattern.Functor.Covariant.Covariant (->) (->) u, Pandora.Pattern.Functor.Covariant.Covariant (->) (->) t', Pandora.Pattern.Functor.Semimonoidal.Semimonoidal (Pandora.Paradigm.Primary.Algebraic.Exponential.-->) (Pandora.Paradigm.Primary.Algebraic.Product.:*:) (Pandora.Paradigm.Primary.Algebraic.Product.:*:) t, Pandora.Pattern.Functor.Semimonoidal.Semimonoidal (Pandora.Paradigm.Primary.Algebraic.Exponential.-->) (Pandora.Paradigm.Primary.Algebraic.Product.:*:) (Pandora.Paradigm.Primary.Algebraic.Product.:*:) t', Pandora.Pattern.Functor.Monoidal.Monoidal (Pandora.Paradigm.Primary.Algebraic.Exponential.-->) (->) (Pandora.Paradigm.Primary.Algebraic.Product.:*:) (Pandora.Paradigm.Primary.Algebraic.Product.:*:) u, Pandora.Pattern.Functor.Adjoint.Adjoint (->) (->) t' t) => Pandora.Pattern.Functor.Monoidal.Monoidal (Pandora.Paradigm.Primary.Algebraic.Exponential.-->) (->) (Pandora.Paradigm.Primary.Algebraic.Product.:*:) (Pandora.Paradigm.Primary.Algebraic.Product.:*:) ((t Pandora.Paradigm.Schemes.TUT.<:<.>:> t') Pandora.Core.Functor.:= u)
- Pandora.Paradigm.Schemes.TUT: instance (Pandora.Pattern.Functor.Covariant.Covariant (->) (->) t, Pandora.Pattern.Functor.Covariant.Covariant (->) (->) u, Pandora.Pattern.Functor.Semimonoidal.Semimonoidal (Pandora.Paradigm.Primary.Algebraic.Exponential.<--) (Pandora.Paradigm.Primary.Algebraic.Product.:*:) (Pandora.Paradigm.Primary.Algebraic.Product.:*:) t, Pandora.Pattern.Functor.Semimonoidal.Semimonoidal (Pandora.Paradigm.Primary.Algebraic.Exponential.<--) (Pandora.Paradigm.Primary.Algebraic.Product.:*:) (Pandora.Paradigm.Primary.Algebraic.Product.:*:) t', Pandora.Pattern.Functor.Monoidal.Monoidal (Pandora.Paradigm.Primary.Algebraic.Exponential.<--) (->) (Pandora.Paradigm.Primary.Algebraic.Product.:*:) (Pandora.Paradigm.Primary.Algebraic.Product.:*:) u, Pandora.Pattern.Functor.Adjoint.Adjoint (->) (->) t t') => Pandora.Pattern.Functor.Monoidal.Monoidal (Pandora.Paradigm.Primary.Algebraic.Exponential.<--) (->) (Pandora.Paradigm.Primary.Algebraic.Product.:*:) (Pandora.Paradigm.Primary.Algebraic.Product.:*:) ((t Pandora.Paradigm.Schemes.TUT.<:<.>:> t') Pandora.Core.Functor.:= u)
- Pandora.Paradigm.Schemes.TUT: instance (Pandora.Pattern.Functor.Covariant.Covariant m m t, Pandora.Pattern.Functor.Covariant.Covariant m m u, Pandora.Pattern.Functor.Covariant.Covariant m m t', Pandora.Paradigm.Controlflow.Effect.Interpreted.Interpreted m ((t Pandora.Paradigm.Schemes.TUT.<:<.>:> t') Pandora.Core.Functor.:= u)) => Pandora.Pattern.Functor.Covariant.Covariant m m ((t Pandora.Paradigm.Schemes.TUT.<:<.>:> t') Pandora.Core.Functor.:= u)
- Pandora.Paradigm.Schemes.UT: instance (Pandora.Pattern.Functor.Covariant.Covariant (->) (->) t, Pandora.Pattern.Functor.Covariant.Covariant (->) (->) u, Pandora.Pattern.Functor.Semimonoidal.Semimonoidal (Pandora.Paradigm.Primary.Algebraic.Exponential.-->) (Pandora.Paradigm.Primary.Algebraic.Product.:*:) (Pandora.Paradigm.Primary.Algebraic.Product.:*:) u, Pandora.Pattern.Functor.Monoidal.Monoidal (Pandora.Paradigm.Primary.Algebraic.Exponential.-->) (->) (Pandora.Paradigm.Primary.Algebraic.Product.:*:) (Pandora.Paradigm.Primary.Algebraic.Product.:*:) t, Pandora.Pattern.Functor.Monoidal.Monoidal (Pandora.Paradigm.Primary.Algebraic.Exponential.-->) (->) (Pandora.Paradigm.Primary.Algebraic.Product.:*:) (Pandora.Paradigm.Primary.Algebraic.Product.:*:) u) => Pandora.Pattern.Functor.Monoidal.Monoidal (Pandora.Paradigm.Primary.Algebraic.Exponential.-->) (->) (Pandora.Paradigm.Primary.Algebraic.Product.:*:) (Pandora.Paradigm.Primary.Algebraic.Product.:*:) (t Pandora.Paradigm.Schemes.UT.<.:> u)
- Pandora.Paradigm.Schemes.UT: instance (Pandora.Pattern.Functor.Covariant.Covariant (->) (->) u, Pandora.Pattern.Functor.Monoidal.Monoidal (Pandora.Paradigm.Primary.Algebraic.Exponential.<--) (->) (Pandora.Paradigm.Primary.Algebraic.Product.:*:) (Pandora.Paradigm.Primary.Algebraic.Product.:*:) t, Pandora.Pattern.Functor.Monoidal.Monoidal (Pandora.Paradigm.Primary.Algebraic.Exponential.<--) (->) (Pandora.Paradigm.Primary.Algebraic.Product.:*:) (Pandora.Paradigm.Primary.Algebraic.Product.:*:) u) => Pandora.Pattern.Functor.Monoidal.Monoidal (Pandora.Paradigm.Primary.Algebraic.Exponential.<--) (->) (Pandora.Paradigm.Primary.Algebraic.Product.:*:) (Pandora.Paradigm.Primary.Algebraic.Product.:*:) (t Pandora.Paradigm.Schemes.UT.<.:> u)
- Pandora.Paradigm.Schemes.UT: instance (Pandora.Pattern.Functor.Covariant.Covariant m m t, Pandora.Pattern.Functor.Covariant.Covariant m m u, Pandora.Paradigm.Controlflow.Effect.Interpreted.Interpreted m (t Pandora.Paradigm.Schemes.UT.<.:> u)) => Pandora.Pattern.Functor.Covariant.Covariant m m (t Pandora.Paradigm.Schemes.UT.<.:> u)
- Pandora.Paradigm.Schemes.UT: instance (Pandora.Pattern.Functor.Traversable.Traversable (->) (->) t, Pandora.Pattern.Functor.Bindable.Bindable (->) t, Pandora.Pattern.Functor.Semimonoidal.Semimonoidal (Pandora.Paradigm.Primary.Algebraic.Exponential.-->) (Pandora.Paradigm.Primary.Algebraic.Product.:*:) (Pandora.Paradigm.Primary.Algebraic.Product.:*:) u, Pandora.Pattern.Functor.Monoidal.Monoidal (Pandora.Paradigm.Primary.Algebraic.Exponential.-->) (->) (Pandora.Paradigm.Primary.Algebraic.Product.:*:) (Pandora.Paradigm.Primary.Algebraic.Product.:*:) u, Pandora.Pattern.Functor.Bindable.Bindable (->) u) => Pandora.Pattern.Functor.Bindable.Bindable (->) (t Pandora.Paradigm.Schemes.UT.<.:> u)
- Pandora.Paradigm.Schemes.UT: instance Pandora.Pattern.Functor.Monoidal.Monoidal (Pandora.Paradigm.Primary.Algebraic.Exponential.-->) (->) (Pandora.Paradigm.Primary.Algebraic.Product.:*:) (Pandora.Paradigm.Primary.Algebraic.Product.:*:) t => Pandora.Pattern.Transformer.Liftable.Liftable (->) (Pandora.Paradigm.Schemes.UT.UT Pandora.Pattern.Functor.Covariant.Covariant Pandora.Pattern.Functor.Covariant.Covariant t)
- Pandora.Paradigm.Schemes.UT: instance Pandora.Pattern.Functor.Monoidal.Monoidal (Pandora.Paradigm.Primary.Algebraic.Exponential.<--) (->) (Pandora.Paradigm.Primary.Algebraic.Product.:*:) (Pandora.Paradigm.Primary.Algebraic.Product.:*:) t => Pandora.Pattern.Transformer.Lowerable.Lowerable (->) (Pandora.Paradigm.Schemes.UT.UT Pandora.Pattern.Functor.Covariant.Covariant Pandora.Pattern.Functor.Covariant.Covariant t)
- Pandora.Paradigm.Structure.Modification.Comprehension: instance (Pandora.Pattern.Functor.Covariant.Covariant (->) (->) t, Pandora.Pattern.Functor.Monoidal.Monoidal (Pandora.Paradigm.Primary.Algebraic.Exponential.-->) (->) (Pandora.Paradigm.Primary.Algebraic.Product.:*:) (Pandora.Paradigm.Primary.Algebraic.Product.:*:) t) => Pandora.Paradigm.Structure.Ability.Morphable.Morphable 'Pandora.Paradigm.Structure.Ability.Morphable.Push (Pandora.Paradigm.Structure.Modification.Comprehension.Comprehension t)
- Pandora.Paradigm.Structure.Modification.Comprehension: instance (Pandora.Pattern.Functor.Covariant.Covariant (->) (->) t, Pandora.Pattern.Functor.Monoidal.Monoidal (Pandora.Paradigm.Primary.Algebraic.Exponential.-->) (->) (Pandora.Paradigm.Primary.Algebraic.Product.:*:) (Pandora.Paradigm.Primary.Algebraic.Sum.:+:) t) => Pandora.Pattern.Functor.Monoidal.Monoidal (Pandora.Paradigm.Primary.Algebraic.Exponential.-->) (->) (Pandora.Paradigm.Primary.Algebraic.Product.:*:) (Pandora.Paradigm.Primary.Algebraic.Sum.:+:) (Pandora.Paradigm.Structure.Modification.Comprehension.Comprehension t)
- Pandora.Paradigm.Structure.Some.Binary: instance Pandora.Paradigm.Structure.Ability.Morphable.Morphable ('Pandora.Paradigm.Structure.Ability.Morphable.Rotate 'Pandora.Paradigm.Structure.Ability.Morphable.Up) ((Pandora.Paradigm.Primary.Transformer.Construction.Construction Pandora.Paradigm.Primary.Functor.Wye.Wye Pandora.Paradigm.Schemes.T_U.<:.:> (Pandora.Paradigm.Structure.Some.Binary.Bifurcation Pandora.Paradigm.Schemes.TU.<:.> Pandora.Paradigm.Structure.Some.Binary.Bicursor)) Pandora.Core.Functor.:= (Pandora.Paradigm.Primary.Algebraic.Product.:*:))
- Pandora.Paradigm.Structure.Some.Binary: instance Pandora.Paradigm.Structure.Ability.Morphable.Morphable ('Pandora.Paradigm.Structure.Ability.Morphable.Rotate ('Pandora.Paradigm.Structure.Ability.Morphable.Down 'Pandora.Paradigm.Primary.Functor.Wye.Left)) ((Pandora.Paradigm.Primary.Transformer.Construction.Construction Pandora.Paradigm.Primary.Functor.Wye.Wye Pandora.Paradigm.Schemes.T_U.<:.:> (Pandora.Paradigm.Structure.Some.Binary.Bifurcation Pandora.Paradigm.Schemes.TU.<:.> Pandora.Paradigm.Structure.Some.Binary.Bicursor)) Pandora.Core.Functor.:= (Pandora.Paradigm.Primary.Algebraic.Product.:*:))
- Pandora.Paradigm.Structure.Some.Binary: instance Pandora.Paradigm.Structure.Ability.Morphable.Morphable ('Pandora.Paradigm.Structure.Ability.Morphable.Rotate ('Pandora.Paradigm.Structure.Ability.Morphable.Down 'Pandora.Paradigm.Primary.Functor.Wye.Right)) ((Pandora.Paradigm.Primary.Transformer.Construction.Construction Pandora.Paradigm.Primary.Functor.Wye.Wye Pandora.Paradigm.Schemes.T_U.<:.:> (Pandora.Paradigm.Structure.Some.Binary.Bifurcation Pandora.Paradigm.Schemes.TU.<:.> Pandora.Paradigm.Structure.Some.Binary.Bicursor)) Pandora.Core.Functor.:= (Pandora.Paradigm.Primary.Algebraic.Product.:*:))
- Pandora.Paradigm.Structure.Some.List: instance Pandora.Paradigm.Structure.Ability.Morphable.Morphable ('Pandora.Paradigm.Structure.Ability.Morphable.Into (Pandora.Paradigm.Primary.Transformer.Construction.Construction Pandora.Paradigm.Primary.Functor.Maybe.Maybe)) (Pandora.Paradigm.Primary.Transformer.Tap.Tap ((Pandora.Paradigm.Primary.Transformer.Construction.Construction Pandora.Paradigm.Primary.Functor.Maybe.Maybe Pandora.Paradigm.Schemes.T_U.<:.:> Pandora.Paradigm.Primary.Transformer.Construction.Construction Pandora.Paradigm.Primary.Functor.Maybe.Maybe) Pandora.Core.Functor.:= (Pandora.Paradigm.Primary.Algebraic.Product.:*:)))
- Pandora.Paradigm.Structure.Some.List: instance Pandora.Paradigm.Structure.Ability.Morphable.Morphable ('Pandora.Paradigm.Structure.Ability.Morphable.Into (Pandora.Paradigm.Primary.Transformer.Tap.Tap ((Pandora.Paradigm.Primary.Transformer.Construction.Construction Pandora.Paradigm.Primary.Functor.Maybe.Maybe Pandora.Paradigm.Schemes.T_U.<:.:> Pandora.Paradigm.Primary.Transformer.Construction.Construction Pandora.Paradigm.Primary.Functor.Maybe.Maybe) Pandora.Core.Functor.:= (Pandora.Paradigm.Primary.Algebraic.Product.:*:)))) (Pandora.Paradigm.Primary.Transformer.Tap.Tap ((Pandora.Paradigm.Structure.Some.List.List Pandora.Paradigm.Schemes.T_U.<:.:> Pandora.Paradigm.Structure.Some.List.List) Pandora.Core.Functor.:= (Pandora.Paradigm.Primary.Algebraic.Product.:*:)))
- Pandora.Paradigm.Structure.Some.List: instance Pandora.Paradigm.Structure.Ability.Morphable.Morphable ('Pandora.Paradigm.Structure.Ability.Morphable.Into (Pandora.Paradigm.Primary.Transformer.Tap.Tap ((Pandora.Paradigm.Structure.Some.List.List Pandora.Paradigm.Schemes.T_U.<:.:> Pandora.Paradigm.Structure.Some.List.List) Pandora.Core.Functor.:= (Pandora.Paradigm.Primary.Algebraic.Product.:*:)))) (Pandora.Paradigm.Primary.Transformer.Construction.Construction Pandora.Paradigm.Primary.Functor.Maybe.Maybe)
- Pandora.Paradigm.Structure.Some.List: instance Pandora.Paradigm.Structure.Ability.Morphable.Morphable ('Pandora.Paradigm.Structure.Ability.Morphable.Into (Pandora.Paradigm.Primary.Transformer.Tap.Tap ((Pandora.Paradigm.Structure.Some.List.List Pandora.Paradigm.Schemes.T_U.<:.:> Pandora.Paradigm.Structure.Some.List.List) Pandora.Core.Functor.:= (Pandora.Paradigm.Primary.Algebraic.Product.:*:)))) (Pandora.Paradigm.Primary.Transformer.Tap.Tap ((Pandora.Paradigm.Primary.Transformer.Construction.Construction Pandora.Paradigm.Primary.Functor.Maybe.Maybe Pandora.Paradigm.Schemes.T_U.<:.:> Pandora.Paradigm.Primary.Transformer.Construction.Construction Pandora.Paradigm.Primary.Functor.Maybe.Maybe) Pandora.Core.Functor.:= (Pandora.Paradigm.Primary.Algebraic.Product.:*:)))
- Pandora.Paradigm.Structure.Some.List: instance Pandora.Paradigm.Structure.Ability.Morphable.Morphable ('Pandora.Paradigm.Structure.Ability.Morphable.Into (Pandora.Paradigm.Primary.Transformer.Tap.Tap ((Pandora.Paradigm.Structure.Some.List.List Pandora.Paradigm.Schemes.T_U.<:.:> Pandora.Paradigm.Structure.Some.List.List) Pandora.Core.Functor.:= (Pandora.Paradigm.Primary.Algebraic.Product.:*:)))) Pandora.Paradigm.Structure.Some.List.List
- Pandora.Paradigm.Structure.Some.List: instance Pandora.Paradigm.Structure.Ability.Morphable.Morphable ('Pandora.Paradigm.Structure.Ability.Morphable.Into (Pandora.Paradigm.Structure.Modification.Comprehension.Comprehension Pandora.Paradigm.Primary.Functor.Maybe.Maybe)) (Pandora.Paradigm.Primary.Transformer.Tap.Tap ((Pandora.Paradigm.Structure.Some.List.List Pandora.Paradigm.Schemes.T_U.<:.:> Pandora.Paradigm.Structure.Some.List.List) Pandora.Core.Functor.:= (Pandora.Paradigm.Primary.Algebraic.Product.:*:)))
- Pandora.Paradigm.Structure.Some.List: instance Pandora.Paradigm.Structure.Ability.Morphable.Morphable ('Pandora.Paradigm.Structure.Ability.Morphable.Into Pandora.Paradigm.Structure.Some.List.List) (Pandora.Paradigm.Primary.Transformer.Tap.Tap ((Pandora.Paradigm.Primary.Transformer.Construction.Construction Pandora.Paradigm.Primary.Functor.Maybe.Maybe Pandora.Paradigm.Schemes.T_U.<:.:> Pandora.Paradigm.Primary.Transformer.Construction.Construction Pandora.Paradigm.Primary.Functor.Maybe.Maybe) Pandora.Core.Functor.:= (Pandora.Paradigm.Primary.Algebraic.Product.:*:)))
- Pandora.Paradigm.Structure.Some.List: instance Pandora.Paradigm.Structure.Ability.Morphable.Morphable ('Pandora.Paradigm.Structure.Ability.Morphable.Into Pandora.Paradigm.Structure.Some.List.List) (Pandora.Paradigm.Primary.Transformer.Tap.Tap ((Pandora.Paradigm.Structure.Some.List.List Pandora.Paradigm.Schemes.T_U.<:.:> Pandora.Paradigm.Structure.Some.List.List) Pandora.Core.Functor.:= (Pandora.Paradigm.Primary.Algebraic.Product.:*:)))
- Pandora.Paradigm.Structure.Some.List: instance Pandora.Paradigm.Structure.Ability.Morphable.Morphable ('Pandora.Paradigm.Structure.Ability.Morphable.Rotate 'Pandora.Paradigm.Primary.Functor.Wye.Left) (Pandora.Paradigm.Primary.Transformer.Tap.Tap ((Pandora.Paradigm.Primary.Transformer.Construction.Construction Pandora.Paradigm.Primary.Functor.Maybe.Maybe Pandora.Paradigm.Schemes.T_U.<:.:> Pandora.Paradigm.Primary.Transformer.Construction.Construction Pandora.Paradigm.Primary.Functor.Maybe.Maybe) Pandora.Core.Functor.:= (Pandora.Paradigm.Primary.Algebraic.Product.:*:)))
- Pandora.Paradigm.Structure.Some.List: instance Pandora.Paradigm.Structure.Ability.Morphable.Morphable ('Pandora.Paradigm.Structure.Ability.Morphable.Rotate 'Pandora.Paradigm.Primary.Functor.Wye.Left) (Pandora.Paradigm.Primary.Transformer.Tap.Tap ((Pandora.Paradigm.Structure.Some.List.List Pandora.Paradigm.Schemes.T_U.<:.:> Pandora.Paradigm.Structure.Some.List.List) Pandora.Core.Functor.:= (Pandora.Paradigm.Primary.Algebraic.Product.:*:)))
- Pandora.Paradigm.Structure.Some.List: instance Pandora.Paradigm.Structure.Ability.Morphable.Morphable ('Pandora.Paradigm.Structure.Ability.Morphable.Rotate 'Pandora.Paradigm.Primary.Functor.Wye.Right) (Pandora.Paradigm.Primary.Transformer.Tap.Tap ((Pandora.Paradigm.Primary.Transformer.Construction.Construction Pandora.Paradigm.Primary.Functor.Maybe.Maybe Pandora.Paradigm.Schemes.T_U.<:.:> Pandora.Paradigm.Primary.Transformer.Construction.Construction Pandora.Paradigm.Primary.Functor.Maybe.Maybe) Pandora.Core.Functor.:= (Pandora.Paradigm.Primary.Algebraic.Product.:*:)))
- Pandora.Paradigm.Structure.Some.List: instance Pandora.Paradigm.Structure.Ability.Morphable.Morphable ('Pandora.Paradigm.Structure.Ability.Morphable.Rotate 'Pandora.Paradigm.Primary.Functor.Wye.Right) (Pandora.Paradigm.Primary.Transformer.Tap.Tap ((Pandora.Paradigm.Structure.Some.List.List Pandora.Paradigm.Schemes.T_U.<:.:> Pandora.Paradigm.Structure.Some.List.List) Pandora.Core.Functor.:= (Pandora.Paradigm.Primary.Algebraic.Product.:*:)))
- Pandora.Paradigm.Structure.Some.List: instance Pandora.Pattern.Functor.Extendable.Extendable (->) (Pandora.Paradigm.Primary.Transformer.Tap.Tap ((Pandora.Paradigm.Structure.Some.List.List Pandora.Paradigm.Schemes.T_U.<:.:> Pandora.Paradigm.Structure.Some.List.List) Pandora.Core.Functor.:= (Pandora.Paradigm.Primary.Algebraic.Product.:*:)))
- Pandora.Paradigm.Structure.Some.List: instance Pandora.Pattern.Functor.Traversable.Traversable (->) (->) (Pandora.Paradigm.Primary.Transformer.Tap.Tap ((Pandora.Paradigm.Structure.Some.List.List Pandora.Paradigm.Schemes.T_U.<:.:> Pandora.Paradigm.Structure.Some.List.List) Pandora.Core.Functor.:= (Pandora.Paradigm.Primary.Algebraic.Product.:*:)))
- Pandora.Paradigm.Structure.Some.Stream: instance Pandora.Paradigm.Structure.Ability.Morphable.Morphable ('Pandora.Paradigm.Structure.Ability.Morphable.Rotate 'Pandora.Paradigm.Primary.Functor.Wye.Left) (Pandora.Paradigm.Primary.Transformer.Tap.Tap ((Pandora.Paradigm.Structure.Some.Stream.Stream Pandora.Paradigm.Schemes.T_U.<:.:> Pandora.Paradigm.Structure.Some.Stream.Stream) Pandora.Core.Functor.:= (Pandora.Paradigm.Primary.Algebraic.Product.:*:)))
- Pandora.Paradigm.Structure.Some.Stream: instance Pandora.Paradigm.Structure.Ability.Morphable.Morphable ('Pandora.Paradigm.Structure.Ability.Morphable.Rotate 'Pandora.Paradigm.Primary.Functor.Wye.Right) (Pandora.Paradigm.Primary.Transformer.Tap.Tap ((Pandora.Paradigm.Structure.Some.Stream.Stream Pandora.Paradigm.Schemes.T_U.<:.:> Pandora.Paradigm.Structure.Some.Stream.Stream) Pandora.Core.Functor.:= (Pandora.Paradigm.Primary.Algebraic.Product.:*:)))
- Pandora.Paradigm.Structure.Some.Stream: instance Pandora.Pattern.Functor.Extendable.Extendable (->) (Pandora.Paradigm.Primary.Transformer.Tap.Tap ((Pandora.Paradigm.Structure.Some.Stream.Stream Pandora.Paradigm.Schemes.T_U.<:.:> Pandora.Paradigm.Structure.Some.Stream.Stream) Pandora.Core.Functor.:= (Pandora.Paradigm.Primary.Algebraic.Product.:*:)))
- Pandora.Pattern.Functor.Covariant: (<$$$$>) :: forall source between1 between2 between3 target t u v w a b. (Covariant source between1 w, Covariant between1 between2 v, Covariant between2 between3 u, Covariant between3 target t) => source a b -> target (t (u (v (w a)))) (t (u (v (w b))))
- Pandora.Pattern.Morphism.Flip: instance Pandora.Core.Appliable.Appliable (Pandora.Pattern.Morphism.Flip.Flip m) b c m c b
- Pandora.Pattern.Morphism.Straight: instance Pandora.Core.Appliable.Appliable (Pandora.Pattern.Morphism.Straight.Straight m) c b m c b
+ Pandora.Core.Functor: infixl 2 #
+ Pandora.Paradigm.Controlflow.Effect.Adaptable: class Effectful m v t u
+ Pandora.Paradigm.Controlflow.Effect.Adaptable: effect :: Effectful m v t u => m (v a) ((t :> u) # a)
+ Pandora.Paradigm.Controlflow.Effect.Adaptable: instance (Pandora.Paradigm.Primary.Algebraic.Pointable u, Pandora.Paradigm.Controlflow.Effect.Transformer.Monadic.Monadic m t) => Pandora.Paradigm.Controlflow.Effect.Adaptable.Effectful m t t u
+ Pandora.Paradigm.Controlflow.Effect.Adaptable: instance (Pandora.Pattern.Functor.Covariant.Covariant m m u, Pandora.Pattern.Transformer.Liftable.Liftable m ((Pandora.Paradigm.Controlflow.Effect.Transformer.Monadic.:>) t)) => Pandora.Paradigm.Controlflow.Effect.Adaptable.Effectful m u t u
+ Pandora.Paradigm.Controlflow.Effect.Adaptable: instance (Pandora.Pattern.Semigroupoid.Semigroupoid m, Pandora.Paradigm.Controlflow.Effect.Adaptable.Effectful m u t u, Pandora.Paradigm.Controlflow.Effect.Adaptable.Adaptable u m v) => Pandora.Paradigm.Controlflow.Effect.Adaptable.Effectful m v t u
+ Pandora.Paradigm.Controlflow.Effect.Adaptable: instance Pandora.Pattern.Functor.Monoidal.Monoidal (Pandora.Paradigm.Primary.Algebraic.Exponential.-->) (Pandora.Paradigm.Primary.Algebraic.Exponential.-->) (Pandora.Paradigm.Primary.Algebraic.Product.:*:) (Pandora.Paradigm.Primary.Algebraic.Product.:*:) u => Pandora.Paradigm.Controlflow.Effect.Adaptable.Adaptable u (->) Pandora.Paradigm.Primary.Functor.Identity.Identity
+ Pandora.Paradigm.Controlflow.Effect.Adaptable: instance forall k (m :: * -> * -> *) (t :: k -> *). Pandora.Pattern.Category.Category m => Pandora.Paradigm.Controlflow.Effect.Adaptable.Adaptable t m t
+ Pandora.Paradigm.Controlflow.Effect.Adaptable: instance forall k (m :: k -> * -> *) (v :: * -> k) (t :: * -> *) (u :: * -> *). Pandora.Paradigm.Controlflow.Effect.Adaptable.Effectful m v t u => Pandora.Paradigm.Controlflow.Effect.Adaptable.Adaptable (t Pandora.Paradigm.Controlflow.Effect.Transformer.Monadic.:> u) m v
+ Pandora.Paradigm.Controlflow.Effect.Interpreted: (!) :: Interpreted m t => m (t a) (Primary t a)
+ Pandora.Paradigm.Controlflow.Effect.Interpreted: infixl 1 !
+ Pandora.Paradigm.Controlflow.Effect.Transformer.Comonadic: instance Pandora.Pattern.Functor.Monoidal.Monoidal (Pandora.Paradigm.Primary.Algebraic.Exponential.-->) (Pandora.Paradigm.Primary.Algebraic.Exponential.-->) (Pandora.Paradigm.Primary.Algebraic.Product.:*:) (Pandora.Paradigm.Primary.Algebraic.Product.:*:) (Pandora.Paradigm.Controlflow.Effect.Interpreted.Schematic Pandora.Pattern.Functor.Comonad.Comonad t u) => Pandora.Pattern.Functor.Monoidal.Monoidal (Pandora.Paradigm.Primary.Algebraic.Exponential.-->) (Pandora.Paradigm.Primary.Algebraic.Exponential.-->) (Pandora.Paradigm.Primary.Algebraic.Product.:*:) (Pandora.Paradigm.Primary.Algebraic.Product.:*:) (t Pandora.Paradigm.Controlflow.Effect.Transformer.Comonadic.:< u)
+ Pandora.Paradigm.Controlflow.Effect.Transformer.Comonadic: instance Pandora.Pattern.Transformer.Hoistable.Hoistable (->) (Pandora.Paradigm.Controlflow.Effect.Interpreted.Schematic Pandora.Pattern.Functor.Comonad.Comonad t) => Pandora.Pattern.Transformer.Hoistable.Hoistable (->) ((Pandora.Paradigm.Controlflow.Effect.Transformer.Comonadic.:<) t)
+ Pandora.Paradigm.Controlflow.Effect.Transformer.Monadic: instance (Pandora.Pattern.Functor.Covariant.Covariant (->) (->) (Pandora.Paradigm.Controlflow.Effect.Interpreted.Schematic Pandora.Pattern.Functor.Monad.Monad t u), Pandora.Pattern.Functor.Monoidal.Monoidal (Pandora.Paradigm.Primary.Algebraic.Exponential.-->) (Pandora.Paradigm.Primary.Algebraic.Exponential.-->) (Pandora.Paradigm.Primary.Algebraic.Product.:*:) (Pandora.Paradigm.Primary.Algebraic.Product.:*:) (Pandora.Paradigm.Controlflow.Effect.Interpreted.Schematic Pandora.Pattern.Functor.Monad.Monad t u), Pandora.Pattern.Functor.Bindable.Bindable (->) (t Pandora.Paradigm.Controlflow.Effect.Transformer.Monadic.:> u)) => Pandora.Pattern.Functor.Monad.Monad (->) (t Pandora.Paradigm.Controlflow.Effect.Transformer.Monadic.:> u)
+ Pandora.Paradigm.Controlflow.Effect.Transformer.Monadic: instance Pandora.Pattern.Functor.Monoidal.Monoidal (Pandora.Paradigm.Primary.Algebraic.Exponential.-->) (Pandora.Paradigm.Primary.Algebraic.Exponential.-->) (Pandora.Paradigm.Primary.Algebraic.Product.:*:) (Pandora.Paradigm.Primary.Algebraic.Product.:*:) (Pandora.Paradigm.Controlflow.Effect.Interpreted.Schematic Pandora.Pattern.Functor.Monad.Monad t u) => Pandora.Pattern.Functor.Monoidal.Monoidal (Pandora.Paradigm.Primary.Algebraic.Exponential.-->) (Pandora.Paradigm.Primary.Algebraic.Exponential.-->) (Pandora.Paradigm.Primary.Algebraic.Product.:*:) (Pandora.Paradigm.Primary.Algebraic.Product.:*:) (t Pandora.Paradigm.Controlflow.Effect.Transformer.Monadic.:> u)
+ Pandora.Paradigm.Controlflow.Effect.Transformer.Monadic: instance Pandora.Pattern.Functor.Semimonoidal.Semimonoidal (Pandora.Paradigm.Primary.Algebraic.Exponential.-->) (Pandora.Paradigm.Primary.Algebraic.Product.:*:) (Pandora.Paradigm.Primary.Algebraic.Sum.:+:) (Pandora.Paradigm.Controlflow.Effect.Interpreted.Schematic Pandora.Pattern.Functor.Monad.Monad t u) => Pandora.Pattern.Functor.Semimonoidal.Semimonoidal (Pandora.Paradigm.Primary.Algebraic.Exponential.-->) (Pandora.Paradigm.Primary.Algebraic.Product.:*:) (Pandora.Paradigm.Primary.Algebraic.Sum.:+:) (t Pandora.Paradigm.Controlflow.Effect.Transformer.Monadic.:> u)
+ Pandora.Paradigm.Controlflow.Effect.Transformer.Monadic: instance Pandora.Pattern.Transformer.Hoistable.Hoistable (->) (Pandora.Paradigm.Controlflow.Effect.Interpreted.Schematic Pandora.Pattern.Functor.Monad.Monad t) => Pandora.Pattern.Transformer.Hoistable.Hoistable (->) ((Pandora.Paradigm.Controlflow.Effect.Transformer.Monadic.:>) t)
+ Pandora.Paradigm.Inventory: overlook :: (Covariant (->) (->) t, Semimonoidal (<--) (:*:) (:*:) t) => State s result -> State (t s) (t result)
+ Pandora.Paradigm.Inventory.Accumulator: instance Pandora.Pattern.Object.Monoid.Monoid e => Pandora.Paradigm.Controlflow.Effect.Transformer.Monadic.Monadic (->) (Pandora.Paradigm.Inventory.Accumulator.Accumulator e)
+ Pandora.Paradigm.Inventory.Environment: instance Pandora.Paradigm.Controlflow.Effect.Transformer.Monadic.Monadic (->) (Pandora.Paradigm.Inventory.Environment.Environment e)
+ Pandora.Paradigm.Inventory.Environment: instance Pandora.Pattern.Functor.Monad.Monad (->) (Pandora.Paradigm.Inventory.Environment.Environment e)
+ Pandora.Paradigm.Inventory.Environment: instance Pandora.Pattern.Functor.Monoidal.Monoidal (Pandora.Paradigm.Primary.Algebraic.Exponential.-->) (Pandora.Paradigm.Primary.Algebraic.Exponential.-->) (Pandora.Paradigm.Primary.Algebraic.Product.:*:) (Pandora.Paradigm.Primary.Algebraic.Product.:*:) (Pandora.Paradigm.Inventory.Environment.Environment e)
+ Pandora.Paradigm.Inventory.Optics: instance Pandora.Pattern.Object.Semigroup.Semigroup source => Pandora.Pattern.Functor.Semimonoidal.Semimonoidal (Pandora.Paradigm.Primary.Algebraic.Exponential.-->) (Pandora.Paradigm.Primary.Algebraic.Product.:*:) (Pandora.Paradigm.Primary.Algebraic.Product.:*:) (Pandora.Paradigm.Inventory.Optics.Lens Pandora.Paradigm.Primary.Functor.Identity.Identity source)
+ Pandora.Paradigm.Inventory.State: instance Pandora.Paradigm.Controlflow.Effect.Transformer.Monadic.Monadic (->) (Pandora.Paradigm.Inventory.State.State s)
+ Pandora.Paradigm.Inventory.State: instance Pandora.Pattern.Functor.Monoidal.Monoidal (Pandora.Paradigm.Primary.Algebraic.Exponential.-->) (Pandora.Paradigm.Primary.Algebraic.Exponential.-->) (Pandora.Paradigm.Primary.Algebraic.Product.:*:) (Pandora.Paradigm.Primary.Algebraic.Product.:*:) (Pandora.Paradigm.Inventory.State.State s)
+ Pandora.Paradigm.Inventory.Store: instance Pandora.Paradigm.Controlflow.Effect.Transformer.Comonadic.Comonadic (->) (Pandora.Paradigm.Inventory.Store.Store s)
+ Pandora.Paradigm.Inventory.Store: instance Pandora.Pattern.Functor.Monoidal.Monoidal (Pandora.Paradigm.Primary.Algebraic.Exponential.<--) (Pandora.Paradigm.Primary.Algebraic.Exponential.-->) (Pandora.Paradigm.Primary.Algebraic.Product.:*:) (Pandora.Paradigm.Primary.Algebraic.Product.:*:) (Pandora.Paradigm.Inventory.Store.Store s)
+ Pandora.Paradigm.Primary.Algebraic: (-*-) :: (Covariant (->) (->) t, Semimonoidal (-->) (:*:) (:*:) t) => t b -> t a -> t b
+ Pandora.Paradigm.Primary.Algebraic: (<-+-) :: (Covariant (->) (->) t, Semimonoidal (-->) (:*:) (:+:) t) => t b -> t a -> ((a :+: b) -> r) -> t r
+ Pandora.Paradigm.Primary.Algebraic: infixl 3 -+-
+ Pandora.Paradigm.Primary.Algebraic: instance Pandora.Pattern.Functor.Monoidal.Monoidal (Pandora.Paradigm.Primary.Algebraic.Exponential.-->) (Pandora.Paradigm.Primary.Algebraic.Exponential.-->) (Pandora.Paradigm.Primary.Algebraic.Product.:*:) (Pandora.Paradigm.Primary.Algebraic.Product.:*:) ((->) e)
+ Pandora.Paradigm.Primary.Algebraic: instance Pandora.Pattern.Functor.Monoidal.Monoidal (Pandora.Paradigm.Primary.Algebraic.Exponential.-->) (Pandora.Paradigm.Primary.Algebraic.Exponential.-->) (Pandora.Paradigm.Primary.Algebraic.Product.:*:) (Pandora.Paradigm.Primary.Algebraic.Product.:*:) ((Pandora.Paradigm.Primary.Algebraic.Sum.:+:) e)
+ Pandora.Paradigm.Primary.Algebraic: instance Pandora.Pattern.Functor.Monoidal.Monoidal (Pandora.Paradigm.Primary.Algebraic.Exponential.<--) (Pandora.Paradigm.Primary.Algebraic.Exponential.-->) (Pandora.Paradigm.Primary.Algebraic.Product.:*:) (Pandora.Paradigm.Primary.Algebraic.Product.:*:) ((Pandora.Paradigm.Primary.Algebraic.Product.:*:) s)
+ Pandora.Paradigm.Primary.Algebraic: instance Pandora.Pattern.Functor.Monoidal.Monoidal (Pandora.Paradigm.Primary.Algebraic.Exponential.<--) (Pandora.Paradigm.Primary.Algebraic.Exponential.-->) (Pandora.Paradigm.Primary.Algebraic.Product.:*:) (Pandora.Paradigm.Primary.Algebraic.Product.:*:) (Pandora.Pattern.Morphism.Flip.Flip (Pandora.Paradigm.Primary.Algebraic.Product.:*:) a)
+ Pandora.Paradigm.Primary.Algebraic: pass :: Pointable t => t ()
+ Pandora.Paradigm.Primary.Algebraic: type Decidable t = (Covariant (->) (->) t, Semimonoidal (<--) (:*:) (:+:) t, Monoidal (-->) (<--) (:*:) (:+:) t)
+ Pandora.Paradigm.Primary.Algebraic: type Divisible t = (Covariant (->) (->) t, Semimonoidal (<--) (:*:) (:*:) t, Monoidal (-->) (<--) (:*:) (:*:) t)
+ Pandora.Paradigm.Primary.Algebraic.Product: instance (Pandora.Pattern.Functor.Semimonoidal.Semimonoidal (Pandora.Paradigm.Primary.Algebraic.Exponential.-->) (Pandora.Paradigm.Primary.Algebraic.Product.:*:) (Pandora.Paradigm.Primary.Algebraic.Product.:*:) t, Pandora.Pattern.Functor.Semimonoidal.Semimonoidal (Pandora.Paradigm.Primary.Algebraic.Exponential.-->) (Pandora.Paradigm.Primary.Algebraic.Product.:*:) (Pandora.Paradigm.Primary.Algebraic.Product.:*:) u) => Pandora.Pattern.Functor.Semimonoidal.Semimonoidal (Pandora.Paradigm.Primary.Algebraic.Exponential.-->) (Pandora.Paradigm.Primary.Algebraic.Product.:*:) (Pandora.Paradigm.Primary.Algebraic.Product.:*:) ((t Pandora.Paradigm.Schemes.T_U.<:.:> u) Pandora.Core.Functor.:= (Pandora.Paradigm.Primary.Algebraic.Product.:*:))
+ Pandora.Paradigm.Primary.Functor.Conclusion: instance (Pandora.Pattern.Functor.Monoidal.Monoidal (Pandora.Paradigm.Primary.Algebraic.Exponential.-->) (Pandora.Paradigm.Primary.Algebraic.Exponential.-->) (Pandora.Paradigm.Primary.Algebraic.Product.:*:) (Pandora.Paradigm.Primary.Algebraic.Product.:*:) u, Pandora.Pattern.Functor.Bindable.Bindable (->) u) => Pandora.Paradigm.Primary.Functor.Conclusion.Catchable e (Pandora.Paradigm.Primary.Functor.Conclusion.Conclusion e Pandora.Paradigm.Schemes.UT.<.:> u)
+ Pandora.Paradigm.Primary.Functor.Conclusion: instance Pandora.Paradigm.Controlflow.Effect.Transformer.Monadic.Monadic (->) (Pandora.Paradigm.Primary.Functor.Conclusion.Conclusion e)
+ Pandora.Paradigm.Primary.Functor.Conclusion: instance Pandora.Pattern.Functor.Monoidal.Monoidal (Pandora.Paradigm.Primary.Algebraic.Exponential.-->) (Pandora.Paradigm.Primary.Algebraic.Exponential.-->) (Pandora.Paradigm.Primary.Algebraic.Product.:*:) (Pandora.Paradigm.Primary.Algebraic.Product.:*:) (Pandora.Paradigm.Primary.Functor.Conclusion.Conclusion e)
+ Pandora.Paradigm.Primary.Functor.Convergence: instance Pandora.Pattern.Object.Monoid.Monoid r => Pandora.Pattern.Functor.Monoidal.Monoidal (Pandora.Paradigm.Primary.Algebraic.Exponential.-->) (Pandora.Paradigm.Primary.Algebraic.Exponential.<--) (Pandora.Paradigm.Primary.Algebraic.Product.:*:) (Pandora.Paradigm.Primary.Algebraic.Product.:*:) (Pandora.Paradigm.Primary.Functor.Convergence.Convergence r)
+ Pandora.Paradigm.Primary.Functor.Convergence: instance Pandora.Pattern.Object.Semigroup.Semigroup r => Pandora.Pattern.Functor.Semimonoidal.Semimonoidal (Pandora.Paradigm.Primary.Algebraic.Exponential.-->) (Pandora.Paradigm.Primary.Algebraic.Product.:*:) (Pandora.Paradigm.Primary.Algebraic.Product.:*:) (Pandora.Paradigm.Primary.Functor.Convergence.Convergence r)
+ Pandora.Paradigm.Primary.Functor.Identity: instance Pandora.Pattern.Functor.Monoidal.Monoidal (Pandora.Paradigm.Primary.Algebraic.Exponential.-->) (Pandora.Paradigm.Primary.Algebraic.Exponential.-->) (Pandora.Paradigm.Primary.Algebraic.Product.:*:) (Pandora.Paradigm.Primary.Algebraic.Product.:*:) Pandora.Paradigm.Primary.Functor.Identity.Identity
+ Pandora.Paradigm.Primary.Functor.Identity: instance Pandora.Pattern.Functor.Monoidal.Monoidal (Pandora.Paradigm.Primary.Algebraic.Exponential.<--) (Pandora.Paradigm.Primary.Algebraic.Exponential.-->) (Pandora.Paradigm.Primary.Algebraic.Product.:*:) (Pandora.Paradigm.Primary.Algebraic.Product.:*:) Pandora.Paradigm.Primary.Functor.Identity.Identity
+ Pandora.Paradigm.Primary.Functor.Maybe: instance Pandora.Paradigm.Controlflow.Effect.Transformer.Monadic.Monadic (->) Pandora.Paradigm.Primary.Functor.Maybe.Maybe
+ Pandora.Paradigm.Primary.Functor.Maybe: instance Pandora.Pattern.Functor.Monoidal.Monoidal (Pandora.Paradigm.Primary.Algebraic.Exponential.-->) (Pandora.Paradigm.Primary.Algebraic.Exponential.-->) (Pandora.Paradigm.Primary.Algebraic.Product.:*:) (Pandora.Paradigm.Primary.Algebraic.Product.:*:) Pandora.Paradigm.Primary.Functor.Maybe.Maybe
+ Pandora.Paradigm.Primary.Functor.Maybe: instance Pandora.Pattern.Functor.Monoidal.Monoidal (Pandora.Paradigm.Primary.Algebraic.Exponential.-->) (Pandora.Paradigm.Primary.Algebraic.Exponential.-->) (Pandora.Paradigm.Primary.Algebraic.Product.:*:) (Pandora.Paradigm.Primary.Algebraic.Sum.:+:) Pandora.Paradigm.Primary.Functor.Maybe.Maybe
+ Pandora.Paradigm.Primary.Functor.Predicate: instance Pandora.Pattern.Functor.Monoidal.Monoidal (Pandora.Paradigm.Primary.Algebraic.Exponential.-->) (Pandora.Paradigm.Primary.Algebraic.Exponential.<--) (Pandora.Paradigm.Primary.Algebraic.Product.:*:) (Pandora.Paradigm.Primary.Algebraic.Product.:*:) Pandora.Paradigm.Primary.Functor.Predicate.Predicate
+ Pandora.Paradigm.Primary.Functor.Predicate: instance Pandora.Pattern.Functor.Semimonoidal.Semimonoidal (Pandora.Paradigm.Primary.Algebraic.Exponential.-->) (Pandora.Paradigm.Primary.Algebraic.Product.:*:) (Pandora.Paradigm.Primary.Algebraic.Product.:*:) Pandora.Paradigm.Primary.Functor.Predicate.Predicate
+ Pandora.Paradigm.Primary.Functor.Predicate: instance Pandora.Pattern.Functor.Semimonoidal.Semimonoidal (Pandora.Paradigm.Primary.Algebraic.Exponential.-->) (Pandora.Paradigm.Primary.Algebraic.Product.:*:) (Pandora.Paradigm.Primary.Algebraic.Sum.:+:) Pandora.Paradigm.Primary.Functor.Predicate.Predicate
+ Pandora.Paradigm.Primary.Functor.Tagged: instance forall k (tag :: k). Pandora.Pattern.Functor.Monoidal.Monoidal (Pandora.Paradigm.Primary.Algebraic.Exponential.-->) (Pandora.Paradigm.Primary.Algebraic.Exponential.-->) (Pandora.Paradigm.Primary.Algebraic.Product.:*:) (Pandora.Paradigm.Primary.Algebraic.Product.:*:) (Pandora.Paradigm.Primary.Functor.Tagged.Tagged tag)
+ Pandora.Paradigm.Primary.Functor.Tagged: instance forall k (tag :: k). Pandora.Pattern.Functor.Monoidal.Monoidal (Pandora.Paradigm.Primary.Algebraic.Exponential.<--) (Pandora.Paradigm.Primary.Algebraic.Exponential.-->) (Pandora.Paradigm.Primary.Algebraic.Product.:*:) (Pandora.Paradigm.Primary.Algebraic.Product.:*:) (Pandora.Paradigm.Primary.Functor.Tagged.Tagged tag)
+ Pandora.Paradigm.Primary.Functor.Validation: instance Pandora.Pattern.Object.Semigroup.Semigroup e => Pandora.Pattern.Functor.Monoidal.Monoidal (Pandora.Paradigm.Primary.Algebraic.Exponential.-->) (Pandora.Paradigm.Primary.Algebraic.Exponential.-->) (Pandora.Paradigm.Primary.Algebraic.Product.:*:) (Pandora.Paradigm.Primary.Algebraic.Product.:*:) (Pandora.Paradigm.Primary.Functor.Validation.Validation e)
+ Pandora.Paradigm.Primary.Transformer.Backwards: instance (Pandora.Pattern.Functor.Covariant.Covariant (->) (->) t, Pandora.Pattern.Functor.Monoidal.Monoidal (Pandora.Paradigm.Primary.Algebraic.Exponential.-->) (Pandora.Paradigm.Primary.Algebraic.Exponential.-->) (Pandora.Paradigm.Primary.Algebraic.Product.:*:) (Pandora.Paradigm.Primary.Algebraic.Product.:*:) t) => Pandora.Pattern.Functor.Monoidal.Monoidal (Pandora.Paradigm.Primary.Algebraic.Exponential.-->) (Pandora.Paradigm.Primary.Algebraic.Exponential.-->) (Pandora.Paradigm.Primary.Algebraic.Product.:*:) (Pandora.Paradigm.Primary.Algebraic.Product.:*:) (Pandora.Paradigm.Primary.Transformer.Backwards.Backwards t)
+ Pandora.Paradigm.Primary.Transformer.Backwards: instance (Pandora.Pattern.Functor.Covariant.Covariant (->) (->) t, Pandora.Pattern.Functor.Monoidal.Monoidal (Pandora.Paradigm.Primary.Algebraic.Exponential.<--) (Pandora.Paradigm.Primary.Algebraic.Exponential.-->) (Pandora.Paradigm.Primary.Algebraic.Product.:*:) (Pandora.Paradigm.Primary.Algebraic.Product.:*:) t) => Pandora.Pattern.Functor.Monoidal.Monoidal (Pandora.Paradigm.Primary.Algebraic.Exponential.<--) (Pandora.Paradigm.Primary.Algebraic.Exponential.-->) (Pandora.Paradigm.Primary.Algebraic.Product.:*:) (Pandora.Paradigm.Primary.Algebraic.Product.:*:) (Pandora.Paradigm.Primary.Transformer.Backwards.Backwards t)
+ Pandora.Paradigm.Primary.Transformer.Backwards: instance Pandora.Pattern.Transformer.Hoistable.Hoistable (->) Pandora.Paradigm.Primary.Transformer.Backwards.Backwards
+ Pandora.Paradigm.Primary.Transformer.Construction: instance (Pandora.Pattern.Functor.Covariant.Covariant (->) (->) t, Pandora.Pattern.Functor.Semimonoidal.Semimonoidal (Pandora.Paradigm.Primary.Algebraic.Exponential.-->) (Pandora.Paradigm.Primary.Algebraic.Product.:*:) (Pandora.Paradigm.Primary.Algebraic.Product.:*:) t, Pandora.Pattern.Functor.Monoidal.Monoidal (Pandora.Paradigm.Primary.Algebraic.Exponential.-->) (Pandora.Paradigm.Primary.Algebraic.Exponential.-->) (Pandora.Paradigm.Primary.Algebraic.Product.:*:) (Pandora.Paradigm.Primary.Algebraic.Sum.:+:) t) => Pandora.Pattern.Functor.Monoidal.Monoidal (Pandora.Paradigm.Primary.Algebraic.Exponential.-->) (Pandora.Paradigm.Primary.Algebraic.Exponential.-->) (Pandora.Paradigm.Primary.Algebraic.Product.:*:) (Pandora.Paradigm.Primary.Algebraic.Product.:*:) (Pandora.Paradigm.Primary.Transformer.Construction.Construction t)
+ Pandora.Paradigm.Primary.Transformer.Construction: instance (Pandora.Pattern.Functor.Covariant.Covariant (->) (->) t, Pandora.Pattern.Functor.Semimonoidal.Semimonoidal (Pandora.Paradigm.Primary.Algebraic.Exponential.<--) (Pandora.Paradigm.Primary.Algebraic.Product.:*:) (Pandora.Paradigm.Primary.Algebraic.Product.:*:) t) => Pandora.Pattern.Functor.Monoidal.Monoidal (Pandora.Paradigm.Primary.Algebraic.Exponential.<--) (Pandora.Paradigm.Primary.Algebraic.Exponential.-->) (Pandora.Paradigm.Primary.Algebraic.Product.:*:) (Pandora.Paradigm.Primary.Algebraic.Product.:*:) (Pandora.Paradigm.Primary.Transformer.Construction.Construction t)
+ Pandora.Paradigm.Primary.Transformer.Construction: instance (forall (u :: * -> *). Pandora.Pattern.Functor.Semimonoidal.Semimonoidal (Pandora.Paradigm.Primary.Algebraic.Exponential.<--) (Pandora.Paradigm.Primary.Algebraic.Product.:*:) (Pandora.Paradigm.Primary.Algebraic.Product.:*:) u, forall (u :: * -> *). Pandora.Pattern.Functor.Covariant.Covariant (->) (->) u) => Pandora.Pattern.Transformer.Hoistable.Hoistable (->) Pandora.Paradigm.Primary.Transformer.Construction.Construction
+ Pandora.Paradigm.Primary.Transformer.Day: instance Pandora.Pattern.Transformer.Hoistable.Hoistable (->) (Pandora.Paradigm.Primary.Transformer.Day.Day t)
+ Pandora.Paradigm.Primary.Transformer.Instruction: instance (Pandora.Pattern.Functor.Covariant.Covariant (->) (->) t, Pandora.Pattern.Functor.Semimonoidal.Semimonoidal (Pandora.Paradigm.Primary.Algebraic.Exponential.-->) (Pandora.Paradigm.Primary.Algebraic.Product.:*:) (Pandora.Paradigm.Primary.Algebraic.Product.:*:) t) => Pandora.Pattern.Functor.Monoidal.Monoidal (Pandora.Paradigm.Primary.Algebraic.Exponential.-->) (Pandora.Paradigm.Primary.Algebraic.Exponential.-->) (Pandora.Paradigm.Primary.Algebraic.Product.:*:) (Pandora.Paradigm.Primary.Algebraic.Product.:*:) (Pandora.Paradigm.Primary.Transformer.Instruction.Instruction t)
+ Pandora.Paradigm.Primary.Transformer.Instruction: instance (forall (t :: * -> *). Pandora.Pattern.Functor.Bindable.Bindable (->) t, forall (t :: * -> *). Pandora.Pattern.Functor.Monoidal.Monoidal (Pandora.Paradigm.Primary.Algebraic.Exponential.-->) (Pandora.Paradigm.Primary.Algebraic.Exponential.-->) (Pandora.Paradigm.Primary.Algebraic.Product.:*:) (Pandora.Paradigm.Primary.Algebraic.Product.:*:) t) => Pandora.Pattern.Transformer.Lowerable.Lowerable (->) Pandora.Paradigm.Primary.Transformer.Instruction.Instruction
+ Pandora.Paradigm.Primary.Transformer.Instruction: instance (forall (v :: * -> *). Pandora.Pattern.Functor.Covariant.Covariant (->) (->) v) => Pandora.Pattern.Transformer.Hoistable.Hoistable (->) Pandora.Paradigm.Primary.Transformer.Instruction.Instruction
+ Pandora.Paradigm.Primary.Transformer.Jack: instance (Pandora.Pattern.Functor.Monoidal.Monoidal (Pandora.Paradigm.Primary.Algebraic.Exponential.-->) (Pandora.Paradigm.Primary.Algebraic.Exponential.-->) (Pandora.Paradigm.Primary.Algebraic.Product.:*:) (Pandora.Paradigm.Primary.Algebraic.Product.:*:) t, Pandora.Pattern.Functor.Bindable.Bindable (->) t) => Pandora.Pattern.Functor.Bindable.Bindable (->) (Pandora.Paradigm.Primary.Transformer.Jack.Jack t)
+ Pandora.Paradigm.Primary.Transformer.Jack: instance Pandora.Pattern.Transformer.Hoistable.Hoistable (->) Pandora.Paradigm.Primary.Transformer.Jack.Jack
+ Pandora.Paradigm.Primary.Transformer.Outline: instance Pandora.Pattern.Transformer.Hoistable.Hoistable (->) Pandora.Paradigm.Primary.Transformer.Outline.Outline
+ Pandora.Paradigm.Primary.Transformer.Reverse: instance (Pandora.Pattern.Functor.Covariant.Covariant (->) (->) t, Pandora.Pattern.Functor.Monoidal.Monoidal (Pandora.Paradigm.Primary.Algebraic.Exponential.-->) (Pandora.Paradigm.Primary.Algebraic.Exponential.-->) (Pandora.Paradigm.Primary.Algebraic.Product.:*:) (Pandora.Paradigm.Primary.Algebraic.Product.:*:) t) => Pandora.Pattern.Functor.Monoidal.Monoidal (Pandora.Paradigm.Primary.Algebraic.Exponential.-->) (Pandora.Paradigm.Primary.Algebraic.Exponential.-->) (Pandora.Paradigm.Primary.Algebraic.Product.:*:) (Pandora.Paradigm.Primary.Algebraic.Product.:*:) (Pandora.Paradigm.Primary.Transformer.Reverse.Reverse t)
+ Pandora.Paradigm.Primary.Transformer.Reverse: instance (Pandora.Pattern.Functor.Covariant.Covariant (->) (->) t, Pandora.Pattern.Functor.Monoidal.Monoidal (Pandora.Paradigm.Primary.Algebraic.Exponential.<--) (Pandora.Paradigm.Primary.Algebraic.Exponential.-->) (Pandora.Paradigm.Primary.Algebraic.Product.:*:) (Pandora.Paradigm.Primary.Algebraic.Product.:*:) t) => Pandora.Pattern.Functor.Monoidal.Monoidal (Pandora.Paradigm.Primary.Algebraic.Exponential.<--) (Pandora.Paradigm.Primary.Algebraic.Exponential.-->) (Pandora.Paradigm.Primary.Algebraic.Product.:*:) (Pandora.Paradigm.Primary.Algebraic.Product.:*:) (Pandora.Paradigm.Primary.Transformer.Reverse.Reverse t)
+ Pandora.Paradigm.Primary.Transformer.Reverse: instance Pandora.Pattern.Transformer.Hoistable.Hoistable (->) Pandora.Paradigm.Primary.Transformer.Reverse.Reverse
+ Pandora.Paradigm.Primary.Transformer.Tap: instance Pandora.Pattern.Functor.Semimonoidal.Semimonoidal (Pandora.Paradigm.Primary.Algebraic.Exponential.<--) (Pandora.Paradigm.Primary.Algebraic.Product.:*:) (Pandora.Paradigm.Primary.Algebraic.Product.:*:) t => Pandora.Pattern.Functor.Monoidal.Monoidal (Pandora.Paradigm.Primary.Algebraic.Exponential.<--) (Pandora.Paradigm.Primary.Algebraic.Exponential.-->) (Pandora.Paradigm.Primary.Algebraic.Product.:*:) (Pandora.Paradigm.Primary.Algebraic.Product.:*:) (Pandora.Paradigm.Primary.Transformer.Tap.Tap t)
+ Pandora.Paradigm.Primary.Transformer.Tap: instance Pandora.Pattern.Transformer.Hoistable.Hoistable (->) Pandora.Paradigm.Primary.Transformer.Tap.Tap
+ Pandora.Paradigm.Schemes.TU: instance (Pandora.Pattern.Functor.Covariant.Covariant (->) (->) t, Pandora.Pattern.Functor.Covariant.Covariant (->) (->) u, Pandora.Pattern.Functor.Semimonoidal.Semimonoidal (Pandora.Paradigm.Primary.Algebraic.Exponential.-->) (Pandora.Paradigm.Primary.Algebraic.Product.:*:) (Pandora.Paradigm.Primary.Algebraic.Product.:*:) t, Pandora.Pattern.Functor.Semimonoidal.Semimonoidal (Pandora.Paradigm.Primary.Algebraic.Exponential.-->) (Pandora.Paradigm.Primary.Algebraic.Product.:*:) (Pandora.Paradigm.Primary.Algebraic.Sum.:+:) u) => Pandora.Pattern.Functor.Semimonoidal.Semimonoidal (Pandora.Paradigm.Primary.Algebraic.Exponential.-->) (Pandora.Paradigm.Primary.Algebraic.Product.:*:) (Pandora.Paradigm.Primary.Algebraic.Sum.:+:) (t Pandora.Paradigm.Schemes.TU.<:.> u)
+ Pandora.Paradigm.Schemes.TU: instance (Pandora.Pattern.Functor.Covariant.Covariant (->) (->) t, Pandora.Pattern.Functor.Covariant.Covariant (->) (->) u, Pandora.Pattern.Functor.Semimonoidal.Semimonoidal (Pandora.Paradigm.Primary.Algebraic.Exponential.-->) (Pandora.Paradigm.Primary.Algebraic.Product.:*:) (Pandora.Paradigm.Primary.Algebraic.Product.:*:) t, Pandora.Pattern.Functor.Semimonoidal.Semimonoidal (Pandora.Paradigm.Primary.Algebraic.Exponential.-->) (Pandora.Paradigm.Primary.Algebraic.Product.:*:) (Pandora.Paradigm.Primary.Algebraic.Sum.:+:) u, Pandora.Pattern.Functor.Monoidal.Monoidal (Pandora.Paradigm.Primary.Algebraic.Exponential.-->) (Pandora.Paradigm.Primary.Algebraic.Exponential.-->) (Pandora.Paradigm.Primary.Algebraic.Product.:*:) (Pandora.Paradigm.Primary.Algebraic.Sum.:+:) t) => Pandora.Pattern.Functor.Monoidal.Monoidal (Pandora.Paradigm.Primary.Algebraic.Exponential.-->) (Pandora.Paradigm.Primary.Algebraic.Exponential.-->) (Pandora.Paradigm.Primary.Algebraic.Product.:*:) (Pandora.Paradigm.Primary.Algebraic.Sum.:+:) (t Pandora.Paradigm.Schemes.TU.<:.> u)
+ Pandora.Paradigm.Schemes.TU: instance (Pandora.Pattern.Functor.Covariant.Covariant (->) (->) t, Pandora.Pattern.Functor.Covariant.Covariant (->) (->) u, Pandora.Pattern.Functor.Semimonoidal.Semimonoidal (Pandora.Paradigm.Primary.Algebraic.Exponential.-->) (Pandora.Paradigm.Primary.Algebraic.Product.:*:) (Pandora.Paradigm.Primary.Algebraic.Product.:*:) u, Pandora.Pattern.Functor.Monoidal.Monoidal (Pandora.Paradigm.Primary.Algebraic.Exponential.-->) (Pandora.Paradigm.Primary.Algebraic.Exponential.-->) (Pandora.Paradigm.Primary.Algebraic.Product.:*:) (Pandora.Paradigm.Primary.Algebraic.Product.:*:) t, Pandora.Pattern.Functor.Monoidal.Monoidal (Pandora.Paradigm.Primary.Algebraic.Exponential.-->) (Pandora.Paradigm.Primary.Algebraic.Exponential.-->) (Pandora.Paradigm.Primary.Algebraic.Product.:*:) (Pandora.Paradigm.Primary.Algebraic.Product.:*:) u) => Pandora.Pattern.Functor.Monoidal.Monoidal (Pandora.Paradigm.Primary.Algebraic.Exponential.-->) (Pandora.Paradigm.Primary.Algebraic.Exponential.-->) (Pandora.Paradigm.Primary.Algebraic.Product.:*:) (Pandora.Paradigm.Primary.Algebraic.Product.:*:) (t Pandora.Paradigm.Schemes.TU.<:.> u)
+ Pandora.Paradigm.Schemes.TU: instance (Pandora.Pattern.Functor.Covariant.Covariant (->) (->) t, Pandora.Pattern.Functor.Monoidal.Monoidal (Pandora.Paradigm.Primary.Algebraic.Exponential.<--) (Pandora.Paradigm.Primary.Algebraic.Exponential.-->) (Pandora.Paradigm.Primary.Algebraic.Product.:*:) (Pandora.Paradigm.Primary.Algebraic.Product.:*:) t, Pandora.Pattern.Functor.Monoidal.Monoidal (Pandora.Paradigm.Primary.Algebraic.Exponential.<--) (Pandora.Paradigm.Primary.Algebraic.Exponential.-->) (Pandora.Paradigm.Primary.Algebraic.Product.:*:) (Pandora.Paradigm.Primary.Algebraic.Product.:*:) u) => Pandora.Pattern.Functor.Monoidal.Monoidal (Pandora.Paradigm.Primary.Algebraic.Exponential.<--) (Pandora.Paradigm.Primary.Algebraic.Exponential.-->) (Pandora.Paradigm.Primary.Algebraic.Product.:*:) (Pandora.Paradigm.Primary.Algebraic.Product.:*:) (t Pandora.Paradigm.Schemes.TU.<:.> u)
+ Pandora.Paradigm.Schemes.TU: instance (Pandora.Pattern.Semigroupoid.Semigroupoid m, Pandora.Pattern.Functor.Covariant.Covariant (Pandora.Pattern.Betwixt.Betwixt m m) m t, Pandora.Pattern.Functor.Covariant.Covariant m (Pandora.Pattern.Betwixt.Betwixt m m) u, Pandora.Paradigm.Controlflow.Effect.Interpreted.Interpreted m (t Pandora.Paradigm.Schemes.TU.<:.> u)) => Pandora.Pattern.Functor.Covariant.Covariant m m (t Pandora.Paradigm.Schemes.TU.<:.> u)
+ Pandora.Paradigm.Schemes.TU: instance Pandora.Pattern.Functor.Covariant.Covariant (->) (->) t => Pandora.Pattern.Transformer.Hoistable.Hoistable (->) (Pandora.Paradigm.Schemes.TU.TU Pandora.Pattern.Functor.Covariant.Covariant Pandora.Pattern.Functor.Covariant.Covariant t)
+ Pandora.Paradigm.Schemes.TU: instance Pandora.Pattern.Functor.Monoidal.Monoidal (Pandora.Paradigm.Primary.Algebraic.Exponential.-->) (Pandora.Paradigm.Primary.Algebraic.Exponential.-->) (Pandora.Paradigm.Primary.Algebraic.Product.:*:) (Pandora.Paradigm.Primary.Algebraic.Product.:*:) t => Pandora.Pattern.Transformer.Liftable.Liftable (->) (Pandora.Paradigm.Schemes.TU.TU Pandora.Pattern.Functor.Covariant.Covariant Pandora.Pattern.Functor.Covariant.Covariant t)
+ Pandora.Paradigm.Schemes.TU: instance Pandora.Pattern.Functor.Monoidal.Monoidal (Pandora.Paradigm.Primary.Algebraic.Exponential.<--) (Pandora.Paradigm.Primary.Algebraic.Exponential.-->) (Pandora.Paradigm.Primary.Algebraic.Product.:*:) (Pandora.Paradigm.Primary.Algebraic.Product.:*:) t => Pandora.Pattern.Transformer.Lowerable.Lowerable (->) (Pandora.Paradigm.Schemes.TU.TU Pandora.Pattern.Functor.Covariant.Covariant Pandora.Pattern.Functor.Covariant.Covariant t)
+ Pandora.Paradigm.Schemes.TUT: instance (Pandora.Pattern.Functor.Adjoint.Adjoint (->) (->) t' t, Pandora.Pattern.Functor.Bindable.Bindable (->) u) => Pandora.Pattern.Functor.Semimonoidal.Semimonoidal (Pandora.Paradigm.Primary.Algebraic.Exponential.-->) (Pandora.Paradigm.Primary.Algebraic.Product.:*:) (Pandora.Paradigm.Primary.Algebraic.Product.:*:) ((t Pandora.Paradigm.Schemes.TUT.<:<.>:> t') Pandora.Core.Functor.:= u)
+ Pandora.Paradigm.Schemes.TUT: instance (Pandora.Pattern.Functor.Bindable.Bindable (->) u, Pandora.Pattern.Functor.Monoidal.Monoidal (Pandora.Paradigm.Primary.Algebraic.Exponential.-->) (Pandora.Paradigm.Primary.Algebraic.Exponential.-->) (Pandora.Paradigm.Primary.Algebraic.Product.:*:) (Pandora.Paradigm.Primary.Algebraic.Product.:*:) u, Pandora.Pattern.Functor.Adjoint.Adjoint (->) (->) t' t) => Pandora.Pattern.Functor.Monoidal.Monoidal (Pandora.Paradigm.Primary.Algebraic.Exponential.-->) (Pandora.Paradigm.Primary.Algebraic.Exponential.-->) (Pandora.Paradigm.Primary.Algebraic.Product.:*:) (Pandora.Paradigm.Primary.Algebraic.Product.:*:) ((t Pandora.Paradigm.Schemes.TUT.<:<.>:> t') Pandora.Core.Functor.:= u)
+ Pandora.Paradigm.Schemes.TUT: instance (Pandora.Pattern.Functor.Covariant.Covariant (->) (->) t, Pandora.Pattern.Functor.Covariant.Covariant (->) (->) u, Pandora.Pattern.Functor.Semimonoidal.Semimonoidal (Pandora.Paradigm.Primary.Algebraic.Exponential.<--) (Pandora.Paradigm.Primary.Algebraic.Product.:*:) (Pandora.Paradigm.Primary.Algebraic.Product.:*:) t, Pandora.Pattern.Functor.Semimonoidal.Semimonoidal (Pandora.Paradigm.Primary.Algebraic.Exponential.<--) (Pandora.Paradigm.Primary.Algebraic.Product.:*:) (Pandora.Paradigm.Primary.Algebraic.Product.:*:) t', Pandora.Pattern.Functor.Monoidal.Monoidal (Pandora.Paradigm.Primary.Algebraic.Exponential.<--) (Pandora.Paradigm.Primary.Algebraic.Exponential.-->) (Pandora.Paradigm.Primary.Algebraic.Product.:*:) (Pandora.Paradigm.Primary.Algebraic.Product.:*:) u, Pandora.Pattern.Functor.Adjoint.Adjoint (->) (->) t t') => Pandora.Pattern.Functor.Monoidal.Monoidal (Pandora.Paradigm.Primary.Algebraic.Exponential.<--) (Pandora.Paradigm.Primary.Algebraic.Exponential.-->) (Pandora.Paradigm.Primary.Algebraic.Product.:*:) (Pandora.Paradigm.Primary.Algebraic.Product.:*:) ((t Pandora.Paradigm.Schemes.TUT.<:<.>:> t') Pandora.Core.Functor.:= u)
+ Pandora.Paradigm.Schemes.TUT: instance (Pandora.Pattern.Functor.Covariant.Covariant (->) (->) u, Pandora.Pattern.Functor.Semimonoidal.Semimonoidal (Pandora.Paradigm.Primary.Algebraic.Exponential.-->) (Pandora.Paradigm.Primary.Algebraic.Product.:*:) (Pandora.Paradigm.Primary.Algebraic.Sum.:+:) u) => Pandora.Pattern.Functor.Semimonoidal.Semimonoidal (Pandora.Paradigm.Primary.Algebraic.Exponential.-->) (Pandora.Paradigm.Primary.Algebraic.Product.:*:) (Pandora.Paradigm.Primary.Algebraic.Sum.:+:) (((->) s Pandora.Paradigm.Schemes.TUT.<:<.>:> (Pandora.Paradigm.Primary.Algebraic.Product.:*:) s) Pandora.Core.Functor.:= u)
+ Pandora.Paradigm.Schemes.TUT: instance (Pandora.Pattern.Semigroupoid.Semigroupoid m, Pandora.Pattern.Functor.Covariant.Covariant (Pandora.Pattern.Betwixt.Betwixt (Pandora.Pattern.Betwixt.Betwixt m m) m) m t, Pandora.Pattern.Functor.Covariant.Covariant (Pandora.Pattern.Betwixt.Betwixt m (Pandora.Pattern.Betwixt.Betwixt m m)) (Pandora.Pattern.Betwixt.Betwixt (Pandora.Pattern.Betwixt.Betwixt m m) m) u, Pandora.Pattern.Functor.Covariant.Covariant m (Pandora.Pattern.Betwixt.Betwixt m (Pandora.Pattern.Betwixt.Betwixt m m)) t', Pandora.Paradigm.Controlflow.Effect.Interpreted.Interpreted m ((t Pandora.Paradigm.Schemes.TUT.<:<.>:> t') Pandora.Core.Functor.:= u)) => Pandora.Pattern.Functor.Covariant.Covariant m m ((t Pandora.Paradigm.Schemes.TUT.<:<.>:> t') Pandora.Core.Functor.:= u)
+ Pandora.Paradigm.Schemes.TUT: product_over_sum :: ((s :*: a) :+: (s :*: b)) -> s :*: (a :+: b)
+ Pandora.Paradigm.Schemes.UT: instance (Pandora.Pattern.Functor.Covariant.Covariant (->) (->) t, Pandora.Pattern.Functor.Covariant.Covariant (->) (->) u, Pandora.Pattern.Functor.Semimonoidal.Semimonoidal (Pandora.Paradigm.Primary.Algebraic.Exponential.-->) (Pandora.Paradigm.Primary.Algebraic.Product.:*:) (Pandora.Paradigm.Primary.Algebraic.Product.:*:) u, Pandora.Pattern.Functor.Monoidal.Monoidal (Pandora.Paradigm.Primary.Algebraic.Exponential.-->) (Pandora.Paradigm.Primary.Algebraic.Exponential.-->) (Pandora.Paradigm.Primary.Algebraic.Product.:*:) (Pandora.Paradigm.Primary.Algebraic.Product.:*:) t, Pandora.Pattern.Functor.Monoidal.Monoidal (Pandora.Paradigm.Primary.Algebraic.Exponential.-->) (Pandora.Paradigm.Primary.Algebraic.Exponential.-->) (Pandora.Paradigm.Primary.Algebraic.Product.:*:) (Pandora.Paradigm.Primary.Algebraic.Product.:*:) u) => Pandora.Pattern.Functor.Monoidal.Monoidal (Pandora.Paradigm.Primary.Algebraic.Exponential.-->) (Pandora.Paradigm.Primary.Algebraic.Exponential.-->) (Pandora.Paradigm.Primary.Algebraic.Product.:*:) (Pandora.Paradigm.Primary.Algebraic.Product.:*:) (t Pandora.Paradigm.Schemes.UT.<.:> u)
+ Pandora.Paradigm.Schemes.UT: instance (Pandora.Pattern.Functor.Covariant.Covariant (->) (->) u, Pandora.Pattern.Functor.Covariant.Covariant (->) (->) t, Pandora.Pattern.Functor.Semimonoidal.Semimonoidal (Pandora.Paradigm.Primary.Algebraic.Exponential.-->) (Pandora.Paradigm.Primary.Algebraic.Product.:*:) (Pandora.Paradigm.Primary.Algebraic.Product.:*:) u, Pandora.Pattern.Functor.Semimonoidal.Semimonoidal (Pandora.Paradigm.Primary.Algebraic.Exponential.-->) (Pandora.Paradigm.Primary.Algebraic.Product.:*:) (Pandora.Paradigm.Primary.Algebraic.Sum.:+:) t) => Pandora.Pattern.Functor.Semimonoidal.Semimonoidal (Pandora.Paradigm.Primary.Algebraic.Exponential.-->) (Pandora.Paradigm.Primary.Algebraic.Product.:*:) (Pandora.Paradigm.Primary.Algebraic.Sum.:+:) (t Pandora.Paradigm.Schemes.UT.<.:> u)
+ Pandora.Paradigm.Schemes.UT: instance (Pandora.Pattern.Functor.Covariant.Covariant (->) (->) u, Pandora.Pattern.Functor.Monoidal.Monoidal (Pandora.Paradigm.Primary.Algebraic.Exponential.<--) (Pandora.Paradigm.Primary.Algebraic.Exponential.-->) (Pandora.Paradigm.Primary.Algebraic.Product.:*:) (Pandora.Paradigm.Primary.Algebraic.Product.:*:) t, Pandora.Pattern.Functor.Monoidal.Monoidal (Pandora.Paradigm.Primary.Algebraic.Exponential.<--) (Pandora.Paradigm.Primary.Algebraic.Exponential.-->) (Pandora.Paradigm.Primary.Algebraic.Product.:*:) (Pandora.Paradigm.Primary.Algebraic.Product.:*:) u) => Pandora.Pattern.Functor.Monoidal.Monoidal (Pandora.Paradigm.Primary.Algebraic.Exponential.<--) (Pandora.Paradigm.Primary.Algebraic.Exponential.-->) (Pandora.Paradigm.Primary.Algebraic.Product.:*:) (Pandora.Paradigm.Primary.Algebraic.Product.:*:) (t Pandora.Paradigm.Schemes.UT.<.:> u)
+ Pandora.Paradigm.Schemes.UT: instance (Pandora.Pattern.Functor.Traversable.Traversable (->) (->) t, Pandora.Pattern.Functor.Bindable.Bindable (->) t, Pandora.Pattern.Functor.Semimonoidal.Semimonoidal (Pandora.Paradigm.Primary.Algebraic.Exponential.-->) (Pandora.Paradigm.Primary.Algebraic.Product.:*:) (Pandora.Paradigm.Primary.Algebraic.Product.:*:) u, Pandora.Pattern.Functor.Monoidal.Monoidal (Pandora.Paradigm.Primary.Algebraic.Exponential.-->) (Pandora.Paradigm.Primary.Algebraic.Exponential.-->) (Pandora.Paradigm.Primary.Algebraic.Product.:*:) (Pandora.Paradigm.Primary.Algebraic.Product.:*:) u, Pandora.Pattern.Functor.Bindable.Bindable (->) u) => Pandora.Pattern.Functor.Bindable.Bindable (->) (t Pandora.Paradigm.Schemes.UT.<.:> u)
+ Pandora.Paradigm.Schemes.UT: instance (Pandora.Pattern.Semigroupoid.Semigroupoid m, Pandora.Pattern.Functor.Covariant.Covariant m (Pandora.Pattern.Betwixt.Betwixt m m) t, Pandora.Pattern.Functor.Covariant.Covariant (Pandora.Pattern.Betwixt.Betwixt m m) m u, Pandora.Paradigm.Controlflow.Effect.Interpreted.Interpreted m (t Pandora.Paradigm.Schemes.UT.<.:> u)) => Pandora.Pattern.Functor.Covariant.Covariant m m (t Pandora.Paradigm.Schemes.UT.<.:> u)
+ Pandora.Paradigm.Schemes.UT: instance Pandora.Pattern.Functor.Monoidal.Monoidal (Pandora.Paradigm.Primary.Algebraic.Exponential.-->) (Pandora.Paradigm.Primary.Algebraic.Exponential.-->) (Pandora.Paradigm.Primary.Algebraic.Product.:*:) (Pandora.Paradigm.Primary.Algebraic.Product.:*:) t => Pandora.Pattern.Transformer.Liftable.Liftable (->) (Pandora.Paradigm.Schemes.UT.UT Pandora.Pattern.Functor.Covariant.Covariant Pandora.Pattern.Functor.Covariant.Covariant t)
+ Pandora.Paradigm.Schemes.UT: instance Pandora.Pattern.Functor.Monoidal.Monoidal (Pandora.Paradigm.Primary.Algebraic.Exponential.<--) (Pandora.Paradigm.Primary.Algebraic.Exponential.-->) (Pandora.Paradigm.Primary.Algebraic.Product.:*:) (Pandora.Paradigm.Primary.Algebraic.Product.:*:) t => Pandora.Pattern.Transformer.Lowerable.Lowerable (->) (Pandora.Paradigm.Schemes.UT.UT Pandora.Pattern.Functor.Covariant.Covariant Pandora.Pattern.Functor.Covariant.Covariant t)
+ Pandora.Paradigm.Structure: instance Pandora.Paradigm.Structure.Ability.Accessible.Accessible (Pandora.Paradigm.Primary.Functor.Maybe.Maybe target) source => Pandora.Paradigm.Structure.Ability.Possible.Possible target source
+ Pandora.Paradigm.Structure: instance Pandora.Paradigm.Structure.Ability.Accessible.Accessible a (Pandora.Paradigm.Primary.Functor.Identity.Identity a)
+ Pandora.Paradigm.Structure: instance Pandora.Paradigm.Structure.Ability.Accessible.Accessible target source => Pandora.Paradigm.Structure.Ability.Possible.Possible target (Pandora.Paradigm.Primary.Functor.Maybe.Maybe source)
+ Pandora.Paradigm.Structure: instance Pandora.Paradigm.Structure.Ability.Possible.Possible a (Pandora.Paradigm.Primary.Functor.Maybe.Maybe a)
+ Pandora.Paradigm.Structure.Ability.Possible: class Possible target source
+ Pandora.Paradigm.Structure.Ability.Possible: perhaps :: Possible target source => Lens Maybe source target
+ Pandora.Paradigm.Structure.Ability.Substructure: only :: forall segment structure element. (Covariant (->) (->) structure, Substructured segment structure Identity Identity) => Convex Lens (structure element) element
+ Pandora.Paradigm.Structure.Ability.Zipper: class Zippable (structure :: * -> *) where {
+ Pandora.Paradigm.Structure.Ability.Zipper: instance (Pandora.Pattern.Functor.Covariant.Covariant (->) (->) t, Pandora.Pattern.Functor.Semimonoidal.Semimonoidal (Pandora.Paradigm.Primary.Algebraic.Exponential.-->) (Pandora.Paradigm.Primary.Algebraic.Product.:*:) (Pandora.Paradigm.Primary.Algebraic.Product.:*:) t) => Pandora.Paradigm.Structure.Ability.Substructure.Substructure 'Pandora.Paradigm.Primary.Functor.Wye.Left (Pandora.Paradigm.Structure.Ability.Zipper.Tape t Pandora.Paradigm.Schemes.TU.<:.> Pandora.Paradigm.Structure.Ability.Zipper.Tape t)
+ Pandora.Paradigm.Structure.Ability.Zipper: instance (Pandora.Pattern.Functor.Covariant.Covariant (->) (->) t, Pandora.Pattern.Functor.Semimonoidal.Semimonoidal (Pandora.Paradigm.Primary.Algebraic.Exponential.-->) (Pandora.Paradigm.Primary.Algebraic.Product.:*:) (Pandora.Paradigm.Primary.Algebraic.Product.:*:) t) => Pandora.Paradigm.Structure.Ability.Substructure.Substructure 'Pandora.Paradigm.Primary.Functor.Wye.Right (Pandora.Paradigm.Structure.Ability.Zipper.Tape t Pandora.Paradigm.Schemes.TU.<:.> Pandora.Paradigm.Structure.Ability.Zipper.Tape t)
+ Pandora.Paradigm.Structure.Ability.Zipper: instance Pandora.Pattern.Functor.Covariant.Covariant (->) (->) t => Pandora.Paradigm.Structure.Ability.Substructure.Substructure 'Pandora.Paradigm.Primary.Functor.Wye.Left (Pandora.Paradigm.Structure.Ability.Zipper.Tape t)
+ Pandora.Paradigm.Structure.Ability.Zipper: instance Pandora.Pattern.Functor.Covariant.Covariant (->) (->) t => Pandora.Paradigm.Structure.Ability.Substructure.Substructure 'Pandora.Paradigm.Primary.Functor.Wye.Right (Pandora.Paradigm.Structure.Ability.Zipper.Tape t)
+ Pandora.Paradigm.Structure.Ability.Zipper: instance Pandora.Pattern.Functor.Covariant.Covariant (->) (->) t => Pandora.Paradigm.Structure.Ability.Substructure.Substructure 'Pandora.Paradigm.Structure.Ability.Morphable.Down (Pandora.Paradigm.Structure.Ability.Zipper.Tape t Pandora.Paradigm.Schemes.TU.<:.> Pandora.Paradigm.Structure.Ability.Zipper.Tape t)
+ Pandora.Paradigm.Structure.Ability.Zipper: instance Pandora.Pattern.Functor.Covariant.Covariant (->) (->) t => Pandora.Paradigm.Structure.Ability.Substructure.Substructure 'Pandora.Paradigm.Structure.Ability.Morphable.Up (Pandora.Paradigm.Structure.Ability.Zipper.Tape t Pandora.Paradigm.Schemes.TU.<:.> Pandora.Paradigm.Structure.Ability.Zipper.Tape t)
+ Pandora.Paradigm.Structure.Ability.Zipper: instance Pandora.Pattern.Functor.Covariant.Covariant (->) (->) t => Pandora.Paradigm.Structure.Ability.Substructure.Substructure 'Pandora.Paradigm.Structure.Ability.Substructure.Root (Pandora.Paradigm.Structure.Ability.Zipper.Tape t)
+ Pandora.Paradigm.Structure.Ability.Zipper: instance Pandora.Pattern.Functor.Semimonoidal.Semimonoidal (Pandora.Paradigm.Primary.Algebraic.Exponential.<--) (Pandora.Paradigm.Primary.Algebraic.Product.:*:) (Pandora.Paradigm.Primary.Algebraic.Product.:*:) t => Pandora.Pattern.Functor.Monoidal.Monoidal (Pandora.Paradigm.Primary.Algebraic.Exponential.<--) (Pandora.Paradigm.Primary.Algebraic.Exponential.-->) (Pandora.Paradigm.Primary.Algebraic.Product.:*:) (Pandora.Paradigm.Primary.Algebraic.Product.:*:) ((Pandora.Paradigm.Primary.Functor.Identity.Identity Pandora.Paradigm.Schemes.T_U.<:.:> t) Pandora.Core.Functor.:= (Pandora.Paradigm.Primary.Algebraic.Product.:*:))
+ Pandora.Paradigm.Structure.Ability.Zipper: instance Pandora.Pattern.Functor.Semimonoidal.Semimonoidal (Pandora.Paradigm.Primary.Algebraic.Exponential.<--) (Pandora.Paradigm.Primary.Algebraic.Product.:*:) (Pandora.Paradigm.Primary.Algebraic.Product.:*:) t => Pandora.Pattern.Functor.Semimonoidal.Semimonoidal (Pandora.Paradigm.Primary.Algebraic.Exponential.<--) (Pandora.Paradigm.Primary.Algebraic.Product.:*:) (Pandora.Paradigm.Primary.Algebraic.Product.:*:) ((Pandora.Paradigm.Primary.Functor.Identity.Identity Pandora.Paradigm.Schemes.T_U.<:.:> t) Pandora.Core.Functor.:= (Pandora.Paradigm.Primary.Algebraic.Product.:*:))
+ Pandora.Paradigm.Structure.Ability.Zipper: type Breadcrumbed structure t = (Zippable structure, Breadcrumbs structure ~ t)
+ Pandora.Paradigm.Structure.Ability.Zipper: type Tape t = Identity <:.:> (t <:.:> t := (:*:)) := (:*:)
+ Pandora.Paradigm.Structure.Ability.Zipper: type Zipper (structure :: * -> *) = Identity <:.:> Breadcrumbs structure := (:*:)
+ Pandora.Paradigm.Structure.Ability.Zipper: }
+ Pandora.Paradigm.Structure.Modification.Comprehension: instance (Pandora.Pattern.Functor.Covariant.Covariant (->) (->) t, Pandora.Pattern.Functor.Monoidal.Monoidal (Pandora.Paradigm.Primary.Algebraic.Exponential.-->) (Pandora.Paradigm.Primary.Algebraic.Exponential.-->) (Pandora.Paradigm.Primary.Algebraic.Product.:*:) (Pandora.Paradigm.Primary.Algebraic.Product.:*:) t) => Pandora.Paradigm.Structure.Ability.Morphable.Morphable 'Pandora.Paradigm.Structure.Ability.Morphable.Push (Pandora.Paradigm.Structure.Modification.Comprehension.Comprehension t)
+ Pandora.Paradigm.Structure.Modification.Comprehension: instance (Pandora.Pattern.Functor.Covariant.Covariant (->) (->) t, Pandora.Pattern.Functor.Semimonoidal.Semimonoidal (Pandora.Paradigm.Primary.Algebraic.Exponential.-->) (Pandora.Paradigm.Primary.Algebraic.Product.:*:) (Pandora.Paradigm.Primary.Algebraic.Product.:*:) t, Pandora.Pattern.Functor.Semimonoidal.Semimonoidal (Pandora.Paradigm.Primary.Algebraic.Exponential.-->) (Pandora.Paradigm.Primary.Algebraic.Product.:*:) (Pandora.Paradigm.Primary.Algebraic.Product.:*:) (Pandora.Paradigm.Primary.Transformer.Construction.Construction t), Pandora.Pattern.Functor.Semimonoidal.Semimonoidal (Pandora.Paradigm.Primary.Algebraic.Exponential.-->) (Pandora.Paradigm.Primary.Algebraic.Product.:*:) (Pandora.Paradigm.Primary.Algebraic.Sum.:+:) t, Pandora.Pattern.Functor.Semimonoidal.Semimonoidal (Pandora.Paradigm.Primary.Algebraic.Exponential.-->) (Pandora.Paradigm.Primary.Algebraic.Product.:*:) (Pandora.Paradigm.Primary.Algebraic.Sum.:+:) (Pandora.Paradigm.Primary.Transformer.Construction.Construction t), Pandora.Pattern.Functor.Monoidal.Monoidal (Pandora.Paradigm.Primary.Algebraic.Exponential.-->) (Pandora.Paradigm.Primary.Algebraic.Exponential.-->) (Pandora.Paradigm.Primary.Algebraic.Product.:*:) (Pandora.Paradigm.Primary.Algebraic.Sum.:+:) t) => Pandora.Pattern.Functor.Monoidal.Monoidal (Pandora.Paradigm.Primary.Algebraic.Exponential.-->) (Pandora.Paradigm.Primary.Algebraic.Exponential.-->) (Pandora.Paradigm.Primary.Algebraic.Product.:*:) (Pandora.Paradigm.Primary.Algebraic.Sum.:+:) (Pandora.Paradigm.Structure.Modification.Comprehension.Comprehension t)
+ Pandora.Paradigm.Structure.Some.Binary: _focused_part_to_nonempty_binary_tree :: ((Identity <:.:> (Wye <:.> Construction Wye)) := (:*:)) ~> Construction Wye
+ Pandora.Paradigm.Structure.Some.Binary: _nonempty_binary_tree_to_focused_part :: Construction Wye ~> ((Identity <:.:> (Wye <:.> Construction Wye)) := (:*:))
+ Pandora.Paradigm.Structure.Some.Binary: instance Pandora.Paradigm.Structure.Ability.Morphable.Morphable ('Pandora.Paradigm.Structure.Ability.Morphable.Rotate 'Pandora.Paradigm.Structure.Ability.Morphable.Up) ((((Pandora.Paradigm.Primary.Functor.Identity.Identity Pandora.Paradigm.Schemes.T_U.<:.:> (Pandora.Paradigm.Primary.Functor.Wye.Wye Pandora.Paradigm.Schemes.TU.<:.> Pandora.Paradigm.Primary.Transformer.Construction.Construction Pandora.Paradigm.Primary.Functor.Wye.Wye)) Pandora.Core.Functor.:= (Pandora.Paradigm.Primary.Algebraic.Product.:*:)) Pandora.Paradigm.Schemes.T_U.<:.:> (Pandora.Paradigm.Structure.Some.Binary.Bifurcation Pandora.Paradigm.Schemes.TU.<:.> Pandora.Paradigm.Structure.Some.Binary.Bicursor)) Pandora.Core.Functor.:= (Pandora.Paradigm.Primary.Algebraic.Product.:*:))
+ Pandora.Paradigm.Structure.Some.Binary: instance Pandora.Paradigm.Structure.Ability.Morphable.Morphable ('Pandora.Paradigm.Structure.Ability.Morphable.Rotate ('Pandora.Paradigm.Structure.Ability.Morphable.Down 'Pandora.Paradigm.Primary.Functor.Wye.Left)) ((((Pandora.Paradigm.Primary.Functor.Identity.Identity Pandora.Paradigm.Schemes.T_U.<:.:> (Pandora.Paradigm.Primary.Functor.Wye.Wye Pandora.Paradigm.Schemes.TU.<:.> Pandora.Paradigm.Primary.Transformer.Construction.Construction Pandora.Paradigm.Primary.Functor.Wye.Wye)) Pandora.Core.Functor.:= (Pandora.Paradigm.Primary.Algebraic.Product.:*:)) Pandora.Paradigm.Schemes.T_U.<:.:> (Pandora.Paradigm.Structure.Some.Binary.Bifurcation Pandora.Paradigm.Schemes.TU.<:.> Pandora.Paradigm.Structure.Some.Binary.Bicursor)) Pandora.Core.Functor.:= (Pandora.Paradigm.Primary.Algebraic.Product.:*:))
+ Pandora.Paradigm.Structure.Some.Binary: instance Pandora.Paradigm.Structure.Ability.Morphable.Morphable ('Pandora.Paradigm.Structure.Ability.Morphable.Rotate ('Pandora.Paradigm.Structure.Ability.Morphable.Down 'Pandora.Paradigm.Primary.Functor.Wye.Right)) ((((Pandora.Paradigm.Primary.Functor.Identity.Identity Pandora.Paradigm.Schemes.T_U.<:.:> (Pandora.Paradigm.Primary.Functor.Wye.Wye Pandora.Paradigm.Schemes.TU.<:.> Pandora.Paradigm.Primary.Transformer.Construction.Construction Pandora.Paradigm.Primary.Functor.Wye.Wye)) Pandora.Core.Functor.:= (Pandora.Paradigm.Primary.Algebraic.Product.:*:)) Pandora.Paradigm.Schemes.T_U.<:.:> (Pandora.Paradigm.Structure.Some.Binary.Bifurcation Pandora.Paradigm.Schemes.TU.<:.> Pandora.Paradigm.Structure.Some.Binary.Bicursor)) Pandora.Core.Functor.:= (Pandora.Paradigm.Primary.Algebraic.Product.:*:))
+ Pandora.Paradigm.Structure.Some.Binary: instance Pandora.Paradigm.Structure.Ability.Zipper.Zippable (Pandora.Paradigm.Primary.Transformer.Construction.Construction Pandora.Paradigm.Primary.Functor.Wye.Wye)
+ Pandora.Paradigm.Structure.Some.Binary: instance Pandora.Pattern.Functor.Traversable.Traversable (->) (->) Pandora.Paradigm.Structure.Some.Binary.Biforked
+ Pandora.Paradigm.Structure.Some.List: instance Pandora.Paradigm.Structure.Ability.Morphable.Morphable ('Pandora.Paradigm.Structure.Ability.Morphable.Into ((Pandora.Paradigm.Primary.Functor.Identity.Identity Pandora.Paradigm.Schemes.T_U.<:.:> ((Pandora.Paradigm.Primary.Transformer.Construction.Construction Pandora.Paradigm.Primary.Functor.Maybe.Maybe Pandora.Paradigm.Schemes.T_U.<:.:> Pandora.Paradigm.Primary.Transformer.Construction.Construction Pandora.Paradigm.Primary.Functor.Maybe.Maybe) Pandora.Core.Functor.:= (Pandora.Paradigm.Primary.Algebraic.Product.:*:))) Pandora.Core.Functor.:= (Pandora.Paradigm.Primary.Algebraic.Product.:*:))) ((Pandora.Paradigm.Primary.Functor.Identity.Identity Pandora.Paradigm.Schemes.T_U.<:.:> ((Pandora.Paradigm.Structure.Some.List.List Pandora.Paradigm.Schemes.T_U.<:.:> Pandora.Paradigm.Structure.Some.List.List) Pandora.Core.Functor.:= (Pandora.Paradigm.Primary.Algebraic.Product.:*:))) Pandora.Core.Functor.:= (Pandora.Paradigm.Primary.Algebraic.Product.:*:))
+ Pandora.Paradigm.Structure.Some.List: instance Pandora.Paradigm.Structure.Ability.Morphable.Morphable ('Pandora.Paradigm.Structure.Ability.Morphable.Into ((Pandora.Paradigm.Primary.Functor.Identity.Identity Pandora.Paradigm.Schemes.T_U.<:.:> ((Pandora.Paradigm.Structure.Some.List.List Pandora.Paradigm.Schemes.T_U.<:.:> Pandora.Paradigm.Structure.Some.List.List) Pandora.Core.Functor.:= (Pandora.Paradigm.Primary.Algebraic.Product.:*:))) Pandora.Core.Functor.:= (Pandora.Paradigm.Primary.Algebraic.Product.:*:))) ((Pandora.Paradigm.Primary.Functor.Identity.Identity Pandora.Paradigm.Schemes.T_U.<:.:> ((Pandora.Paradigm.Primary.Transformer.Construction.Construction Pandora.Paradigm.Primary.Functor.Maybe.Maybe Pandora.Paradigm.Schemes.T_U.<:.:> Pandora.Paradigm.Primary.Transformer.Construction.Construction Pandora.Paradigm.Primary.Functor.Maybe.Maybe) Pandora.Core.Functor.:= (Pandora.Paradigm.Primary.Algebraic.Product.:*:))) Pandora.Core.Functor.:= (Pandora.Paradigm.Primary.Algebraic.Product.:*:))
+ Pandora.Paradigm.Structure.Some.List: instance Pandora.Paradigm.Structure.Ability.Morphable.Morphable ('Pandora.Paradigm.Structure.Ability.Morphable.Into ((Pandora.Paradigm.Primary.Functor.Identity.Identity Pandora.Paradigm.Schemes.T_U.<:.:> ((Pandora.Paradigm.Structure.Some.List.List Pandora.Paradigm.Schemes.T_U.<:.:> Pandora.Paradigm.Structure.Some.List.List) Pandora.Core.Functor.:= (Pandora.Paradigm.Primary.Algebraic.Product.:*:))) Pandora.Core.Functor.:= (Pandora.Paradigm.Primary.Algebraic.Product.:*:))) (Pandora.Paradigm.Primary.Transformer.Construction.Construction Pandora.Paradigm.Primary.Functor.Maybe.Maybe)
+ Pandora.Paradigm.Structure.Some.List: instance Pandora.Paradigm.Structure.Ability.Morphable.Morphable ('Pandora.Paradigm.Structure.Ability.Morphable.Into ((Pandora.Paradigm.Primary.Functor.Identity.Identity Pandora.Paradigm.Schemes.T_U.<:.:> ((Pandora.Paradigm.Structure.Some.List.List Pandora.Paradigm.Schemes.T_U.<:.:> Pandora.Paradigm.Structure.Some.List.List) Pandora.Core.Functor.:= (Pandora.Paradigm.Primary.Algebraic.Product.:*:))) Pandora.Core.Functor.:= (Pandora.Paradigm.Primary.Algebraic.Product.:*:))) Pandora.Paradigm.Structure.Some.List.List
+ Pandora.Paradigm.Structure.Some.List: instance Pandora.Paradigm.Structure.Ability.Morphable.Morphable ('Pandora.Paradigm.Structure.Ability.Morphable.Into (Pandora.Paradigm.Primary.Transformer.Construction.Construction Pandora.Paradigm.Primary.Functor.Maybe.Maybe)) ((Pandora.Paradigm.Primary.Functor.Identity.Identity Pandora.Paradigm.Schemes.T_U.<:.:> ((Pandora.Paradigm.Primary.Transformer.Construction.Construction Pandora.Paradigm.Primary.Functor.Maybe.Maybe Pandora.Paradigm.Schemes.T_U.<:.:> Pandora.Paradigm.Primary.Transformer.Construction.Construction Pandora.Paradigm.Primary.Functor.Maybe.Maybe) Pandora.Core.Functor.:= (Pandora.Paradigm.Primary.Algebraic.Product.:*:))) Pandora.Core.Functor.:= (Pandora.Paradigm.Primary.Algebraic.Product.:*:))
+ Pandora.Paradigm.Structure.Some.List: instance Pandora.Paradigm.Structure.Ability.Morphable.Morphable ('Pandora.Paradigm.Structure.Ability.Morphable.Into (Pandora.Paradigm.Structure.Modification.Comprehension.Comprehension Pandora.Paradigm.Primary.Functor.Maybe.Maybe)) ((Pandora.Paradigm.Primary.Functor.Identity.Identity Pandora.Paradigm.Schemes.T_U.<:.:> ((Pandora.Paradigm.Structure.Some.List.List Pandora.Paradigm.Schemes.T_U.<:.:> Pandora.Paradigm.Structure.Some.List.List) Pandora.Core.Functor.:= (Pandora.Paradigm.Primary.Algebraic.Product.:*:))) Pandora.Core.Functor.:= (Pandora.Paradigm.Primary.Algebraic.Product.:*:))
+ Pandora.Paradigm.Structure.Some.List: instance Pandora.Paradigm.Structure.Ability.Morphable.Morphable ('Pandora.Paradigm.Structure.Ability.Morphable.Into Pandora.Paradigm.Structure.Some.List.List) ((Pandora.Paradigm.Primary.Functor.Identity.Identity Pandora.Paradigm.Schemes.T_U.<:.:> ((Pandora.Paradigm.Primary.Transformer.Construction.Construction Pandora.Paradigm.Primary.Functor.Maybe.Maybe Pandora.Paradigm.Schemes.T_U.<:.:> Pandora.Paradigm.Primary.Transformer.Construction.Construction Pandora.Paradigm.Primary.Functor.Maybe.Maybe) Pandora.Core.Functor.:= (Pandora.Paradigm.Primary.Algebraic.Product.:*:))) Pandora.Core.Functor.:= (Pandora.Paradigm.Primary.Algebraic.Product.:*:))
+ Pandora.Paradigm.Structure.Some.List: instance Pandora.Paradigm.Structure.Ability.Morphable.Morphable ('Pandora.Paradigm.Structure.Ability.Morphable.Into Pandora.Paradigm.Structure.Some.List.List) ((Pandora.Paradigm.Primary.Functor.Identity.Identity Pandora.Paradigm.Schemes.T_U.<:.:> ((Pandora.Paradigm.Structure.Some.List.List Pandora.Paradigm.Schemes.T_U.<:.:> Pandora.Paradigm.Structure.Some.List.List) Pandora.Core.Functor.:= (Pandora.Paradigm.Primary.Algebraic.Product.:*:))) Pandora.Core.Functor.:= (Pandora.Paradigm.Primary.Algebraic.Product.:*:))
+ Pandora.Paradigm.Structure.Some.List: instance Pandora.Paradigm.Structure.Ability.Morphable.Morphable ('Pandora.Paradigm.Structure.Ability.Morphable.Into Pandora.Paradigm.Structure.Some.List.List) (Pandora.Paradigm.Primary.Transformer.Construction.Construction Pandora.Paradigm.Primary.Functor.Maybe.Maybe Pandora.Paradigm.Schemes.TU.<:.> Pandora.Paradigm.Primary.Functor.Maybe.Maybe)
+ Pandora.Paradigm.Structure.Some.List: instance Pandora.Paradigm.Structure.Ability.Morphable.Morphable ('Pandora.Paradigm.Structure.Ability.Morphable.Rotate 'Pandora.Paradigm.Primary.Functor.Wye.Left) ((Pandora.Paradigm.Primary.Functor.Identity.Identity Pandora.Paradigm.Schemes.T_U.<:.:> ((Pandora.Paradigm.Primary.Transformer.Construction.Construction Pandora.Paradigm.Primary.Functor.Maybe.Maybe Pandora.Paradigm.Schemes.T_U.<:.:> Pandora.Paradigm.Primary.Transformer.Construction.Construction Pandora.Paradigm.Primary.Functor.Maybe.Maybe) Pandora.Core.Functor.:= (Pandora.Paradigm.Primary.Algebraic.Product.:*:))) Pandora.Core.Functor.:= (Pandora.Paradigm.Primary.Algebraic.Product.:*:))
+ Pandora.Paradigm.Structure.Some.List: instance Pandora.Paradigm.Structure.Ability.Morphable.Morphable ('Pandora.Paradigm.Structure.Ability.Morphable.Rotate 'Pandora.Paradigm.Primary.Functor.Wye.Left) ((Pandora.Paradigm.Primary.Functor.Identity.Identity Pandora.Paradigm.Schemes.T_U.<:.:> ((Pandora.Paradigm.Structure.Some.List.List Pandora.Paradigm.Schemes.T_U.<:.:> Pandora.Paradigm.Structure.Some.List.List) Pandora.Core.Functor.:= (Pandora.Paradigm.Primary.Algebraic.Product.:*:))) Pandora.Core.Functor.:= (Pandora.Paradigm.Primary.Algebraic.Product.:*:))
+ Pandora.Paradigm.Structure.Some.List: instance Pandora.Paradigm.Structure.Ability.Morphable.Morphable ('Pandora.Paradigm.Structure.Ability.Morphable.Rotate 'Pandora.Paradigm.Primary.Functor.Wye.Right) ((Pandora.Paradigm.Primary.Functor.Identity.Identity Pandora.Paradigm.Schemes.T_U.<:.:> ((Pandora.Paradigm.Primary.Transformer.Construction.Construction Pandora.Paradigm.Primary.Functor.Maybe.Maybe Pandora.Paradigm.Schemes.T_U.<:.:> Pandora.Paradigm.Primary.Transformer.Construction.Construction Pandora.Paradigm.Primary.Functor.Maybe.Maybe) Pandora.Core.Functor.:= (Pandora.Paradigm.Primary.Algebraic.Product.:*:))) Pandora.Core.Functor.:= (Pandora.Paradigm.Primary.Algebraic.Product.:*:))
+ Pandora.Paradigm.Structure.Some.List: instance Pandora.Paradigm.Structure.Ability.Morphable.Morphable ('Pandora.Paradigm.Structure.Ability.Morphable.Rotate 'Pandora.Paradigm.Primary.Functor.Wye.Right) ((Pandora.Paradigm.Primary.Functor.Identity.Identity Pandora.Paradigm.Schemes.T_U.<:.:> ((Pandora.Paradigm.Structure.Some.List.List Pandora.Paradigm.Schemes.T_U.<:.:> Pandora.Paradigm.Structure.Some.List.List) Pandora.Core.Functor.:= (Pandora.Paradigm.Primary.Algebraic.Product.:*:))) Pandora.Core.Functor.:= (Pandora.Paradigm.Primary.Algebraic.Product.:*:))
+ Pandora.Paradigm.Structure.Some.List: instance Pandora.Paradigm.Structure.Ability.Zipper.Zippable (Pandora.Paradigm.Primary.Transformer.Construction.Construction Pandora.Paradigm.Primary.Functor.Maybe.Maybe)
+ Pandora.Paradigm.Structure.Some.List: instance Pandora.Paradigm.Structure.Ability.Zipper.Zippable (Pandora.Paradigm.Structure.Modification.Comprehension.Comprehension Pandora.Paradigm.Primary.Functor.Maybe.Maybe)
+ Pandora.Paradigm.Structure.Some.List: instance Pandora.Paradigm.Structure.Ability.Zipper.Zippable Pandora.Paradigm.Structure.Some.List.List
+ Pandora.Paradigm.Structure.Some.List: instance Pandora.Pattern.Functor.Extendable.Extendable (->) ((Pandora.Paradigm.Primary.Functor.Identity.Identity Pandora.Paradigm.Schemes.T_U.<:.:> ((Pandora.Paradigm.Structure.Some.List.List Pandora.Paradigm.Schemes.T_U.<:.:> Pandora.Paradigm.Structure.Some.List.List) Pandora.Core.Functor.:= (Pandora.Paradigm.Primary.Algebraic.Product.:*:))) Pandora.Core.Functor.:= (Pandora.Paradigm.Primary.Algebraic.Product.:*:))
+ Pandora.Paradigm.Structure.Some.List: instance Pandora.Pattern.Functor.Traversable.Traversable (->) (->) ((Pandora.Paradigm.Primary.Functor.Identity.Identity Pandora.Paradigm.Schemes.T_U.<:.:> ((Pandora.Paradigm.Structure.Some.List.List Pandora.Paradigm.Schemes.T_U.<:.:> Pandora.Paradigm.Structure.Some.List.List) Pandora.Core.Functor.:= (Pandora.Paradigm.Primary.Algebraic.Product.:*:))) Pandora.Core.Functor.:= (Pandora.Paradigm.Primary.Algebraic.Product.:*:))
+ Pandora.Paradigm.Structure.Some.Stream: instance Pandora.Paradigm.Structure.Ability.Morphable.Morphable ('Pandora.Paradigm.Structure.Ability.Morphable.Rotate 'Pandora.Paradigm.Primary.Functor.Wye.Left) ((Pandora.Paradigm.Primary.Functor.Identity.Identity Pandora.Paradigm.Schemes.T_U.<:.:> ((Pandora.Paradigm.Structure.Some.Stream.Stream Pandora.Paradigm.Schemes.T_U.<:.:> Pandora.Paradigm.Structure.Some.Stream.Stream) Pandora.Core.Functor.:= (Pandora.Paradigm.Primary.Algebraic.Product.:*:))) Pandora.Core.Functor.:= (Pandora.Paradigm.Primary.Algebraic.Product.:*:))
+ Pandora.Paradigm.Structure.Some.Stream: instance Pandora.Paradigm.Structure.Ability.Morphable.Morphable ('Pandora.Paradigm.Structure.Ability.Morphable.Rotate 'Pandora.Paradigm.Primary.Functor.Wye.Right) ((Pandora.Paradigm.Primary.Functor.Identity.Identity Pandora.Paradigm.Schemes.T_U.<:.:> ((Pandora.Paradigm.Structure.Some.Stream.Stream Pandora.Paradigm.Schemes.T_U.<:.:> Pandora.Paradigm.Structure.Some.Stream.Stream) Pandora.Core.Functor.:= (Pandora.Paradigm.Primary.Algebraic.Product.:*:))) Pandora.Core.Functor.:= (Pandora.Paradigm.Primary.Algebraic.Product.:*:))
+ Pandora.Paradigm.Structure.Some.Stream: instance Pandora.Paradigm.Structure.Ability.Zipper.Zippable (Pandora.Paradigm.Primary.Transformer.Construction.Construction Pandora.Paradigm.Primary.Functor.Identity.Identity)
+ Pandora.Paradigm.Structure.Some.Stream: instance Pandora.Pattern.Functor.Extendable.Extendable (->) ((Pandora.Paradigm.Primary.Functor.Identity.Identity Pandora.Paradigm.Schemes.T_U.<:.:> ((Pandora.Paradigm.Structure.Some.Stream.Stream Pandora.Paradigm.Schemes.T_U.<:.:> Pandora.Paradigm.Structure.Some.Stream.Stream) Pandora.Core.Functor.:= (Pandora.Paradigm.Primary.Algebraic.Product.:*:))) Pandora.Core.Functor.:= (Pandora.Paradigm.Primary.Algebraic.Product.:*:))
+ Pandora.Pattern.Betwixt: type family Betwixt (source :: * -> * -> *) (target :: * -> * -> *) = (betwixt :: * -> * -> *) | betwixt -> source target
+ Pandora.Pattern.Functor.Contravariant: (>-|-) :: Contravariant source target t => source a b -> target (t b) (t a)
+ Pandora.Pattern.Functor.Covariant: (<-|-) :: Covariant source target t => source a b -> target (t a) (t b)
+ Pandora.Pattern.Functor.Covariant: (<-|-|-) :: forall source target t u a b. (Covariant source (Betwixt source target) u, Covariant (Betwixt source target) target t) => source a b -> target (t (u a)) (t (u b))
+ Pandora.Pattern.Functor.Covariant: (<-|-|-|-) :: forall source target t u v a b. (Covariant source (Betwixt source (Betwixt source target)) v, Covariant (Betwixt source (Betwixt source target)) (Betwixt (Betwixt source target) target) u, Covariant (Betwixt (Betwixt source target) target) target t) => source a b -> target (t (u (v a))) (t (u (v b)))
- Pandora.Paradigm.Controlflow.Effect.Adaptable: adapt :: Adaptable t u => t ~> u
+ Pandora.Paradigm.Controlflow.Effect.Adaptable: adapt :: Adaptable u m t => m (t a) (u a)
- Pandora.Paradigm.Controlflow.Effect.Adaptable: class Adaptable t u
+ Pandora.Paradigm.Controlflow.Effect.Adaptable: class Adaptable u m t
- Pandora.Paradigm.Controlflow.Effect.Transformer: type family Transformer c t
+ Pandora.Paradigm.Controlflow.Effect.Transformer: type family Transformer c m t
- Pandora.Paradigm.Controlflow.Effect.Transformer.Comonadic: bring :: (Comonadic t, Extractable u) => (t :< u) ~> t
+ Pandora.Paradigm.Controlflow.Effect.Transformer.Comonadic: bring :: (Comonadic m t, Extractable u) => m ((t :< u) a) (t a)
- Pandora.Paradigm.Controlflow.Effect.Transformer.Comonadic: class Interpreted (->) t => Comonadic t
+ Pandora.Paradigm.Controlflow.Effect.Transformer.Comonadic: class Interpreted m t => Comonadic m t
- Pandora.Paradigm.Controlflow.Effect.Transformer.Monadic: class Interpreted (->) t => Monadic t
+ Pandora.Paradigm.Controlflow.Effect.Transformer.Monadic: class Interpreted m t => Monadic m t
- Pandora.Paradigm.Controlflow.Effect.Transformer.Monadic: wrap :: (Monadic t, Pointable u) => t ~> (t :> u)
+ Pandora.Paradigm.Controlflow.Effect.Transformer.Monadic: wrap :: (Monadic m t, Pointable u) => m (t a) ((t :> u) a)
- Pandora.Paradigm.Controlflow.Pipeline: (=*=) :: forall i e o t. Monoidal (-->) (->) (:*:) (:*:) t => Pipeline i e t () () -> Pipeline e o t () () -> Pipeline i o t () ()
+ Pandora.Paradigm.Controlflow.Pipeline: (=*=) :: forall i e o t. Monoidal (-->) (-->) (:*:) (:*:) t => Pipeline i e t () () -> Pipeline e o t () () -> Pipeline i o t () ()
- Pandora.Paradigm.Controlflow.Pipeline: finish :: Monoidal (-->) (->) (:*:) (:*:) t => Pipeline i o t () ()
+ Pandora.Paradigm.Controlflow.Pipeline: finish :: Monoidal (-->) (-->) (:*:) (:*:) t => Pipeline i o t () ()
- Pandora.Paradigm.Controlflow.Pipeline: pipeline :: Monoidal (-->) (->) (:*:) (:*:) t => Pipeline i o t () () -> t ()
+ Pandora.Paradigm.Controlflow.Pipeline: pipeline :: Monoidal (-->) (-->) (:*:) (:*:) t => Pipeline i o t () () -> t ()
- Pandora.Paradigm.Inventory: (=<>) :: Stateful src t => Lens mode src tgt -> mode tgt -> t src
+ Pandora.Paradigm.Inventory: (=<>) :: Stateful src t => Lens available src tgt -> available tgt -> t src
- Pandora.Paradigm.Inventory: (~<>) :: Stateful src t => Lens mode src tgt -> (mode tgt -> mode tgt) -> t src
+ Pandora.Paradigm.Inventory: (~<>) :: Stateful src t => Lens available src tgt -> (available tgt -> available tgt) -> t src
- Pandora.Paradigm.Inventory: zoom :: Stateful bg t => Lens Identity bg ls -> State ls ~> t
+ Pandora.Paradigm.Inventory: zoom :: forall bg ls t u result. Stateful bg t => Lens u bg ls -> State (u ls) result -> t result
- Pandora.Paradigm.Inventory.Accumulator: type Accumulated e t = Adaptable (Accumulator e) t
+ Pandora.Paradigm.Inventory.Accumulator: type Accumulated e t = Adaptable t (->) (Accumulator e)
- Pandora.Paradigm.Inventory.Environment: type Configured e = Adaptable (Environment e)
+ Pandora.Paradigm.Inventory.Environment: type Configured e t = Adaptable t (->) (Environment e)
- Pandora.Paradigm.Inventory.Imprint: type Traceable e t = Adaptable t (Imprint e)
+ Pandora.Paradigm.Inventory.Imprint: type Traceable e t = Adaptable t (->) (Imprint e)
- Pandora.Paradigm.Inventory.State: reconcile :: (Bindable (->) t, Stateful s t, Adaptable u t) => (s -> u s) -> t s
+ Pandora.Paradigm.Inventory.State: reconcile :: (Bindable (->) t, Stateful s t, Adaptable t (->) u) => (s -> u s) -> t s
- Pandora.Paradigm.Inventory.State: type Stateful s = Adaptable (State s)
+ Pandora.Paradigm.Inventory.State: type Stateful s t = Adaptable t (->) (State s)
- Pandora.Paradigm.Inventory.Store: type Storable s x = Adaptable x (Store s)
+ Pandora.Paradigm.Inventory.Store: type Storable s t = Adaptable (Store s) (->) t
- Pandora.Paradigm.Primary.Algebraic: (-+-) :: (Covariant (->) (->) t, Semimonoidal (-->) (:*:) (:+:) t) => t a -> t b -> ((a :+: b) -> r) -> t r
+ Pandora.Paradigm.Primary.Algebraic: (-+-) :: (Covariant (->) (->) t, Semimonoidal (-->) (:*:) (:+:) t) => t a -> t a -> t a
- Pandora.Paradigm.Primary.Algebraic: infixl 4 <-*-
+ Pandora.Paradigm.Primary.Algebraic: infixl 4 -*-
- Pandora.Paradigm.Primary.Algebraic: type Alternative t = (Covariant (->) (->) t, Semimonoidal (-->) (:*:) (:+:) t, Monoidal (-->) (->) (:*:) (:+:) t)
+ Pandora.Paradigm.Primary.Algebraic: type Alternative t = (Covariant (->) (->) t, Semimonoidal (-->) (:*:) (:+:) t, Monoidal (-->) (-->) (:*:) (:+:) t)
- Pandora.Paradigm.Primary.Algebraic: type Applicative t = (Covariant (->) (->) t, Semimonoidal (-->) (:*:) (:*:) t, Monoidal (-->) (->) (:*:) (:*:) t)
+ Pandora.Paradigm.Primary.Algebraic: type Applicative t = (Covariant (->) (->) t, Semimonoidal (-->) (:*:) (:*:) t, Monoidal (-->) (-->) (:*:) (:*:) t)
- Pandora.Paradigm.Primary.Algebraic: type Extractable t = Monoidal (<--) (->) (:*:) (:*:) t
+ Pandora.Paradigm.Primary.Algebraic: type Extractable t = Monoidal (<--) (-->) (:*:) (:*:) t
- Pandora.Paradigm.Primary.Algebraic: type Pointable t = Monoidal (-->) (->) (:*:) (:*:) t
+ Pandora.Paradigm.Primary.Algebraic: type Pointable t = Monoidal (-->) (-->) (:*:) (:*:) t
- Pandora.Paradigm.Primary.Functor.Conclusion: type Failable e = Adaptable (Conclusion e)
+ Pandora.Paradigm.Primary.Functor.Conclusion: type Failable e t = Adaptable t (->) (Conclusion e)
- Pandora.Paradigm.Primary.Functor.Maybe: type Optional = Adaptable Maybe
+ Pandora.Paradigm.Primary.Functor.Maybe: type Optional t = Adaptable t (->) Maybe
- Pandora.Paradigm.Primary.Transformer.Construction: section :: (Comonad (->) t, Monoidal (<--) (->) (:*:) (:*:) t) => t ~> Construction t
+ Pandora.Paradigm.Primary.Transformer.Construction: section :: (Comonad (->) t, Monoidal (<--) (-->) (:*:) (:*:) t) => t ~> Construction t
- Pandora.Paradigm.Primary.Transformer.Continuation: interruptable :: Monoidal (-->) (->) (:*:) (:*:) t => ((a -> Continuation a t a) -> Continuation a t a) -> t a
+ Pandora.Paradigm.Primary.Transformer.Continuation: interruptable :: Monoidal (-->) (-->) (:*:) (:*:) t => ((a -> Continuation a t a) -> Continuation a t a) -> t a
- Pandora.Paradigm.Primary.Transformer.Continuation: shift :: Monoidal (-->) (->) (:*:) (:*:) t => ((a -> t r) -> Continuation r t r) -> Continuation r t a
+ Pandora.Paradigm.Primary.Transformer.Continuation: shift :: Monoidal (-->) (-->) (:*:) (:*:) t => ((a -> t r) -> Continuation r t r) -> Continuation r t a
- Pandora.Pattern.Functor.Comonad: class (Monoidal (<--) source (:*:) (:*:) t, Extendable source t) => Comonad source t
+ Pandora.Pattern.Functor.Comonad: class (Monoidal (<--) (Straight source) (:*:) (:*:) t, Extendable source t) => Comonad source t
- Pandora.Pattern.Functor.Covariant: (<$$$>) :: forall source between1 between2 target t u v a b. (Covariant source between1 v, Covariant between1 between2 u, Covariant between2 target t) => source a b -> target (t (u (v a))) (t (u (v b)))
+ Pandora.Pattern.Functor.Covariant: (<$$$>) :: forall source target t u v a b. (Covariant source (Betwixt source (Betwixt source target)) v, Covariant (Betwixt source (Betwixt source target)) (Betwixt (Betwixt source target) target) u, Covariant (Betwixt (Betwixt source target) target) target t) => source a b -> target (t (u (v a))) (t (u (v b)))
- Pandora.Pattern.Functor.Covariant: (<$$>) :: forall source between target t u a b. (Covariant source between u, Covariant between target t) => source a b -> target (t (u a)) (t (u b))
+ Pandora.Pattern.Functor.Covariant: (<$$>) :: (Covariant source (Betwixt source target) u, Covariant (Betwixt source target) target t) => source a b -> target (t (u a)) (t (u b))
- Pandora.Pattern.Functor.Monad: class (Covariant category category t, Monoidal (Straight category) category (:*:) (:*:) t, Bindable category t) => Monad category t
+ Pandora.Pattern.Functor.Monad: class (Covariant category category t, Monoidal (Straight category) (Straight category) (:*:) (:*:) t, Bindable category t) => Monad category t
- Pandora.Pattern.Functor.Traversable: (-<<-<<-) :: forall t u v category a b. (Traversable category category t, Covariant category category u, Monoidal (Straight category) category (:*:) (:*:) u, Traversable category category v) => category a (u b) -> category (v (t a)) (u (v (t b)))
+ Pandora.Pattern.Functor.Traversable: (-<<-<<-) :: forall t u v category a b. (Traversable category category t, Covariant category category u, Monoidal (Straight category) (Straight category) (:*:) (:*:) u, Traversable category category v) => category a (u b) -> category (v (t a)) (u (v (t b)))
- Pandora.Pattern.Functor.Traversable: (<<-) :: (Traversable source target t, Covariant source target u, Monoidal (Straight source) target (:*:) (:*:) u) => source a (u b) -> target (t a) (u (t b))
+ Pandora.Pattern.Functor.Traversable: (<<-) :: (Traversable source target t, Covariant source target u, Monoidal (Straight source) (Straight target) (:*:) (:*:) u) => source a (u b) -> target (t a) (u (t b))
- Pandora.Pattern.Transformer.Hoistable: (/|\) :: (Hoistable t, Covariant (->) (->) u) => (u ~> v) -> t u ~> t v
+ Pandora.Pattern.Transformer.Hoistable: (/|\) :: (Hoistable m t, Covariant m m u) => (forall a. m (u a) (v a)) -> forall a. m (t u a) (t v a)
- Pandora.Pattern.Transformer.Hoistable: class Hoistable t
+ Pandora.Pattern.Transformer.Hoistable: class Hoistable m t

Files

CHANGELOG.md view
@@ -605,3 +605,27 @@ * Remove `-<$$$$>-` in favor of `<$$$$>`  # 0.4.8+* Define `Zippable` type family and remove moves from `Zipper` type alias+* Add `!` infix operator as synonymous for `run`+* Remove `Appliable` module+* Generalize `Adaptable` typeclass+* Generalize `Hoistable` typeclass+* Define experimental notation for map methods of `Covariant` typeclass+* Define experimental notation for map methods of `Contravariant` typeclass+* Define `Tape` type synonymous for List and Stream zippers+* Define `only` method of `Substructure` typeclass+* Change fixity and precedense of `!` method of `Interpreted` typeclass+* Rename `*>-` `Applicative` operator to `-*-`+* Rename `-+-` `Alternative` operator to `<-+-`+* Define `-+-` method of `Alternative` typeclass+* Define experimental `intensify` method as replacement of `zoom`+* Define `#` type operator for consuming arguments+* Define experimental `Possible` type class+* Remove `magnify` and `adjust` methods+* Remove `zoom` method in favour `intensify`+* Rename `intensify` method to `zoom`+* Define `Betwixt` type family to avoid specifying intermediate categories+* Define experimental `overlook` method+* Remove `<$$$$>`, `<$$$$||=` and `=||$$$$>` operators+* Define `Effectful` typeclass to delegate instance resolution for `Adaptable`+* Change order of type parameters in `Adaptable` typeclass
Pandora/Core.hs view
@@ -1,5 +1,4 @@ module Pandora.Core (module Exports) where  import Pandora.Core.Impliable as Exports-import Pandora.Core.Appliable as Exports import Pandora.Core.Functor as Exports
− Pandora/Core/Appliable.hs
@@ -1,6 +0,0 @@-module Pandora.Core.Appliable where--infixr 0 !--class Appliable m a b n c d | m a b -> n c d where-	(!) :: m a b -> n c d
Pandora/Core/Functor.hs view
@@ -1,9 +1,13 @@ module Pandora.Core.Functor where +infixl 2 # infixr 0 :=, <:=, :=>, :=:=>, ~> infixr 1 .:, :. infixr 2 ::|:., ::|.:, ::|:: infixr 9 :::++-- | Arguments consuming+type (#) t a = t a  -- | Parameter application type (:=) t a = t a
Pandora/Paradigm/Controlflow/Effect/Adaptable.hs view
@@ -2,417 +2,40 @@  module Pandora.Paradigm.Controlflow.Effect.Adaptable where -import Pandora.Core.Functor (type (~>))-import Pandora.Pattern.Semigroupoid ((.))-import Pandora.Pattern.Category (identity)+import Pandora.Core.Functor (type (#))+import Pandora.Pattern.Morphism.Straight (Straight (Straight))+import Pandora.Pattern.Semigroupoid (Semigroupoid ((.)))+import Pandora.Pattern.Category (Category (identity)) import Pandora.Pattern.Functor.Covariant (Covariant) import Pandora.Pattern.Functor.Monoidal (Monoidal)-import Pandora.Pattern.Functor.Comonad (Comonad)-import Pandora.Pattern.Functor.Monad (Monad)-import Pandora.Pattern.Transformer (Liftable (lift), Lowerable (lower), Hoistable ((/|\)))+import Pandora.Pattern.Transformer (Liftable (lift), Lowerable (lower)) import Pandora.Paradigm.Primary.Algebraic.Exponential (type (-->)) import Pandora.Paradigm.Primary.Algebraic.Product ((:*:))-import Pandora.Paradigm.Primary.Algebraic (Extractable)-import Pandora.Paradigm.Controlflow.Effect.Interpreted (Schematic)+import Pandora.Paradigm.Primary.Algebraic (Extractable, Pointable, extract, point)+import Pandora.Paradigm.Primary.Functor.Identity (Identity) import Pandora.Paradigm.Controlflow.Effect.Transformer (Monadic, Comonadic, wrap, bring, (:>), (:<)) -class Adaptable t u where+class Adaptable u m t where 	{-# MINIMAL adapt #-}-	adapt :: t ~> u--type Lifting t u = (Monadic t, Liftable (->) (Schematic Monad t), Covariant (->) (->) u)-type Lowering t u = (Comonadic t, Lowerable (->) (Schematic Comonad t), Covariant (->) (->) u)-type Wrappable t u = (Monadic t, Monoidal (-->) (->) (:*:) (:*:) u)-type Bringable t u = (Comonadic t, Extractable u)--instance Adaptable t t where-	adapt = identity--instance Lifting t u => Adaptable u (t :> u) where-	adapt = lift--instance Wrappable t u => Adaptable t (t :> u) where-	adapt = wrap--instance Lowering t u => Adaptable (t :< u) u where-	adapt = lower--instance Bringable t u => Adaptable (t :< u) t where-	adapt = bring--instance-	( Liftable (->) (Schematic Monad t)-	, Covariant (->) (->) (Schematic Monad u v)-	, Wrappable u v-	) => Adaptable u (t :> u :> v) where-	adapt = lift . wrap--instance-	( Lifting t (Schematic Monad u v)-	, Lifting u v-	) => Adaptable v (t :> u :> v) where-	adapt = lift . lift--instance-	( Lowering t (Schematic Comonad u v)-	, Bringable u v-	) => Adaptable (t :< u :< v) u where-	adapt = bring . lower--instance-	( Lowering t (Schematic Comonad u v)-	, Lowering u v-	) => Adaptable (t :< u :< v) v where-	adapt = lower . lower--instance-	( Liftable (->) (Schematic Monad t)-	, Lifting t (Schematic Monad u (v :> w))-	, Lifting u (Schematic Monad v w)-	, Wrappable v w-	) => Adaptable v (t :> u :> v :> w) where-	adapt = lift . lift . wrap--instance-	( Lifting t (Schematic Monad u v)-	, Lifting t (Schematic Monad u (v :> w))-	, Lifting u (Schematic Monad v w)-	, Lifting v w-	) => Adaptable w (t :> u :> v :> w) where-	adapt = lift . lift . lift--instance-	( Lowering t (Schematic Comonad u (v :< w))-	, Lowering u (Schematic Comonad v w)-	, Bringable v w-	) => Adaptable (t :< u :< v :< w) v where-	adapt = bring . lower . lower--instance-	( Lowering t (Schematic Comonad u v)-	, Lowering t (Schematic Comonad u (v :< w))-	, Lowering u (Schematic Comonad v w)-	, Lowering v w-	) => Adaptable (t :< u :< v :< w) w where-	adapt = lower . lower . lower--instance-	( Lifting t (Schematic Monad u (v :> w :> x))-	, Lifting u (Schematic Monad v (w :> x))-	, Lifting v (Schematic Monad w x)-	, Lifting w x-	) => Adaptable x (t :> u :> v :> w :> x) where-	adapt = lift . lift . lift . lift--instance-	( Lifting t (Schematic Monad u (v :> w :> x))-	, Lifting u (Schematic Monad v (w :> x))-	, Lifting v (Schematic Monad w x)-	, Wrappable w x-	) => Adaptable w (t :> u :> v :> w :> x) where-	adapt = lift . lift . lift . wrap--instance-	( Lowering t (Schematic Comonad u (v :< w :< x))-	, Lowering u (Schematic Comonad v (w :< x))-	, Lowering v (Schematic Comonad w x)-	, Lowering w x-	) => Adaptable (t :< u :< v :< w :< x) x where-	adapt = lower . lower . lower . lower--instance-	( Lowering t (Schematic Comonad u (v :< w :< x))-	, Lowering u (Schematic Comonad v (w :< x))-	, Lowering v (Schematic Comonad w x)-	, Bringable w x-	) => Adaptable (t :< u :< v :< w :< x) w where-	adapt = bring . lower . lower . lower--instance-	( Lifting t (Schematic Monad u (v :> w :> x :> y))-	, Lifting u (Schematic Monad v (w :> x :> y))-	, Lifting v (Schematic Monad w (x :> y))-	, Lifting w (Schematic Monad x y)-	, Lifting x y-	) => Adaptable y (t :> u :> v :> w :> x :> y) where-	adapt = lift . lift . lift . lift . lift--instance-	( Lifting t (Schematic Monad u (v :> w :> x :> y))-	, Lifting u (Schematic Monad v (w :> x :> y))-	, Lifting v (Schematic Monad w (x :> y))-	, Lifting w (Schematic Monad x y)-	, Wrappable x y-	) => Adaptable x (t :> u :> v :> w :> x :> y) where-	adapt = lift . lift . lift . lift . wrap--instance-	( Lowering t (Schematic Comonad u (v :< w :< x :< y))-	, Lowering u (Schematic Comonad v (w :< x :< y))-	, Lowering v (Schematic Comonad w (x :< y))-	, Lowering w (Schematic Comonad x y)-	, Lowering x y-	) => Adaptable (t :< u :< v :< w :< x :< y) y where-	adapt = lower . lower . lower . lower . lower--instance-	( Lowering t (Schematic Comonad u (v :< w :< x :< y))-	, Lowering u (Schematic Comonad v (w :< x :< y))-	, Lowering v (Schematic Comonad w (x :< y))-	, Lowering w (Schematic Comonad x y)-	, Bringable x y-	) => Adaptable (t :< u :< v :< w :< x :< y) x where-	adapt = bring . lower . lower . lower . lower--instance-	( Lifting t (Schematic Monad u (v :> w :> x :> y :> z))-	, Lifting u (Schematic Monad v (w :> x :> y :> z))-	, Lifting v (Schematic Monad w (x :> y :> z))-	, Lifting w (Schematic Monad x (y :> z))-	, Lifting x (Schematic Monad y z)-	, Lifting y z-	) => Adaptable z (t :> u :> v :> w :> x :> y :> z) where-	adapt = lift . lift . lift . lift . lift . lift--instance-	( Lifting t (Schematic Monad u (v :> w :> x :> y :> z))-	, Lifting u (Schematic Monad v (w :> x :> y :> z))-	, Lifting v (Schematic Monad w (x :> y :> z))-	, Lifting w (Schematic Monad x (y :> z))-	, Lifting x (Schematic Monad y z)-	, Wrappable y z-	) => Adaptable y (t :> u :> v :> w :> x :> y :> z) where-	adapt = lift . lift . lift . lift . lift . wrap--instance-	( Lowering t (Schematic Comonad u (v :< w :< x :< y :< z))-	, Lowering u (Schematic Comonad v (w :< x :< y :< z))-	, Lowering v (Schematic Comonad w (x :< y :< z))-	, Lowering w (Schematic Comonad x (y :< z))-	, Lowering x (Schematic Comonad y z)-	, Lowering y z-	) => Adaptable (t :< u :< v :< w :< x :< y :< z) z where-	adapt = lower . lower . lower . lower . lower . lower--instance-	( Lowering t (Schematic Comonad u (v :< w :< x :< y :< z))-	, Lowering u (Schematic Comonad v (w :< x :< y :< z))-	, Lowering v (Schematic Comonad w (x :< y :< z))-	, Lowering w (Schematic Comonad x (y :< z))-	, Lowering x (Schematic Comonad y z)-	, Bringable y z-	) => Adaptable (t :< u :< v :< w :< x :< y :< z) y where-	adapt = bring . lower . lower . lower . lower . lower--instance-	( Lifting t (Schematic Monad u (v :> w :> x :> y :> z :> f))-	, Lifting u (Schematic Monad v (w :> x :> y :> z :> f))-	, Lifting v (Schematic Monad w (x :> y :> z :> f))-	, Lifting w (Schematic Monad x (y :> z :> f))-	, Lifting x (Schematic Monad y (z :> f))-	, Lifting y (Schematic Monad z f)-	, Lifting z f-	) => Adaptable f (t :> u :> v :> w :> x :> y :> z :> f) where-	adapt = lift . lift . lift . lift . lift . lift . lift--instance-	( Lifting t (Schematic Monad u (v :> w :> x :> y :> z :> f))-	, Lifting u (Schematic Monad v (w :> x :> y :> z :> f))-	, Lifting v (Schematic Monad w (x :> y :> z :> f))-	, Lifting w (Schematic Monad x (y :> z :> f))-	, Lifting x (Schematic Monad y (z :> f))-	, Lifting y (Schematic Monad z f)-	, Wrappable z f-	) => Adaptable z (t :> u :> v :> w :> x :> y :> z :> f) where-	adapt = lift . lift . lift . lift . lift . lift . wrap--instance-	( Lowering t (Schematic Comonad u (v :< w :< x :< y :< z :< f))-	, Lowering u (Schematic Comonad v (w :< x :< y :< z :< f))-	, Lowering v (Schematic Comonad w (x :< y :< z :< f))-	, Lowering w (Schematic Comonad x (y :< z :< f))-	, Lowering x (Schematic Comonad y (z :< f))-	, Lowering y (Schematic Comonad z f)-	, Lowering z f-	) => Adaptable (t :< u :< v :< w :< x :< y :< z :< f) f where-	adapt = lower . lower . lower . lower . lower . lower . lower--instance-	( Lowering t (Schematic Comonad u (v :< w :< x :< y :< z :< f))-	, Lowering u (Schematic Comonad v (w :< x :< y :< z :< f))-	, Lowering v (Schematic Comonad w (x :< y :< z :< f))-	, Lowering w (Schematic Comonad x (y :< z :< f))-	, Lowering x (Schematic Comonad y (z :< f))-	, Lowering y (Schematic Comonad z f)-	, Bringable z f-	) => Adaptable (t :< u :< v :< w :< x :< y :< z :< f) z where-	adapt = bring . lower . lower . lower . lower . lower . lower--instance-	( Lifting t (Schematic Monad u (v :> w :> x :> y :> z :> f :> h))-	, Lifting u (Schematic Monad v (w :> x :> y :> z :> f :> h))-	, Lifting v (Schematic Monad w (x :> y :> z :> f :> h))-	, Lifting w (Schematic Monad x (y :> z :> f :> h))-	, Lifting x (Schematic Monad y (z :> f :> h))-	, Lifting y (Schematic Monad z (f :> h))-	, Lifting z (Schematic Monad f h)-	, Lifting f h-	) => Adaptable h (t :> u :> v :> w :> x :> y :> z :> f :> h) where-	adapt = lift . lift . lift . lift . lift . lift . lift . lift--instance-	( Lifting t (Schematic Monad u (v :> w :> x :> y :> z :> f :> h))-	, Lifting u (Schematic Monad v (w :> x :> y :> z :> f :> h))-	, Lifting v (Schematic Monad w (x :> y :> z :> f :> h))-	, Lifting w (Schematic Monad x (y :> z :> f :> h))-	, Lifting x (Schematic Monad y (z :> f :> h))-	, Lifting y (Schematic Monad z (f :> h))-	, Lifting z (Schematic Monad f h)-	, Wrappable f h-	) => Adaptable f (t :> u :> v :> w :> x :> y :> z :> f :> h) where-	adapt = lift . lift . lift . lift . lift . lift . lift . wrap--instance-	( Lowering t (Schematic Comonad u (v :< w :< x :< y :< z :< f :< h))-	, Lowering u (Schematic Comonad v (w :< x :< y :< z :< f :< h))-	, Lowering v (Schematic Comonad w (x :< y :< z :< f :< h))-	, Lowering w (Schematic Comonad x (y :< z :< f :< h))-	, Lowering x (Schematic Comonad y (z :< f :< h))-	, Lowering y (Schematic Comonad z (f :< h))-	, Lowering z (Schematic Comonad f h)-	, Lowering f h-	) => Adaptable (t :< u :< v :< w :< x :< y :< z :< f :< h) h where-	adapt = lower . lower . lower . lower . lower . lower . lower . lower--instance-	( Lowering t (Schematic Comonad u (v :< w :< x :< y :< z :< f :< h))-	, Lowering u (Schematic Comonad v (w :< x :< y :< z :< f :< h))-	, Lowering v (Schematic Comonad w (x :< y :< z :< f :< h))-	, Lowering w (Schematic Comonad x (y :< z :< f :< h))-	, Lowering x (Schematic Comonad y (z :< f :< h))-	, Lowering y (Schematic Comonad z (f :< h))-	, Lowering z (Schematic Comonad f h)-	, Bringable f h-	) => Adaptable (t :< u :< v :< w :< x :< y :< z :< f :< h) f where-	adapt = bring . lower . lower . lower . lower . lower . lower . lower--instance (Covariant (->) (->) u, Hoistable ((:>) t), Adaptable u u') => Adaptable (t :> u) (t :> u') where-	adapt = (adapt /|\)+	adapt :: m (t a) (u a) -instance-	( Covariant (->) (->) v-	, Covariant (->) (->) (Schematic Monad u v)-	, Hoistable ((:>) (t :> u))-	, Hoistable (Schematic Monad t)-	, Hoistable (Schematic Monad u)-	, Adaptable v v'-	) => Adaptable (t :> u :> v) (t :> u :> v') where-	adapt = ((adapt /|\) /|\)+instance Category m => Adaptable t m t where+	adapt = identity @m -instance-	( Covariant (->) (->) u-	, Covariant (->) (->) v-	, Covariant (->) (->) w-	, Covariant (->) (->) (Schematic Monad u v)-	, Covariant (->) (->) (Schematic Monad u (v :> w))-	, Covariant (->) (->) (Schematic Monad v w)-	, Hoistable ((:>) (t :> u :> v))-	, Hoistable (Schematic Monad t)-	, Hoistable (Schematic Monad u)-	, Hoistable (Schematic Monad v)-	, Adaptable w w'-	) => Adaptable (t :> u :> v :> w) (t :> u :> v :> w') where-	adapt = (((adapt /|\) /|\) /|\)+instance {-# OVERLAPS #-} Monoidal (-->) (-->) (:*:) (:*:) u => Adaptable u (->) Identity where+	adapt = point . extract -instance-	( Covariant (->) (->) x-	, Covariant (->) (->) (Schematic Monad u (v :> (w :> x)))-	, Covariant (->) (->) (Schematic Monad v (w :> x))-	, Covariant (->) (->) (Schematic Monad w x)-	, Hoistable ((:>) (t :> u :> v))-	, Hoistable (Schematic Monad t)-	, Hoistable (Schematic Monad u)-	, Hoistable (Schematic Monad v)-	, Hoistable (Schematic Monad w)-	, Adaptable x x'-	) => Adaptable (t :> u :> v :> w :> x) (t :> u :> v :> w :> x') where-	adapt = (((adapt /|\) /|\) /|\)+class Effectful m v t u where+	effect :: m (v a) (t :> u # a) -instance-	( Covariant (->) (->) y-	, Covariant (->) (->) (Schematic Monad u (v :> (w :> (x :> y))))-	, Covariant (->) (->) (Schematic Monad v (w :> (x :> y)))-	, Covariant (->) (->) (Schematic Monad w (x :> y))-	, Covariant (->) (->) (Schematic Monad x y)-	, Hoistable ((:>) (t :> u :> v :> w))-	, Hoistable (Schematic Monad t)-	, Hoistable (Schematic Monad u)-	, Hoistable (Schematic Monad v)-	, Hoistable (Schematic Monad w)-	, Hoistable (Schematic Monad x)-	, Adaptable y y'-	) => Adaptable (t :> u :> v :> w :> x :> y) (t :> u :> v :> w :> x :> y') where-	adapt = ((((adapt /|\) /|\) /|\) /|\)+instance (Pointable u, Monadic m t) => Effectful m t t u where+	effect = wrap -instance-	( Covariant (->) (->) z-	, Covariant (->) (->) (Schematic Monad u (v :> (w :> (x :> (y :> z)))))-	, Covariant (->) (->) (Schematic Monad v (w :> (x :> (y :> z))))-	, Covariant (->) (->) (Schematic Monad w (x :> (y :> z)))-	, Covariant (->) (->) (Schematic Monad x (y :> z))-	, Covariant (->) (->) (Schematic Monad y z)-	, Hoistable ((:>) (t :> u :> v :> w))-	, Hoistable (Schematic Monad t)-	, Hoistable (Schematic Monad u)-	, Hoistable (Schematic Monad v)-	, Hoistable (Schematic Monad w)-	, Hoistable (Schematic Monad x)-	, Hoistable (Schematic Monad y)-	, Adaptable z z'-	) => Adaptable (t :> u :> v :> w :> x :> y :> z)-		(t :> u :> v :> w :> x :> y :> z') where-	adapt = (((((adapt /|\) /|\) /|\) /|\) /|\)+instance (Covariant m m u, Liftable m ((:>) t)) => Effectful m u t u where+	effect = lift -instance-	( Covariant (->) (->) f-	, Covariant (->) (->) (Schematic Monad u (v :> (w :> (x :> (y :> (z :> f))))))-	, Covariant (->) (->) (Schematic Monad v (w :> (x :> (y :> (z :> f)))))-	, Covariant (->) (->) (Schematic Monad w (x :> (y :> (z :> f))))-	, Covariant (->) (->) (Schematic Monad x (y :> (z :> f)))-	, Covariant (->) (->) (Schematic Monad y (z :> f))-	, Covariant (->) (->) (Schematic Monad z f)-	, Hoistable ((:>) (t :> u :> v :> w))-	, Hoistable (Schematic Monad t)-	, Hoistable (Schematic Monad u)-	, Hoistable (Schematic Monad v)-	, Hoistable (Schematic Monad w)-	, Hoistable (Schematic Monad x)-	, Hoistable (Schematic Monad y)-	, Hoistable (Schematic Monad z)-	, Adaptable f f'-	) => Adaptable (t :> u :> v :> w :> x :> y :> z :> f)-		(t :> u :> v :> w :> x :> y :> z :> f') where-	adapt = ((((((adapt /|\) /|\) /|\) /|\) /|\) /|\)+instance {-# OVERLAPS #-} (Semigroupoid m, Effectful m u t u, Adaptable u m v) => Effectful m v t u where+	effect = effect @m @u @t @u . adapt @u @m @v -instance-	( Covariant (->) (->) h-	, Covariant (->) (->) (Schematic Monad u (v :> (w :> (x :> (y :> (z :> (f :> h)))))))-	, Covariant (->) (->) (Schematic Monad v (w :> (x :> (y :> (z :> (f :> h))))))-	, Covariant (->) (->) (Schematic Monad w (x :> (y :> (z :> (f :> h)))))-	, Covariant (->) (->) (Schematic Monad x (y :> (z :> (f :> h))))-	, Covariant (->) (->) (Schematic Monad y (z :> (f :> h)))-	, Covariant (->) (->) (Schematic Monad z (f :> h))-	, Covariant (->) (->) (Schematic Monad f h)-	, Hoistable ((:>) (t :> u :> v :> w))-	, Hoistable (Schematic Monad t)-	, Hoistable (Schematic Monad u)-	, Hoistable (Schematic Monad v)-	, Hoistable (Schematic Monad w)-	, Hoistable (Schematic Monad x)-	, Hoistable (Schematic Monad y)-	, Hoistable (Schematic Monad z)-	, Hoistable (Schematic Monad f)-	, Adaptable h h'-	) => Adaptable (t :> u :> v :> w :> x :> y :> z :> f :> h)-		(t :> u :> v :> w :> x :> y :> z :> f :> h') where-	adapt = (((((((adapt /|\) /|\) /|\) /|\) /|\) /|\) /|\)+instance Effectful m v t u => Adaptable (t :> u) m v where+	adapt = effect @m @v @t @u
Pandora/Paradigm/Controlflow/Effect/Interpreted.hs view
@@ -4,10 +4,11 @@ import Pandora.Pattern.Morphism.Flip (Flip (Flip)) import Pandora.Core.Functor (type (:.), type (:=)) import Pandora.Pattern.Semigroupoid (Semigroupoid ((.)))-import Pandora.Pattern.Functor.Covariant (Covariant ((<$>)), (<$$>), (<$$$>), (<$$$$>))+import Pandora.Pattern.Functor.Covariant (Covariant ((<-|-)), (<$$>), (<$$$>)) import Pandora.Pattern.Transformer.Liftable (Liftable (lift)) import Pandora.Paradigm.Primary.Algebraic.Exponential () +infixl 1 ! infixr 2 ||=, =||  type family Schematic (c :: (* -> * -> *) -> (* -> *) -> k) (t :: * -> *) = (r :: (* -> *) -> * -> *) | r -> t@@ -18,6 +19,9 @@ 	run :: m (t a) (Primary t a) 	unite :: m (Primary t a) (t a) +	(!) :: m (t a) (Primary t a)+	(!) = run+ 	(||=) :: (Semigroupoid m, Interpreted m u) => m (Primary t a) (Primary u b) -> m (t a) (u b) 	(||=) f = unite . f . run @@ -26,35 +30,27 @@  	(<$||=) :: (Semigroupoid m, Covariant m m j, Interpreted m u)                 => m (Primary t a) (Primary u b) -> m (j := t a) (j := u b)-	(<$||=) f = (<$>) ((||=) f)--	(<$$||=) :: (Semigroupoid m, Covariant m m j, Covariant m m k, Interpreted m u)-		=> m (Primary t a) (Primary u b) -> m (j :. k := t a) (j :. k := u b)-	(<$$||=) f = (<$$>) @m @m ((||=) f)+	(<$||=) f = (<-|-) ((||=) f) -	(<$$$||=) :: (Semigroupoid m, Covariant m m j, Covariant m m k, Covariant m m l, Interpreted m u)-		=> m (Primary t a) (Primary u b) -> m (j :. k :. l := t a) (j :. k :. l := u b)-	(<$$$||=) f = (<$$$>) @m @m @m ((||=) f)+	--(<$$||=) :: (Semigroupoid m, Covariant m m j, Covariant m m k, Interpreted m u)+	--	=> m (Primary t a) (Primary u b) -> m (j :. k := t a) (j :. k := u b)+	--(<$$||=) f = (<$$>) @m @m ((||=) f) -	(<$$$$||=) :: (Semigroupoid m, Covariant m m j, Covariant m m k, Covariant m m l, Covariant m m n, Interpreted m u)-		=> m (Primary t a) (Primary u b) -> m (j :. k :. l :. n := t a) (j :. k :. l :. n := u b)-	(<$$$$||=) f = (<$$$$>) @m @m @m @m ((||=) f)+	--(<$$$||=) :: (Semigroupoid m, Covariant m m j, Covariant m m k, Covariant m m l, Interpreted m u)+	--	=> m (Primary t a) (Primary u b) -> m (j :. k :. l := t a) (j :. k :. l := u b)+	--(-<$$$||=) f = (<$$$>) @m @m @m ((||=) f)  	(=||$>) :: (Covariant m m j, Interpreted m u) 		=> m (t a) (u b) -> m (j := Primary t a) (j := Primary u b)-	(=||$>) f = (<$>) ((=||) f)--	(=||$$>) :: (Covariant m m j, Covariant m m k, Interpreted m u)-		=> m (t a) (u b) -> m (j :. k := Primary t a) (j :. k := Primary u b)-	(=||$$>) f = (<$$>) @m @m ((=||) f)+	(=||$>) f = (<-|-) ((=||) f) -	(=||$$$>) :: (Covariant m m j, Covariant m m k, Covariant m m l, Interpreted m u)-		=> m (t a) (u b) -> m (j :. k :. l := Primary t a) (j :. k :. l := Primary u b)-	(=||$$$>) f = (<$$$>) @m @m @m ((=||) f)+	--(=||$$>) :: (Covariant m m j, Covariant m m k, Interpreted m u)+	--	=> m (t a) (u b) -> m (j :. k := Primary t a) (j :. k := Primary u b)+	--(=||$$>) f = (<$$>) @m @m ((=||) f) -	(=||$$$$>) :: (Covariant m m j, Covariant m m k, Covariant m m l, Covariant m m n, Interpreted m u)-		=> m (t a) (u b) -> m (j :. k :. l :. n := Primary t a) (j :. k :. l :. n := Primary u b)-	(=||$$$$>) f = (<$$$$>) @m @m @m @m ((=||) f)+	--(=||$$$>) :: (Covariant m m j, Covariant m m k, Covariant m m l, Interpreted m u)+	--	=> m (t a) (u b) -> m (j :. k :. l := Primary t a) (j :. k :. l := Primary u b)+	--(=||$$$>) f = (<$$$>) @m @m @m ((=||) f)  (-=:) :: (Liftable m t, Interpreted m (t u), Interpreted m (t v), Covariant m m u) 	=> m (t u a) (t v b) -> m (u a) (Primary (t v) b)
Pandora/Paradigm/Controlflow/Effect/Transformer.hs view
@@ -5,6 +5,6 @@  import Pandora.Pattern.Functor (Monad, Comonad) -type family Transformer c t where-	Transformer Monad t = Monadic t-	Transformer Comonad t = Comonadic t+type family Transformer c m t where+	Transformer Monad m t = Monadic m t+	Transformer Comonad m t = Comonadic m t
Pandora/Paradigm/Controlflow/Effect/Transformer/Comonadic.hs view
@@ -2,12 +2,10 @@  module Pandora.Paradigm.Controlflow.Effect.Transformer.Comonadic (Comonadic (..), (:<) (..)) where -import Pandora.Core.Appliable ((!))-import Pandora.Core.Functor (type (~>)) import Pandora.Pattern.Semigroupoid ((.)) import Pandora.Pattern.Category (($)) import Pandora.Pattern.Morphism.Straight (Straight (Straight))-import Pandora.Pattern.Functor.Covariant (Covariant ((<$>)))+import Pandora.Pattern.Functor.Covariant (Covariant ((<-|-))) import Pandora.Pattern.Functor.Semimonoidal (Semimonoidal (mult)) import Pandora.Pattern.Functor.Monoidal (Monoidal (unit)) import Pandora.Pattern.Functor.Distributive (Distributive ((-<<)))@@ -17,30 +15,30 @@ import Pandora.Pattern.Functor.Comonad (Comonad) import Pandora.Pattern.Transformer.Lowerable (Lowerable (lower)) import Pandora.Pattern.Transformer.Hoistable (Hoistable ((/|\)))-import Pandora.Paradigm.Primary.Algebraic.Exponential (type (<--), type (-->))+import Pandora.Paradigm.Primary.Algebraic.Exponential (type (-->)) import Pandora.Paradigm.Primary.Algebraic.Product ((:*:)((:*:))) import Pandora.Paradigm.Primary.Algebraic.One (One (One)) import Pandora.Paradigm.Primary.Algebraic (Extractable, point)-import Pandora.Paradigm.Controlflow.Effect.Interpreted (Schematic, Interpreted (Primary, run, unite))+import Pandora.Paradigm.Controlflow.Effect.Interpreted (Schematic, Interpreted (Primary, run, unite, (!))) -class Interpreted (->) t => Comonadic t where+class Interpreted m t => Comonadic m t where 	{-# MINIMAL bring #-}-	bring :: Extractable u => t :< u ~> t+	bring :: Extractable u => m ((t :< u) a) (t a)  infixr 3 :< newtype (:<) t u a = TC { tc :: Schematic Comonad t u a }  instance Covariant (->) (->) (Schematic Comonad t u) => Covariant (->) (->) (t :< u) where-	f <$> TC x = TC $ f <$> x+	f <-|- TC x = TC $ f <-|- x  instance Semimonoidal (-->) (:*:) (:*:) (Schematic Comonad t u) => Semimonoidal (-->) (:*:) (:*:) (t :< u) where-	mult = Straight $ \(TC f :*: TC x) -> TC $ mult @(-->) @(:*:) @(:*:) ! f :*: x+	mult = Straight $ \(TC f :*: TC x) -> TC $ mult @(-->) @(:*:) @(:*:) ! (f :*: x) -instance Monoidal (-->) (->) (:*:) (:*:) (Schematic Comonad t u) => Monoidal (-->) (->) (:*:) (:*:) (t :< u) where-	unit _ = Straight $ TC . point . ($ One)+instance Monoidal (-->) (-->) (:*:) (:*:) (Schematic Comonad t u) => Monoidal (-->) (-->) (:*:) (:*:) (t :< u) where+	unit _ = Straight $ TC . point . ($ One) . run  instance Traversable (->) (->) (Schematic Comonad t u) => Traversable (->) (->) (t :< u) where-	f <<- TC x = TC <$> f <<- x+	f <<- TC x = TC <-|- f <<- x  instance Distributive (->) (->) (Schematic Comonad t u) => Distributive (->) (->) (t :< u) where 	f -<< x = TC $ tc . f -<< x@@ -56,7 +54,7 @@ instance Lowerable (->) (Schematic Comonad t) => Lowerable (->) ((:<) t) where 	lower (TC x) = lower x -instance Hoistable (Schematic Comonad t) => Hoistable ((:<) t) where+instance Hoistable (->) (Schematic Comonad t) => Hoistable (->) ((:<) t) where 	f /|\ TC x = TC $ f /|\ x  instance (Interpreted (->) (Schematic Comonad t u)) => Interpreted (->) (t :< u) where
Pandora/Paradigm/Controlflow/Effect/Transformer/Monadic.hs view
@@ -2,12 +2,10 @@  module Pandora.Paradigm.Controlflow.Effect.Transformer.Monadic (Monadic (..), (:>) (..)) where -import Pandora.Core.Appliable ((!))-import Pandora.Core.Functor (type (~>)) import Pandora.Pattern.Morphism.Straight (Straight (Straight)) import Pandora.Pattern.Semigroupoid ((.)) import Pandora.Pattern.Category (($))-import Pandora.Pattern.Functor.Covariant (Covariant ((<$>)))+import Pandora.Pattern.Functor.Covariant (Covariant ((<-|-))) import Pandora.Pattern.Functor.Semimonoidal (Semimonoidal (mult)) import Pandora.Pattern.Functor.Monoidal (Monoidal (unit)) import Pandora.Pattern.Functor.Distributive (Distributive ((-<<)))@@ -19,28 +17,32 @@ import Pandora.Pattern.Transformer.Hoistable (Hoistable ((/|\))) import Pandora.Paradigm.Primary.Algebraic.Exponential (type (-->)) import Pandora.Paradigm.Primary.Algebraic.Product ((:*:)((:*:)))+import Pandora.Paradigm.Primary.Algebraic.Sum ((:+:)) import Pandora.Paradigm.Primary.Algebraic.One (One (One)) import Pandora.Paradigm.Primary.Algebraic (Pointable, point)-import Pandora.Paradigm.Controlflow.Effect.Interpreted (Schematic, Interpreted (Primary, run, unite))+import Pandora.Paradigm.Controlflow.Effect.Interpreted (Schematic, Interpreted (Primary, run, unite, (!))) -class Interpreted (->) t => Monadic t where+class Interpreted m t => Monadic m t where 	{-# MINIMAL wrap #-}-	wrap :: Pointable u => t ~> t :> u+	wrap :: Pointable u => m (t a) ((t :> u) a)  infixr 3 :> newtype (:>) t u a = TM { tm :: Schematic Monad t u a }  instance Covariant (->) (->) (Schematic Monad t u) => Covariant (->) (->) (t :> u) where-	f <$> TM x = TM $ f <$> x+	f <-|- TM x = TM $ f <-|- x  instance Semimonoidal (-->) (:*:) (:*:) (Schematic Monad t u) => Semimonoidal (-->) (:*:) (:*:) (t :> u) where-	mult = Straight $ \(TM f :*: TM x) -> TM $ mult @(-->) @(:*:) @(:*:) ! f :*: x+	mult = Straight $ \(TM f :*: TM x) -> TM $ mult @(-->) @(:*:) @(:*:) ! (f :*: x) -instance Monoidal (-->) (->) (:*:) (:*:) (Schematic Monad t u) => Monoidal (-->) (->) (:*:) (:*:) (t :> u) where-	unit _ = Straight $ TM . point . ($ One)+instance Monoidal (-->) (-->) (:*:) (:*:) (Schematic Monad t u) => Monoidal (-->) (-->) (:*:) (:*:) (t :> u) where+	unit _ = Straight $ TM . point . ($ One) . run +instance Semimonoidal (-->) (:*:) (:+:) (Schematic Monad t u) => Semimonoidal (-->) (:*:) (:+:) (t :> u) where+	mult = Straight $ \(TM f :*: TM x) -> TM $ mult @(-->) @(:*:) @(:+:) ! (f :*: x)+ instance Traversable (->) (->) (Schematic Monad t u) => Traversable (->) (->) (t :> u) where-	f <<- TM x = TM <$> f <<- x+	f <<- TM x = TM <-|- f <<- x  instance Distributive (->) (->) (Schematic Monad t u) => Distributive (->) (->) (t :> u) where 	f -<< x = TM $ tm . f -<< x@@ -51,12 +53,12 @@ instance Extendable (->) (Schematic Monad t u) => Extendable (->) (t :> u) where 	f <<= TM x = TM $ f . TM <<= x -instance (Covariant (->) (->) (Schematic Monad t u), Monoidal (-->) (->) (:*:) (:*:) (Schematic Monad t u), Bindable (->) (t :> u)) => Monad (->) (t :> u) where+instance (Covariant (->) (->) (Schematic Monad t u), Monoidal (-->) (-->) (:*:) (:*:) (Schematic Monad t u), Bindable (->) (t :> u)) => Monad (->) (t :> u) where  instance Liftable (->) (Schematic Monad t) => Liftable (->) ((:>) t) where 	lift = TM . lift -instance Hoistable (Schematic Monad t) => Hoistable ((:>) t) where+instance Hoistable (->) (Schematic Monad t) => Hoistable (->) ((:>) t) where 	f /|\ TM x = TM $ f /|\ x  instance (Interpreted (->) (Schematic Monad t u)) => Interpreted (->) (t :> u) where
Pandora/Paradigm/Controlflow/Pipeline.hs view
@@ -4,7 +4,7 @@ import Pandora.Pattern.Category (($), (#)) import Pandora.Pattern.Functor.Bindable (Bindable ((=<<))) import Pandora.Pattern.Functor.Monoidal (Monoidal)-import Pandora.Paradigm.Primary.Algebraic.Exponential ((!.), (!..), type (<--), type (-->))+import Pandora.Paradigm.Primary.Algebraic.Exponential ((!.), (!..), type (-->)) import Pandora.Paradigm.Primary.Algebraic.Product ((:*:)) import Pandora.Paradigm.Primary.Algebraic (point) import Pandora.Paradigm.Controlflow.Effect.Interpreted (Interpreted (Primary, run, unite))@@ -43,7 +43,7 @@ yield v = Continuation $ \next -> Pipe $ \i (Consumer o) -> o v # pause next i  -- | Pipeline that does nothing-finish :: Monoidal (-->) (->) (:*:) (:*:) t => Pipeline i o t () ()+finish :: Monoidal (-->) (-->) (:*:) (:*:) t => Pipeline i o t () () finish = Continuation (Pipe (point () !..) !.)  -- | Do some effectful computation within pipeline@@ -51,14 +51,14 @@ impact action = Continuation $ \next -> Pipe $ \i o -> (\x -> pipe (next x) i o) =<< action  -- | Compose two pipelines into one-(=*=) :: forall i e o t . Monoidal (-->) (->) (:*:) (:*:) t => Pipeline i e t () () -> Pipeline e o t () () -> Pipeline i o t () ()+(=*=) :: forall i e o t . Monoidal (-->) (-->) (:*:) (:*:) t => Pipeline i e t () () -> Pipeline e o t () () -> Pipeline i o t () () p =*= q = Continuation $ \_ -> Pipe $ \i -> pipe # run q end # pause (run p end !.) i where  	end :: b -> Pipe c d () t () 	end _ = Pipe (point () !..)  -- | Run pipeline and get result-pipeline :: Monoidal (-->) (->) (:*:) (:*:) t => Pipeline i o t () () -> t ()+pipeline :: Monoidal (-->) (-->) (:*:) (:*:) t => Pipeline i o t () () -> t () pipeline p = pipe # run p (Pipe . (!..) . point) # i # o where  	i :: Producer i t ()
Pandora/Paradigm/Inventory.hs view
@@ -1,7 +1,7 @@ {-# LANGUAGE AllowAmbiguousTypes #-} {-# OPTIONS_GHC -fno-warn-orphans #-} -module Pandora.Paradigm.Inventory (module Exports, zoom, magnify, (=<>), (~<>), adjust) where+module Pandora.Paradigm.Inventory (module Exports, zoom, overlook, (=<>), (~<>)) where  import Pandora.Paradigm.Inventory.Optics as Exports import Pandora.Paradigm.Inventory.Store as Exports@@ -11,18 +11,17 @@ import Pandora.Paradigm.Inventory.Environment as Exports import Pandora.Paradigm.Inventory.Accumulator as Exports -import Pandora.Core.Functor (type (~>)) import Pandora.Pattern.Semigroupoid ((.))-import Pandora.Pattern.Category (($), (#), identity)+import Pandora.Pattern.Category (($))+import Pandora.Pattern.Morphism.Flip (Flip (Flip))+import Pandora.Pattern.Functor.Covariant (Covariant ((<-|-)))+import Pandora.Pattern.Functor.Semimonoidal (Semimonoidal (mult)) import Pandora.Pattern.Functor.Adjoint (Adjoint ((-|), (|-)))-import Pandora.Pattern.Functor.Bivariant ((<->)) import Pandora.Paradigm.Primary.Algebraic.Product ((:*:) ((:*:)))-import Pandora.Paradigm.Primary.Algebraic.Exponential ((!.), (%))+import Pandora.Paradigm.Primary.Algebraic.Exponential ((!.), (%), type (<--)) import Pandora.Paradigm.Primary.Algebraic (extract)-import Pandora.Paradigm.Primary.Functor.Identity (Identity (Identity))-import Pandora.Paradigm.Controlflow.Effect.Interpreted (run)-import Pandora.Paradigm.Controlflow.Effect.Adaptable (adapt)-import Pandora.Paradigm.Structure.Ability.Accessible (Accessible (access))+import Pandora.Paradigm.Controlflow.Effect.Interpreted (run, (!))+import Pandora.Paradigm.Controlflow.Effect.Adaptable (Adaptable (adapt))  instance Adjoint (->) (->) (Store s) (State s) where 	(-|) :: (Store s a -> b) -> a -> State s b@@ -38,18 +37,17 @@ 	f -| x = Environment $ f . Equipment -| x 	g |- x = run . g |- run x -zoom :: Stateful bg t => Lens Identity bg ls -> State ls ~> t-zoom lens less = let restruct to = (to . Identity <-> identity @(->)) . run less . extract @Identity-	in adapt . State $ (restruct |-) . run . run lens+zoom :: forall bg ls t u result . Stateful bg t => Lens u bg ls -> State (u ls) result -> t result+zoom lens less = adapt . State $ \source -> restruct |- run (lens ! source) where -(=<>) :: Stateful src t => Lens mode src tgt -> mode tgt -> t src-lens =<> new = modify $ set lens new+	restruct :: (u ls -> bg) -> u ls -> bg :*: result+	restruct to target = run $ to <-|- Flip (less ! target) -(~<>) :: Stateful src t => Lens mode src tgt -> (mode tgt -> mode tgt) -> t src-lens ~<> f = modify $ over lens f+overlook :: (Covariant (->) (->) t, Semimonoidal (<--) (:*:) (:*:) t) => State s result -> State (t s) (t result)+overlook (State state) = State $ \ts -> mult @(<--) @(:*:) @(:*:) ! (state <-|- ts) -magnify :: forall bg ls t . (Accessible ls bg, Stateful bg t) => t ls-magnify = zoom @bg # access @ls @bg # current+(=<>) :: Stateful src t => Lens available src tgt -> available tgt -> t src+lens =<> new = modify $ set lens new -adjust :: forall bg ls t . (Accessible ls bg, Stateful bg t) => (ls -> ls) -> t ls-adjust = zoom @bg (access @ls @bg) . modify+(~<>) :: Stateful src t => Lens available src tgt -> (available tgt -> available tgt) -> t src+lens ~<> f = modify $ over lens f
Pandora/Paradigm/Inventory/Accumulator.hs view
@@ -5,7 +5,7 @@ import Pandora.Pattern.Morphism.Straight (Straight (Straight)) import Pandora.Pattern.Semigroupoid ((.)) import Pandora.Pattern.Category (($), (#))-import Pandora.Pattern.Functor.Covariant (Covariant ((<$>)))+import Pandora.Pattern.Functor.Covariant (Covariant ((<-|-))) import Pandora.Pattern.Functor.Semimonoidal (Semimonoidal (mult)) import Pandora.Pattern.Functor.Bindable (Bindable ((=<<))) import Pandora.Pattern.Functor.Monad (Monad)@@ -22,7 +22,7 @@ newtype Accumulator e a = Accumulator (e :*: a)  instance Covariant (->) (->) (Accumulator e) where-	f <$> Accumulator x = Accumulator $ f <$> x+	f <-|- Accumulator x = Accumulator $ f <-|- x  instance Semigroup e => Semimonoidal (-->) (:*:) (:*:) (Accumulator e) where 	mult = Straight $ \(x :*: y) -> Accumulator $ k # run x # run y where@@ -39,10 +39,10 @@ 	run ~(Accumulator x) = x 	unite = Accumulator -instance Monoid e => Monadic (Accumulator e) where+instance Monoid e => Monadic (->) (Accumulator e) where 	wrap = TM . UT . point . run -type Accumulated e t = Adaptable (Accumulator e) t+type Accumulated e t = Adaptable t (->) (Accumulator e)  gather :: Accumulated e t => e -> t () gather x = adapt . Accumulator $ x :*: ()
Pandora/Paradigm/Inventory/Environment.hs view
@@ -2,11 +2,10 @@  module Pandora.Paradigm.Inventory.Environment (Environment (..), Configured, env) where -import Pandora.Core.Appliable ((!)) import Pandora.Pattern.Semigroupoid ((.)) import Pandora.Pattern.Category (identity, ($))-import Pandora.Pattern.Functor.Covariant (Covariant ((<$>)))-import Pandora.Pattern.Functor.Contravariant (Contravariant ((>$<)))+import Pandora.Pattern.Functor.Covariant (Covariant ((<-|-)))+import Pandora.Pattern.Functor.Contravariant (Contravariant ((>-|-))) import Pandora.Pattern.Functor.Semimonoidal (Semimonoidal (mult)) import Pandora.Pattern.Functor.Monoidal (Monoidal (unit)) import Pandora.Pattern.Functor.Distributive (Distributive ((-<<)))@@ -21,7 +20,7 @@ import Pandora.Paradigm.Primary.Algebraic (point) import Pandora.Pattern.Morphism.Flip (Flip (Flip)) import Pandora.Pattern.Morphism.Straight (Straight (Straight))-import Pandora.Paradigm.Controlflow.Effect.Interpreted (Schematic, Interpreted (Primary, run, unite))+import Pandora.Paradigm.Controlflow.Effect.Interpreted (Schematic, Interpreted (Primary, run, unite, (!))) import Pandora.Paradigm.Controlflow.Effect.Transformer.Monadic (Monadic (wrap), (:>) (TM)) import Pandora.Paradigm.Controlflow.Effect.Adaptable (Adaptable (adapt)) import Pandora.Paradigm.Schemes.TU (TU (TU), type (<:.>))@@ -29,24 +28,24 @@ newtype Environment e a = Environment (e -> a)  instance Covariant (->) (->) (Environment e) where-	f <$> Environment x = Environment $ f . x+	f <-|- Environment x = Environment $ f . x  instance Contravariant (->) (->) (Flip Environment a) where-	f >$< Flip (Environment g) = Flip . Environment $ g . f+	f >-|- Flip (Environment g) = Flip . Environment $ g . f  instance Semimonoidal (-->) (:*:) (:*:) (Environment e) where 	mult = Straight $ Environment . (mult @(-->) !) . (run @(->) <-> run @(->)) -instance Monoidal (-->) (->) (:*:) (:*:) (Environment e) where-	unit _ = Straight $ \f -> Environment $ \_ -> f One+instance Monoidal (-->) (-->) (:*:) (:*:) (Environment e) where+	unit _ = Straight $ \f -> Environment $ \_ -> run f One  instance Distributive (->) (->) (Environment e) where-	f -<< g = Environment $ (run @(->) <$> f) -<< g+	f -<< g = Environment $ (run @(->) <-|- f) -<< g  instance Bindable (->) (Environment e) where 	f =<< Environment x = Environment $ \e -> (run % e) . f . x $ e ---instance Monad (Environment e) where+instance Monad (->) (Environment e) where  instance Divariant (->) (->) (->) Environment where 	(>->) ab cd bc = Environment $ ab >-> cd $ run bc@@ -58,10 +57,10 @@  type instance Schematic Monad (Environment e) = (<:.>) ((->) e) -instance Monadic (Environment e) where-	wrap x = TM . TU $ point <$> run x+instance Monadic (->) (Environment e) where+	wrap x = TM . TU $ point <-|- run x -type Configured e = Adaptable (Environment e)+type Configured e t = Adaptable t (->) (Environment e)  env :: Configured e t => t e env = adapt $ Environment identity
Pandora/Paradigm/Inventory/Equipment.hs view
@@ -4,7 +4,7 @@  import Pandora.Pattern.Semigroupoid ((.)) import Pandora.Pattern.Category (($))-import Pandora.Pattern.Functor.Covariant (Covariant ((<$>)))+import Pandora.Pattern.Functor.Covariant (Covariant ((<-|-))) import Pandora.Pattern.Functor.Traversable (Traversable ((<<-))) import Pandora.Pattern.Functor.Extendable (Extendable ((<<=))) import Pandora.Pattern.Functor.Comonad (Comonad)@@ -17,10 +17,10 @@ newtype Equipment e a = Equipment (e :*: a)  instance Covariant (->) (->) (Equipment e) where-	f <$> Equipment x = Equipment $ f <$> x+	f <-|- Equipment x = Equipment $ f <-|- x  instance Traversable (->) (->) (Equipment e) where-	f <<- Equipment x = Equipment <$> f <<- x+	f <<- Equipment x = Equipment <-|- f <<- x  instance Extendable (->) (Equipment e) where 	f <<= Equipment (e :*: x) = Equipment . (:*:) e . f . Equipment $ e :*: x@@ -32,7 +32,7 @@  type instance Schematic Comonad (Equipment e) = (<:.>) ((:*:) e) -type Equipped e t = Adaptable t (Equipment e)+type Equipped e t = Adaptable (Equipment e) (->) t  instance {-# OVERLAPS #-} Extendable (->) u => Extendable (->) ((:*:) e <:.> u) where 	f <<= TU (e :*: x) = TU . (:*:) e $ f . TU . (:*:) e <<= x
Pandora/Paradigm/Inventory/Imprint.hs view
@@ -4,8 +4,8 @@  import Pandora.Pattern.Semigroupoid ((.)) import Pandora.Pattern.Category (($))-import Pandora.Pattern.Functor.Covariant (Covariant ((<$>)))-import Pandora.Pattern.Functor.Contravariant (Contravariant ((>$<)))+import Pandora.Pattern.Functor.Covariant (Covariant ((<-|-)))+import Pandora.Pattern.Functor.Contravariant (Contravariant ((>-|-))) import Pandora.Pattern.Functor.Distributive (Distributive ((-<<))) import Pandora.Pattern.Functor.Extendable (Extendable ((<<=))) import Pandora.Pattern.Functor.Comonad (Comonad)@@ -20,13 +20,13 @@ newtype Imprint e a = Imprint (e -> a)  instance Covariant (->) (->) (Imprint e) where-	f <$> Imprint g = Imprint $ f . g+	f <-|- Imprint g = Imprint $ f . g  instance Contravariant (->) (->) (Flip Imprint a) where-	f >$< Flip (Imprint g) = Flip . Imprint $ g . f+	f >-|- Flip (Imprint g) = Flip . Imprint $ g . f  instance Distributive (->) (->) (Imprint e) where-	f -<< g = Imprint $ (run @(->) <$> f) -<< g+	f -<< g = Imprint $ (run @(->) <-|- f) -<< g  instance Divariant (->) (->) (->) Imprint where 	(>->) ab cd bc = ab >-> cd ||= bc@@ -42,6 +42,6 @@ type instance Schematic Comonad (Imprint e) = (<.:>) ((->) e)  instance {-# OVERLAPS #-} (Semigroup e, Extendable (->) u) => Extendable (->) ((->) e <.:> u) where-	f <<= UT x = UT $ (\x' e -> f . UT . (<$>) (. (e +)) $ x') <<= x+	f <<= UT x = UT $ (\x' e -> f . UT . (<-|-) (. (e +)) $ x') <<= x -type Traceable e t = Adaptable t (Imprint e)+type Traceable e t = Adaptable t (->) (Imprint e)
Pandora/Paradigm/Inventory/Optics.hs view
@@ -5,18 +5,21 @@ import Pandora.Core.Impliable (Impliable (Arguments, imply)) import Pandora.Pattern.Semigroupoid (Semigroupoid ((.))) import Pandora.Pattern.Category (Category (identity, ($), (#)))-import Pandora.Pattern.Functor.Covariant (Covariant ((<$>)))+import Pandora.Pattern.Functor.Covariant (Covariant ((<-|-))) import Pandora.Pattern.Functor.Invariant (Invariant ((<$<))) import Pandora.Pattern.Functor.Divariant ((>->))+import Pandora.Pattern.Functor.Semimonoidal (Semimonoidal (mult)) import Pandora.Pattern.Functor.Representable (Representable (Representation, (<#>), tabulate)) import Pandora.Pattern.Object.Setoid (Setoid ((==)))+import Pandora.Pattern.Object.Semigroup (Semigroup ((+))) import Pandora.Paradigm.Controlflow.Effect.Interpreted (Interpreted (run)) import Pandora.Paradigm.Primary.Algebraic.Product ((:*:) ((:*:)))-import Pandora.Paradigm.Primary.Algebraic.Exponential ((!.), (%))-import Pandora.Paradigm.Primary.Algebraic (($>-), extract)+import Pandora.Paradigm.Primary.Algebraic.Exponential (type (-->), (!.), (%))+import Pandora.Paradigm.Primary.Algebraic (extract) import Pandora.Paradigm.Primary.Functor.Identity (Identity (Identity)) import Pandora.Paradigm.Primary.Functor.Maybe (Maybe (Just, Nothing)) import Pandora.Pattern.Morphism.Flip (Flip (Flip))+import Pandora.Pattern.Morphism.Straight (Straight (Straight)) import Pandora.Paradigm.Primary.Object.Boolean ((?)) import Pandora.Paradigm.Inventory.Store (Store (Store), position, look, retrofit) import Pandora.Paradigm.Schemes.P_Q_T (P_Q_T (P_Q_T))@@ -27,19 +30,27 @@ type Lens = P_Q_T (->) Store  instance Invariant (Flip (Lens available) tgt) where-	f <$< g = \(Flip (P_Q_T lens)) -> Flip . P_Q_T $ g >-> (f <$>) $ lens+	f <$< g = \(Flip (P_Q_T lens)) -> Flip . P_Q_T $ g >-> (f <-|-) $ lens  type family Convex lens where 	Convex Lens = Lens Identity  instance Semigroupoid (Lens Identity) where 	(.) :: Convex Lens between target -> Convex Lens source between -> Convex Lens source target-	P_Q_T to . P_Q_T from = P_Q_T $ \source -> (to . extract @Identity . position $ from source) $>- source+	P_Q_T to . P_Q_T from = P_Q_T $ \source ->+		let (Identity between :*: bs) = run # from source in+		let (Identity target :*: tb) = run # to between in+		Store $ Identity target :*: bs . Identity . tb  instance Category (Lens Identity) where 	identity :: Convex Lens source source 	identity = imply @(Convex Lens _ _) identity ((%) (!.)) +instance Semigroup source => Semimonoidal (-->) (:*:) (:*:) (Lens Identity source) where+	mult = Straight $ \(P_Q_T x :*: P_Q_T y) -> P_Q_T $ \source ->+		let Store (Identity xt :*: ixts) :*: Store (Identity yt :*: iyts) = x source :*: y source in+		Store $ Identity (xt :*: yt) :*: \(Identity (xt_ :*: yt_)) -> ixts (Identity xt_) + iyts (Identity yt_)+ instance Impliable (P_Q_T (->) Store Identity source target) where 	type Arguments (P_Q_T (->) Store Identity source target) = 		(source -> target) -> (source -> target -> source) -> Lens Identity source target@@ -55,9 +66,11 @@  instance Semigroupoid (Lens Maybe) where 	(.) :: Obscure Lens between target -> Obscure Lens source between -> Obscure Lens source target-	P_Q_T to . P_Q_T from = P_Q_T $ \source -> case position # from source of-		Nothing -> Store $ Nothing :*: (source !.)-		Just between -> to between $>- source+	P_Q_T to . P_Q_T from = P_Q_T $ \source -> case run # from source of+		(Nothing :*: _) -> Store $ Nothing :*: \_ -> source+		(Just between :*: mbs) -> case run # to between of+			(Nothing :*: _) -> Store $ Nothing :*: \_ -> source+			(Just target :*: mtb) -> Store $ Just target :*: mbs . Just . mtb  instance Category (Lens Maybe) where 	identity :: Obscure Lens source source
Pandora/Paradigm/Inventory/State.hs view
@@ -7,7 +7,7 @@ import Pandora.Core.Functor (type (:.), type (:=)) import Pandora.Pattern.Semigroupoid ((.)) import Pandora.Pattern.Category (identity, ($))-import Pandora.Pattern.Functor.Covariant (Covariant ((<$>)))+import Pandora.Pattern.Functor.Covariant (Covariant ((<-|-))) import Pandora.Pattern.Functor.Invariant (Invariant ((<$<))) import Pandora.Pattern.Functor.Semimonoidal (Semimonoidal (mult)) import Pandora.Pattern.Functor.Monoidal (Monoidal (unit))@@ -22,7 +22,7 @@ import Pandora.Paradigm.Controlflow.Effect.Transformer.Monadic (Monadic (wrap), (:>) (TM)) import Pandora.Paradigm.Schemes.TUT (TUT (TUT), type (<:<.>:>)) import Pandora.Paradigm.Primary.Algebraic.Exponential (type (-->))-import Pandora.Paradigm.Primary.Algebraic ((:*:) ((:*:)), (*>-), delta)+import Pandora.Paradigm.Primary.Algebraic ((:*:) ((:*:)), (-*-), delta) import Pandora.Paradigm.Primary.Algebraic.One (One (One)) import Pandora.Paradigm.Primary.Algebraic (Pointable, point) @@ -30,7 +30,7 @@ newtype State s a = State ((->) s :. (:*:) s := a)  instance Covariant (->) (->) (State s) where-	f <$> x = State $ (<$>) f . run x+	f <-|- x = State $ (<-|-) f . run x  instance Semimonoidal (-->) (:*:) (:*:) (State s) where 	mult = Straight $ \(State g :*: State h) -> State $ \s ->@@ -38,11 +38,11 @@ 		let new :*: y = h old in 		new :*: x :*: y -instance Monoidal (-->) (->) (:*:) (:*:) (State s) where-	unit _ = Straight $ State . (identity @(->) -|) . ($ One)+instance Monoidal (-->) (-->) (:*:) (:*:) (State s) where+	unit _ = Straight $ State . (identity @(->) -|) . ($ One) . run  instance Bindable (->) (State s) where-	f =<< x = State $ (run . f |-) <$> run x+	f =<< x = State $ (run . f |-) <-|- run x  instance Monad (->) (State s) where @@ -56,10 +56,10 @@  type instance Schematic Monad (State s) = (->) s <:<.>:> (:*:) s -instance Monadic (State s) where-	wrap x = TM . TUT $ point <$> run x+instance Monadic (->) (State s) where+	wrap x = TM . TUT $ point <-|- run x -type Stateful s = Adaptable (State s)+type Stateful s t = Adaptable t (->) (State s)  -- | Get current value current :: Stateful s t => t s@@ -73,10 +73,10 @@ replace :: Stateful s t => s -> t s replace s = adapt . State $ \_ -> s :*: s -reconcile :: (Bindable (->) t, Stateful s t, Adaptable u t) => (s -> u s) -> t s+reconcile :: (Bindable (->) t, Stateful s t, Adaptable t (->) u) => (s -> u s) -> t s reconcile f = replace =<< adapt . f =<< current -type Memorable s t = (Covariant (->) (->) t, Pointable t,  Stateful s t)+type Memorable s t = (Covariant (->) (->) t, Pointable t, Stateful s t)  fold :: (Traversable (->) (->) t, Memorable s u) => (a -> s -> s) -> t a -> u s-fold op struct = (modify . op <<- struct) *>- current+fold op struct = current -*- modify . op <<- struct
Pandora/Paradigm/Inventory/Store.hs view
@@ -5,7 +5,7 @@ import Pandora.Core (type (:.), type (:=), type (<:=), type (~>)) import Pandora.Pattern.Semigroupoid ((.)) import Pandora.Pattern.Category (identity, ($))-import Pandora.Pattern.Functor.Covariant (Covariant ((<$>)), (<$$>))+import Pandora.Pattern.Functor.Covariant (Covariant ((<-|-)), (<-|-|-)) import Pandora.Pattern.Functor.Semimonoidal (Semimonoidal (mult)) import Pandora.Pattern.Functor.Monoidal (Monoidal (unit)) import Pandora.Pattern.Functor.Invariant (Invariant ((<$<)))@@ -14,10 +14,11 @@ import Pandora.Pattern.Functor.Bivariant ((<->)) import Pandora.Pattern.Functor.Divariant ((>->)) import Pandora.Pattern.Functor.Adjoint ((-|))-import Pandora.Paradigm.Primary.Algebraic.Exponential (type (<--), (%), (!.), (-.#..-))+import Pandora.Paradigm.Primary.Algebraic.Exponential (type (<--), type (-->), (%), (!.), (-.#..-)) import Pandora.Paradigm.Primary.Algebraic.Product ((:*:) ((:*:)), attached) import Pandora.Paradigm.Primary.Algebraic (extract) import Pandora.Pattern.Morphism.Flip (Flip (Flip))+import Pandora.Pattern.Morphism.Straight (Straight (Straight)) import Pandora.Paradigm.Controlflow.Effect.Adaptable (Adaptable (adapt)) import Pandora.Paradigm.Controlflow.Effect.Interpreted (Interpreted (Primary, run, unite, (||=)), Schematic) import Pandora.Paradigm.Controlflow.Effect.Transformer.Comonadic (Comonadic (bring), (:<) (TC))@@ -28,19 +29,19 @@  -- TODO: Try to generalize (->) here instance Covariant (->) (->) (Store s) where-	(<$>) f = (||=) ((<$$>) @(->) @(->) f)+	(<-|-) f = (||=) (f <-|-|-)  instance Semimonoidal (<--) (:*:) (:*:) (Store s) where 	mult = Flip $ \(Store (s :*: f)) -> 		let (x :*: y) = f s in 		Store (s :*: (x !.)) :*: Store (s :*: (y !.)) -instance Monoidal (<--) (->) (:*:) (:*:) (Store s) where-	unit _ = Flip $ \(Store (s :*: f)) -> (\_ -> f s)+instance Monoidal (<--) (-->) (:*:) (:*:) (Store s) where+	unit _ = Flip $ \(Store (s :*: f)) -> Straight (\_ -> f s)  -- TODO: Try to generalize (->) here instance Extendable (->) (Store s) where-	f <<= Store x = Store $ (<$$>) @(->) @(->) f (Store -.#..- (identity @(->) -|) <$> x)+	f <<= Store x = Store $ f <-|-|- (Store -.#..- (identity @(->) -|) <-|- x)  instance Comonad (->) (Store s) where @@ -54,10 +55,10 @@  type instance Schematic Comonad (Store s) = (:*:) s <:<.>:> (->) s -instance Comonadic (Store s) where+instance Comonadic (->) (Store s) where 	bring (TC (TUT (s :*: f))) = Store $ s :*: extract f -type Storable s x = Adaptable x (Store s)+type Storable s t = Adaptable (Store s) (->) t  -- | Get current index position :: Storable s t => t a -> s
Pandora/Paradigm/Primary.hs view
@@ -12,7 +12,7 @@ import Pandora.Core.Functor (type (:=)) import Pandora.Pattern.Semigroupoid (Semigroupoid ((.))) import Pandora.Pattern.Category (Category (($), (#)))-import Pandora.Pattern.Functor.Covariant (Covariant ((<$>)))+import Pandora.Pattern.Functor.Covariant (Covariant ((<-|-))) import Pandora.Pattern.Functor.Adjoint (Adjoint ((|-), (-|))) import Pandora.Pattern.Transformer.Liftable (lift) import Pandora.Pattern.Transformer.Lowerable (lower)@@ -90,16 +90,16 @@ 	type Available Left Wye = Maybe 	type Substance Left Wye = Identity 	substructure = P_Q_T $ \new -> case lower new of-		End -> Store $ Nothing :*: lift . resolve Left End . (extract <$>)-		Left x -> Store $ Just (Identity x) :*: lift . resolve Left End . (extract <$>)-		Right y -> Store $ Nothing :*: (lift # Right y !.) . (extract <$>)-		Both x y -> Store $ Just (Identity x) :*: lift . resolve (Both % y) (Right y) . (extract <$>)+		End -> Store $ Nothing :*: lift . resolve Left End . (extract <-|-)+		Left x -> Store $ Just (Identity x) :*: lift . resolve Left End . (extract <-|-)+		Right y -> Store $ Nothing :*: (lift # Right y !.) . (extract <-|-)+		Both x y -> Store $ Just (Identity x) :*: lift . resolve (Both % y) (Right y) . (extract <-|-)  instance Substructure Right Wye where 	type Available Right Wye = Maybe 	type Substance Right Wye = Identity 	substructure = P_Q_T $ \new -> case lower new of-		End -> Store $ Nothing :*: lift . resolve Right End . (extract <$>)-		Left x -> Store $ Nothing :*: (lift # Left x !.) . (extract <$>)-		Right y -> Store $ Just (Identity y) :*: lift . resolve Right End . (extract <$>)-		Both x y -> Store $ Just (Identity y) :*: lift . resolve (Both x) (Left x) . (extract <$>)+		End -> Store $ Nothing :*: lift . resolve Right End . (extract <-|-)+		Left x -> Store $ Nothing :*: (lift # Left x !.) . (extract <-|-)+		Right y -> Store $ Just (Identity y) :*: lift . resolve Right End . (extract <-|-)+		Both x y -> Store $ Just (Identity y) :*: lift . resolve (Both x) (Left x) . (extract <-|-)
Pandora/Paradigm/Primary/Algebraic.hs view
@@ -1,6 +1,6 @@ {-# OPTIONS_GHC -fno-warn-orphans #-} -module Pandora.Paradigm.Primary.Algebraic (module Exports, Applicative, Alternative, Extractable, Pointable, ($>-), ($$>-), ($$$>-), (<-*-), (*>-), forever_, (-+-), void, empty, point, extract) where+module Pandora.Paradigm.Primary.Algebraic (module Exports, Applicative, Alternative, Divisible, Decidable, Extractable, Pointable, ($>-), ($$>-), ($$$>-), (<-*-), (-*-), forever_, (<-+-), (-+-), void, empty, point, pass, extract) where  import Pandora.Paradigm.Primary.Algebraic.Exponential as Exports import Pandora.Paradigm.Primary.Algebraic.Product as Exports@@ -8,39 +8,39 @@ import Pandora.Paradigm.Primary.Algebraic.Zero as Exports import Pandora.Paradigm.Primary.Algebraic.One as Exports -import Pandora.Core.Appliable ((!)) import Pandora.Pattern.Morphism.Flip (Flip (Flip)) import Pandora.Pattern.Morphism.Straight (Straight (Straight)) import Pandora.Pattern.Category (($)) import Pandora.Pattern.Semigroupoid ((.))-import Pandora.Pattern.Functor.Covariant (Covariant ((<$>)), (<$$>), (<$$$>))+import Pandora.Pattern.Functor.Covariant (Covariant ((<-|-)), (<-|-|-), (<-|-|-|-)) import Pandora.Pattern.Functor.Semimonoidal (Semimonoidal (mult)) import Pandora.Pattern.Functor.Monoidal (Monoidal (unit), Unit) import Pandora.Pattern.Functor.Comonad (Comonad) import Pandora.Pattern.Functor.Traversable (Traversable ((<<-))) import Pandora.Pattern.Functor.Adjoint (Adjoint ((-|), (|-))) import Pandora.Paradigm.Primary.Functor.Proxy (Proxy (Proxy))-import Pandora.Paradigm.Controlflow.Effect.Interpreted (run)+import Pandora.Paradigm.Controlflow.Effect.Interpreted ((!))  type instance Unit (:*:) = One type instance Unit (:+:) = Zero -infixl 4 <-*-+infixl 3 <-+-, -+-+infixl 4 <-*-, -*-  ($>-) :: Covariant (->) (->) t => t a -> b -> t b-x $>- r = (r !.) <$> x+x $>- r = (r !.) <-|- x  ($$>-) :: (Covariant (->) (->) t, Covariant (->) (->) u) => t (u a) -> b -> t (u b)-x $$>- r = (<$$>) @(->) @(->) (r !.) x+x $$>- r = (r !.) <-|-|- x  ($$$>-) :: (Covariant (->) (->) t, Covariant (->) (->) u, Covariant (->) (->) v) => t (u (v a)) -> b -> t (u (v b))-x $$$>- r = (<$$$>) @(->) @(->) @(->) (r !.) x+x $$$>- r = (r !.) <-|-|-|- x  void :: Covariant (->) (->) t => t a -> t () void x = x $>- ()  instance Traversable (->) (->) ((:*:) s) where-	f <<- x = (attached x :*:) <$> f (extract x)+	f <<- x = (attached x :*:) <-|- f (extract x)  instance Adjoint (->) (->) ((:*:) s) ((->) s) where 	(-|) :: ((s :*: a) -> b) -> a -> (s -> b)@@ -52,6 +52,9 @@ 	mult :: ((e -> a) :*: (e -> b)) --> (e -> (a :*: b)) 	mult = Straight $ \(g :*: h) -> \x -> g x :*: h x +instance Monoidal (-->) (-->) (:*:) (:*:) ((->) e) where+	unit _ = Straight $ (!.) . (! One)+ instance Semimonoidal (<--) (:*:) (:*:) ((->) e) where 	mult :: ((e -> a) :*: (e -> b)) <-- (e -> a :*: b) 	mult = Flip $ \f -> attached . f :*: extract . f@@ -69,51 +72,61 @@ 		Option e :*: _ -> Option e 		_ :*: Option e -> Option e -instance Monoidal (-->) (->) (:*:) (:*:) ((:+:) e) where-	unit _ = Straight $ Adoption . ($ One)+instance Monoidal (-->) (-->) (:*:) (:*:) ((:+:) e) where+	unit _ = Straight $ Adoption . (! One)  instance Semimonoidal (<--) (:*:) (:*:) ((:*:) s) where 	mult = Flip $ \(s :*: x :*: y) -> (s :*: x) :*: (s :*: y) -instance Monoidal (<--) (->) (:*:) (:*:) ((:*:) s) where-	unit _ = Flip $ \(_ :*: x) -> (\_ -> x)+instance Monoidal (<--) (-->) (:*:) (:*:) ((:*:) s) where+	unit _ = Flip $ \(_ :*: x) -> Straight (\_ -> x)  instance Comonad (->) ((:*:) s) where  instance Semimonoidal (<--) (:*:) (:*:) (Flip (:*:) a) where 	mult = Flip $ \(Flip ((sx :*: sy) :*: r)) -> Flip (sx :*: r) :*: Flip (sy :*: r) -instance Monoidal (<--) (->) (:*:) (:*:) (Flip (:*:) a) where-	unit _ = Flip $ \(Flip (s :*: _)) -> (\_ -> s)+instance Monoidal (<--) (-->) (:*:) (:*:) (Flip (:*:) a) where+	unit _ = Flip $ \(Flip (s :*: _)) -> Straight (\_ -> s) -type Applicative t = (Covariant (->) (->) t, Semimonoidal (-->) (:*:) (:*:) t, Monoidal (-->) (->) (:*:) (:*:) t)-type Alternative t = (Covariant (->) (->) t, Semimonoidal (-->) (:*:) (:+:) t, Monoidal (-->) (->) (:*:) (:+:) t)+--instance Semimonoidal (-->) (:*:) (:*:) (Flip (:*:) a) where+--mult = Straight $ \(Flip ((sx :*: sy) :*: r)) -> Flip (sx :*: r) :*: Flip (sy :*: r) +type Applicative t = (Covariant (->) (->) t, Semimonoidal (-->) (:*:) (:*:) t, Monoidal (-->) (-->) (:*:) (:*:) t)+type Alternative t = (Covariant (->) (->) t, Semimonoidal (-->) (:*:) (:+:) t, Monoidal (-->) (-->) (:*:) (:+:) t)+type Divisible t = (Covariant (->) (->) t, Semimonoidal (<--) (:*:) (:*:) t, Monoidal (-->) (<--) (:*:) (:*:) t)+type Decidable t = (Covariant (->) (->) t, Semimonoidal (<--) (:*:) (:+:) t, Monoidal (-->) (<--) (:*:) (:+:) t)+ (<-*-) :: (Covariant (->) (->) t, Semimonoidal (-->) (:*:) (:*:) t) => t (a -> b) -> t a -> t b-f <-*- x = (|-) @(->) @(->) (&) <$> run (mult @(-->) @_ @(:*:)) (f :*: x)+f <-*- x = (|-) @(->) @(->) (&) <-|- (mult @(-->) @_ @(:*:) ! (f :*: x)) +(-*-) :: (Covariant (->) (->) t, Semimonoidal (-->) (:*:) (:*:) t) => t b -> t a -> t b+y -*- x = (\x' y' -> y') <-|- x <-*- y+ forever_ :: (Covariant (->) (->) t, Semimonoidal (-->) (:*:) (:*:) t) => t a -> t b-forever_ x = let r = x *>- r in r+forever_ x = let r = r -*- x in r -(*>-) :: (Covariant (->) (->) t, Semimonoidal (-->) (:*:) (:*:) t) => t a -> t b -> t b-x *>- y = ((!.) %) <$> x <-*- y+(<-+-) :: (Covariant (->) (->) t, Semimonoidal (-->) (:*:) (:+:) t) => t b -> t a -> (a :+: b -> r) -> t r+y <-+- x = \f -> f <-|- (mult @(-->) ! (x :*: y)) -(-+-) :: (Covariant (->) (->) t, Semimonoidal (-->) (:*:) (:+:) t)-	=> t a -> t b -> (a :+: b -> r) -> t r-x -+- y = \f -> f <$> (mult @(-->) ! (x :*: y))+(-+-) :: (Covariant (->) (->) t, Semimonoidal (-->) (:*:) (:+:) t) => t a -> t a -> t a+y -+- x = (\r -> case r of Option rx -> rx; Adoption ry -> ry) <-|- (mult @(-->) ! (x :*: y)) -type Extractable t = Monoidal (<--) (->) (:*:) (:*:) t-type Pointable t = Monoidal (-->) (->) (:*:) (:*:) t-type Emptiable t = Monoidal (-->) (->) (:*:) (:+:) t+type Extractable t = Monoidal (<--) (-->) (:*:) (:*:) t+type Pointable t = Monoidal (-->) (-->) (:*:) (:*:) t+type Emptiable t = Monoidal (-->) (-->) (:*:) (:+:) t  extract :: Extractable t => t a -> a-extract j = run (unit @(<--) Proxy) j One+extract j = unit @(<--) @(-->) Proxy ! j ! One  point :: Pointable t => a -> t a-point x = run (unit @(-->) Proxy) (\One -> x)+point x = unit @(-->) Proxy ! (Straight $ \One -> x) +pass :: Pointable t => t ()+pass = point ()+ empty :: Emptiable t => t a-empty = unit @(-->) (Proxy @(:*:)) ! absurd+empty = unit @(-->) Proxy ! Straight absurd  --instance Appliable (->) b c (->) e d => Appliable (->) a (b -> c) (->) (a :*: e) d where --	f ! (x :*: y) = f x ! y
Pandora/Paradigm/Primary/Algebraic/Exponential.hs view
@@ -2,11 +2,11 @@  module Pandora.Paradigm.Primary.Algebraic.Exponential where -import Pandora.Core.Appliable (Appliable ((!)))+import Pandora.Pattern.Betwixt (Betwixt) import Pandora.Pattern.Semigroupoid (Semigroupoid ((.))) import Pandora.Pattern.Category (Category (($), (#), identity))-import Pandora.Pattern.Functor.Covariant (Covariant ((<$>)))-import Pandora.Pattern.Functor.Contravariant (Contravariant ((>$<)))+import Pandora.Pattern.Functor.Covariant (Covariant ((<-|-)))+import Pandora.Pattern.Functor.Contravariant (Contravariant ((>-|-))) import Pandora.Pattern.Functor.Distributive (Distributive ((-<<))) import Pandora.Pattern.Functor.Bindable (Bindable ((=<<))) import Pandora.Pattern.Functor.Divariant (Divariant ((>->)))@@ -20,6 +20,8 @@ infixr 9 % infixl 1 & +type instance Betwixt (->) (->) = (->)+ instance Semigroupoid (->) where 	f . g = \x -> f (g x) @@ -27,10 +29,10 @@ 	identity x = x  instance Covariant (->) (->) ((->) a) where-	(<$>) = (.)+	(<-|-) = (.)  instance Distributive (->) (->) ((->) e) where-	f -<< g = \e -> (f % e) <$> g+	f -<< g = \e -> (f % e) <-|- g  instance Bindable (->) ((->) e) where 	f =<< g = \x -> f # g x # x@@ -47,22 +49,15 @@ type (<--) = Flip (->)  instance Contravariant (->) (->) ((<--) a) where-	f >$< Flip g = Flip $ g . f+	f >-|- Flip g = Flip $ g . f  type (-->) = Straight (->)  instance Covariant (->) (->) ((-->) b) where-	f <$> Straight g = Straight $ f . g--instance Appliable (->) c b (->) c b where-	f ! x = f x---- TODO: Is it possible to generalize?-instance Appliable (->) a (b -> c) (->) b (a -> c) where-	(!) f = (%) f+	f <-|- Straight g = Straight $ f . g  (-.#..-) :: (Covariant (->) target (v a), Semigroupoid v) => v c d -> target (v a (v b c)) (v a (v b d))-(-.#..-) f = (<$>) (f .)+(-.#..-) f = (<-|-) (f .)  {-# INLINE (!.) #-} (!.) :: a -> b -> a
Pandora/Paradigm/Primary/Algebraic/Product.hs view
@@ -1,9 +1,8 @@ module Pandora.Paradigm.Primary.Algebraic.Product where  import Pandora.Core.Functor (type (:=))-import Pandora.Core.Appliable ((!)) import Pandora.Pattern.Category (($), (#))-import Pandora.Pattern.Functor.Covariant (Covariant ((<$>)))+import Pandora.Pattern.Functor.Covariant (Covariant ((<-|-))) import Pandora.Pattern.Functor.Semimonoidal (Semimonoidal (mult)) import Pandora.Pattern.Functor.Extendable (Extendable ((<<=))) import Pandora.Pattern.Functor.Bivariant (Bivariant ((<->)))@@ -19,16 +18,17 @@ import Pandora.Pattern.Morphism.Flip (Flip (Flip)) import Pandora.Pattern.Morphism.Straight (Straight (Straight)) import Pandora.Paradigm.Schemes.T_U (T_U (T_U), type (<:.:>))+import Pandora.Paradigm.Controlflow.Effect.Interpreted ((!))  infixr 0 :*:  data (:*:) s a = s :*: a  instance Covariant (->) (->) ((:*:) s) where-	f <$> ~(s :*: x) = s :*: f x+	f <-|- ~(s :*: x) = s :*: f x  instance Covariant (->) (->) (Flip (:*:) a) where-	f <$> (Flip (x :*: y)) = Flip $ f x :*: y+	f <-|- (Flip (x :*: y)) = Flip $ f x :*: y  instance Extendable (->) ((:*:) s) where 	f <<= ~(s :*: x) = s :*: f (s :*: x)@@ -62,7 +62,7 @@ instance (Group s, Group a) => Group (s :*: a) where 	invert ~(s :*: x) = invert # s :*: invert # x -instance {-# OVERLAPS #-} Semimonoidal (-->) (:*:) (:*:) t => Semimonoidal (-->) (:*:) (:*:) (t <:.:> t := (:*:)) where+instance (Semimonoidal (-->) (:*:) (:*:) t, Semimonoidal (-->) (:*:) (:*:) u) => Semimonoidal (-->) (:*:) (:*:) (t <:.:> u := (:*:)) where 	mult = Straight $ \(T_U (xls :*: xrs) :*: T_U (yls :*: yrs)) -> T_U $ (mult @(-->) !) (xls :*: yls) :*: (mult @(-->) !) (xrs :*: yrs)  -- TODO: Generalize (:*:) as Bivariant p
Pandora/Paradigm/Primary/Algebraic/Sum.hs view
@@ -2,7 +2,7 @@  import Pandora.Pattern.Semigroupoid ((.)) import Pandora.Pattern.Category (($))-import Pandora.Pattern.Functor.Covariant (Covariant ((<$>)))+import Pandora.Pattern.Functor.Covariant (Covariant ((<-|-))) import Pandora.Pattern.Functor.Bivariant (Bivariant ((<->))) import Pandora.Paradigm.Primary.Algebraic.Exponential () import Pandora.Pattern.Morphism.Flip (Flip (Flip))@@ -12,8 +12,8 @@ data (:+:) s a = Option s | Adoption a  instance Covariant (->) (->) ((:+:) s) where-	_ <$> Option s = Option s-	f <$> Adoption x = Adoption $ f x+	_ <-|- Option s = Option s+	f <-|- Adoption x = Adoption $ f x  instance Bivariant (->) (->) (->) (:+:) where 	f <-> g = \case@@ -21,8 +21,8 @@ 		Adoption x -> Adoption $ g x  instance Covariant (->) (->) (Flip (:+:) a) where-	_ <$> Flip (Adoption x) = Flip $ Adoption x-	f <$> Flip (Option y) = Flip . Option $ f y+	_ <-|- Flip (Adoption x) = Flip $ Adoption x+	f <-|- Flip (Option y) = Flip . Option $ f y  sum :: (e -> r) -> (a -> r) -> e :+: a -> r sum f _ (Option x) = f x
Pandora/Paradigm/Primary/Functor/Conclusion.hs view
@@ -4,7 +4,7 @@ import Pandora.Pattern.Semigroupoid ((.)) import Pandora.Pattern.Morphism.Straight (Straight (Straight)) import Pandora.Pattern.Category (identity, ($), (#))-import Pandora.Pattern.Functor.Covariant (Covariant ((<$>)))+import Pandora.Pattern.Functor.Covariant (Covariant ((<-|-))) import Pandora.Pattern.Functor.Semimonoidal (Semimonoidal (mult)) import Pandora.Pattern.Functor.Monoidal (Monoidal (unit)) import Pandora.Pattern.Functor.Traversable (Traversable ((<<-)))@@ -30,12 +30,12 @@ data Conclusion e a = Failure e | Success a  instance Covariant (->) (->) (Conclusion e) where-	f <$> Success x = Success $ f x-	_ <$> Failure y = Failure y+	f <-|- Success x = Success $ f x+	_ <-|- Failure y = Failure y  instance Covariant (->) (->) (Flip Conclusion e) where-	_ <$> Flip (Success x) = Flip $ Success x-	f <$> Flip (Failure y) = Flip . Failure $ f y+	_ <-|- Flip (Success x) = Flip $ Success x+	f <-|- Flip (Failure y) = Flip . Failure $ f y  instance Semimonoidal (-->) (:*:) (:*:) (Conclusion e) where 	mult = Straight $ \case@@ -43,19 +43,19 @@ 		Failure x :*: _ -> Failure x 		_ :*: Failure x -> Failure x -instance Monoidal (-->) (->) (:*:) (:*:) (Conclusion e) where-	unit _ = Straight $ Success . ($ One)+instance Monoidal (-->) (-->) (:*:) (:*:) (Conclusion e) where+	unit _ = Straight $ Success . ($ One) . run  instance Semigroup e => Semimonoidal (-->) (:*:) (:+:) (Conclusion e) where 	mult = Straight $ \case-		Failure _ :*: x -> Adoption <$> x-		Success x :*: _ -> Option <$> Success x+		Failure _ :*: x -> Adoption <-|- x+		Success x :*: _ -> Option <-|- Success x  instance Traversable (->) (->) (Conclusion e) where-	(<<-) :: (Covariant (->) (->) u, Monoidal (-->) (->) (:*:) (:*:) u, Semimonoidal (-->) (:*:) (:*:) u)+	(<<-) :: (Covariant (->) (->) u, Monoidal (-->) (-->) (:*:) (:*:) u, Semimonoidal (-->) (:*:) (:*:) u) 		 => (a -> u b) -> Conclusion e a -> u (Conclusion e b) 	_ <<- Failure y = point $ Failure y-	f <<- Success x = Success <$> f x+	f <<- Success x = Success <-|- f x  instance Bindable (->) (Conclusion e) where 	f =<< Success x = f x@@ -98,10 +98,10 @@  type instance Schematic Monad (Conclusion e) = (<.:>) (Conclusion e) -instance Monadic (Conclusion e) where+instance Monadic (->) (Conclusion e) where 	wrap = TM . UT . point -type Failable e = Adaptable (Conclusion e)+type Failable e t = Adaptable t (->) (Conclusion e)  failure :: Failable e t => e -> t a failure = adapt . Failure@@ -113,6 +113,6 @@ 	catch (Failure e) handle = handle e 	catch (Success x) _ = Success x -instance (Monoidal (-->) (->) (:*:) (:*:) u, Bindable (->) u) => Catchable e (Conclusion e <.:> u) where+instance (Monoidal (-->) (-->) (:*:) (:*:) u, Bindable (->) u) => Catchable e (Conclusion e <.:> u) where 	catch (UT x) handle = let conclude = conclusion # run . handle # point . Success 		in UT $ conclude =<< x
Pandora/Paradigm/Primary/Functor/Constant.hs view
@@ -2,8 +2,8 @@  import Pandora.Pattern.Semigroupoid ((.)) import Pandora.Pattern.Category (($))-import Pandora.Pattern.Functor.Covariant (Covariant ((<$>)))-import Pandora.Pattern.Functor.Contravariant (Contravariant ((>$<)))+import Pandora.Pattern.Functor.Covariant (Covariant ((<-|-)))+import Pandora.Pattern.Functor.Contravariant (Contravariant ((>-|-))) import Pandora.Pattern.Functor.Invariant (Invariant ((<$<))) import Pandora.Pattern.Functor.Bivariant (Bivariant ((<->))) import Pandora.Pattern.Object.Setoid (Setoid ((==)))@@ -21,13 +21,13 @@ newtype Constant a b = Constant a  instance Covariant (->) (->) (Constant a) where-	_ <$> Constant x = Constant x+	_ <-|- Constant x = Constant x  instance Covariant (->) (->) (Flip Constant b) where-	f <$> Flip (Constant x) = Flip . Constant $ f x+	f <-|- Flip (Constant x) = Flip . Constant $ f x  instance Contravariant (->) (->) (Constant a) where-	_ >$< Constant x = Constant x+	_ >-|- Constant x = Constant x  instance Invariant (Constant a) where 	_ <$< _ = \(Constant x) -> Constant x
Pandora/Paradigm/Primary/Functor/Convergence.hs view
@@ -1,10 +1,23 @@ module Pandora.Paradigm.Primary.Functor.Convergence where  import Pandora.Pattern.Category (($), (#))-import Pandora.Pattern.Functor.Contravariant (Contravariant ((>$<)))+import Pandora.Pattern.Morphism.Straight (Straight (Straight))+import Pandora.Pattern.Functor.Contravariant (Contravariant ((>-|-)))+import Pandora.Pattern.Functor.Semimonoidal (Semimonoidal (mult))+import Pandora.Pattern.Functor.Monoidal (Monoidal (unit))+import Pandora.Pattern.Object.Semigroup (Semigroup ((+)))+import Pandora.Pattern.Object.Monoid (Monoid (zero))+import Pandora.Paradigm.Primary.Algebraic.Exponential (type (-->), type (<--))+import Pandora.Paradigm.Primary.Algebraic.Product ((:*:)((:*:))) import Pandora.Paradigm.Primary.Algebraic ()  data Convergence r a = Convergence (a -> a -> r)  instance Contravariant (->) (->) (Convergence r) where-	f >$< Convergence g = Convergence $ \x y -> g # f x # f y+	f >-|- Convergence g = Convergence $ \x y -> g # f x # f y++instance Semigroup r => Semimonoidal (-->) (:*:) (:*:) (Convergence r) where+	mult = Straight $ \(Convergence f :*: Convergence g) -> Convergence $ \(a :*: b) (a' :*: b') -> f a a' + g b b'++instance Monoid r => Monoidal (-->) (<--) (:*:) (:*:) (Convergence r) where+	unit _ = Straight $ \_ -> Convergence $ \_ _ -> zero
Pandora/Paradigm/Primary/Functor/Edges.hs view
@@ -1,7 +1,7 @@ module Pandora.Paradigm.Primary.Functor.Edges where  import Pandora.Pattern.Category (($))-import Pandora.Pattern.Functor.Covariant (Covariant ((<$>)))+import Pandora.Pattern.Functor.Covariant (Covariant ((<-|-))) import Pandora.Pattern.Functor.Traversable (Traversable ((<<-))) import Pandora.Paradigm.Primary.Algebraic.Exponential () import Pandora.Paradigm.Primary.Algebraic (point)@@ -9,16 +9,16 @@ data Edges a = Empty | Leap a | Connect a | Overlay a  instance Covariant (->) (->) Edges where-	_ <$> Empty = Empty-	f <$> Connect x = Connect $ f x-	f <$> Overlay x = Overlay $ f x-	f <$> Leap x = Leap $ f x+	_ <-|- Empty = Empty+	f <-|- Connect x = Connect $ f x+	f <-|- Overlay x = Overlay $ f x+	f <-|- Leap x = Leap $ f x  instance Traversable (->) (->) Edges where 	_ <<- Empty = point Empty-	f <<- Connect x = Connect <$> f x-	f <<- Overlay x = Overlay <$> f x-	f <<- Leap x = Leap <$> f x+	f <<- Connect x = Connect <-|- f x+	f <<- Overlay x = Overlay <-|- f x+	f <<- Leap x = Leap <-|- f x  edges :: r -> (a -> r) -> (a -> r) -> (a -> r) -> Edges a -> r edges r _ _ _ Empty = r
Pandora/Paradigm/Primary/Functor/Fix.hs view
@@ -2,16 +2,16 @@  import Pandora.Core.Functor (type (<:=), type (:=>)) import Pandora.Pattern.Semigroupoid ((.))-import Pandora.Pattern.Functor.Covariant (Covariant ((<$>)))+import Pandora.Pattern.Functor.Covariant (Covariant ((<-|-))) import Pandora.Paradigm.Primary.Algebraic.Exponential ()  newtype Fix t = Fix { unfix :: t (Fix t) }  cata :: Covariant (->) (->) t => (a <:= t) -> Fix t -> a-cata f = f . (cata f <$>) . unfix+cata f = f . (cata f <-|-) . unfix  ana :: Covariant (->) (->) t => (a :=> t) -> a -> Fix t-ana f = Fix . (ana f <$>) . f+ana f = Fix . (ana f <-|-) . f  hylo :: Covariant (->) (->) t => (b <:= t) -> (a :=> t) -> (a -> b) hylo phi psi = cata phi . ana psi
Pandora/Paradigm/Primary/Functor/Identity.hs view
@@ -4,7 +4,7 @@ import Pandora.Pattern.Category (($)) import Pandora.Pattern.Morphism.Flip (Flip (Flip)) import Pandora.Pattern.Morphism.Straight (Straight (Straight))-import Pandora.Pattern.Functor.Covariant (Covariant ((<$>)))+import Pandora.Pattern.Functor.Covariant (Covariant ((<-|-))) import Pandora.Pattern.Functor.Traversable (Traversable ((<<-))) import Pandora.Pattern.Functor.Semimonoidal (Semimonoidal (mult)) import Pandora.Pattern.Functor.Monoidal (Monoidal (unit))@@ -28,26 +28,27 @@ import Pandora.Paradigm.Primary.Algebraic.Product ((:*:) ((:*:))) import Pandora.Paradigm.Primary.Algebraic.One (One (One)) import Pandora.Paradigm.Primary.Algebraic (extract)+import Pandora.Paradigm.Controlflow.Effect.Interpreted (run)  newtype Identity a = Identity a  instance Covariant (->) (->) Identity where-	f <$> Identity x = Identity $ f x+	f <-|- Identity x = Identity $ f x  instance Semimonoidal (-->) (:*:) (:*:) Identity where 	mult = Straight $ Identity . (extract <-> extract) -instance Monoidal (-->) (->) (:*:) (:*:) Identity where-	unit _ = Straight $ Identity . ($ One)+instance Monoidal (-->) (-->) (:*:) (:*:) Identity where+	unit _ = Straight $ Identity . ($ One) . run  instance Semimonoidal (<--) (:*:) (:*:) Identity where 	mult = Flip $ \(Identity (x :*: y)) -> Identity x :*: Identity y -instance Monoidal (<--) (->) (:*:) (:*:) Identity where-	unit _ = Flip $ \(Identity x) -> (\_ -> x)+instance Monoidal (<--) (-->) (:*:) (:*:) Identity where+	unit _ = Flip $ \(Identity x) -> Straight (\_ -> x)  instance Traversable (->) (->) Identity where-	f <<- Identity x = Identity <$> f x+	f <<- Identity x = Identity <-|- f x  instance Bindable (->) Identity where 	f =<< Identity x = f x@@ -66,7 +67,7 @@  instance Adjoint (->) (->) Identity Identity where 	f -| x = Identity . f . Identity $ x-	g |- x = extract . extract . (g <$>) $ x+	g |- x = extract . extract . (g <-|-) $ x  instance Setoid a => Setoid (Identity a) where 	Identity x == Identity y = x == y
Pandora/Paradigm/Primary/Functor/Maybe.hs view
@@ -5,7 +5,7 @@ import Pandora.Pattern.Category (identity, ($)) import Pandora.Pattern.Morphism.Flip (Flip (Flip)) import Pandora.Pattern.Morphism.Straight (Straight (Straight))-import Pandora.Pattern.Functor.Covariant (Covariant ((<$>)))+import Pandora.Pattern.Functor.Covariant (Covariant ((<-|-))) import Pandora.Pattern.Functor.Semimonoidal (Semimonoidal (mult)) import Pandora.Pattern.Functor.Monoidal (Monoidal (unit)) import Pandora.Pattern.Functor.Traversable (Traversable ((<<-)))@@ -33,8 +33,8 @@ data Maybe a = Nothing | Just a  instance Covariant (->) (->) Maybe where-	f <$> Just x = Just $ f x-	_ <$> Nothing = Nothing+	f <-|- Just x = Just $ f x+	_ <-|- Nothing = Nothing  instance Semimonoidal (-->) (:*:) (:*:) Maybe where 	mult = Straight $ \case@@ -48,10 +48,10 @@ 		Nothing :*: Just y -> Just $ Adoption y 		Nothing :*: Nothing -> Nothing -instance Monoidal (-->) (->) (:*:) (:*:) Maybe where-	unit _ = Straight $ Just . ($ One)+instance Monoidal (-->) (-->) (:*:) (:*:) Maybe where+	unit _ = Straight $ Just . ($ One) . run -instance Monoidal (-->) (->) (:*:) (:+:) Maybe where+instance Monoidal (-->) (-->) (:*:) (:+:) Maybe where 	unit _ = Straight $ \_ -> Nothing  -- TODO: Check laws@@ -62,7 +62,7 @@  instance Traversable (->) (->) Maybe where 	_ <<- Nothing = point Nothing-	f <<- Just x = Just <$> f x+	f <<- Just x = Just <-|- f x  instance Bindable (->) Maybe where 	f =<< Just x = f x@@ -108,7 +108,7 @@ 	run = identity 	unite = identity -instance Monadic Maybe where+instance Monadic (->) Maybe where 	wrap = TM . UT . point  instance Monotonic a (Maybe a) where@@ -119,7 +119,7 @@ 	reduce f r (Just x) = reduce f r x 	reduce _ r Nothing = r -type Optional = Adaptable Maybe+type Optional t = Adaptable t (->) Maybe  nothing :: Optional t => t a nothing = adapt Nothing
Pandora/Paradigm/Primary/Functor/Predicate.hs view
@@ -3,9 +3,16 @@ import Pandora.Core.Functor (type (~>), type (:=>)) import Pandora.Pattern.Semigroupoid ((.)) import Pandora.Pattern.Category (($))-import Pandora.Pattern.Functor.Contravariant (Contravariant ((>$<)))+import Pandora.Pattern.Morphism.Straight (Straight (Straight))+import Pandora.Pattern.Functor.Contravariant (Contravariant ((>-|-)))+import Pandora.Pattern.Functor.Semimonoidal (Semimonoidal (mult))+import Pandora.Pattern.Functor.Monoidal (Monoidal (unit)) import Pandora.Pattern.Object.Setoid (Setoid ((==)))+import Pandora.Pattern.Object.Ringoid (Ringoid ((*))) import Pandora.Paradigm.Primary.Object.Boolean (Boolean (True, False), bool)+import Pandora.Paradigm.Primary.Algebraic.Product ((:*:)((:*:)))+import Pandora.Paradigm.Primary.Algebraic.Sum ((:+:)(Option, Adoption))+import Pandora.Paradigm.Primary.Algebraic.Exponential (type (-->), type (<--)) import Pandora.Paradigm.Controlflow.Effect.Interpreted (Interpreted (Primary, run, unite))  newtype Predicate a = Predicate (a -> Boolean)@@ -16,7 +23,18 @@ 	unite = Predicate  instance Contravariant (->) (->) Predicate where-	f >$< Predicate g = Predicate $ g . f+	f >-|- Predicate g = Predicate $ g . f++instance Semimonoidal (-->) (:*:) (:*:) Predicate where+	mult = Straight $ \(Predicate f :*: Predicate g) -> Predicate $ \(x :*: y) -> f x * g y++instance Monoidal (-->) (<--) (:*:) (:*:) Predicate where+	unit _ = Straight $ \_ -> Predicate $ \_ -> True++instance Semimonoidal (-->) (:*:) (:+:) Predicate where+	mult = Straight $ \(Predicate f :*: Predicate g) -> Predicate $ \case+		Option x -> f x+		Adoption y -> g y  equate :: Setoid a => a :=> Predicate equate x = Predicate (== x)
Pandora/Paradigm/Primary/Functor/Proxy.hs view
@@ -1,7 +1,7 @@ module Pandora.Paradigm.Primary.Functor.Proxy where -import Pandora.Pattern.Functor.Covariant (Covariant ((<$>)))-import Pandora.Pattern.Functor.Contravariant (Contravariant ((>$<)))+import Pandora.Pattern.Functor.Covariant (Covariant ((<-|-)))+import Pandora.Pattern.Functor.Contravariant (Contravariant ((>-|-))) import Pandora.Pattern.Functor.Distributive (Distributive ((-<<))) import Pandora.Pattern.Functor.Bindable (Bindable ((=<<))) import Pandora.Pattern.Functor.Extendable (Extendable ((<<=)))@@ -11,10 +11,10 @@ data Proxy a = Proxy  instance Covariant (->) (->) Proxy where-	_ <$> Proxy = Proxy+	_ <-|- Proxy = Proxy  instance Contravariant (->) (->) Proxy where-	_ >$< _ = Proxy+	_ >-|- _ = Proxy  instance Distributive (->) (->) Proxy where 	_ -<< _ = Proxy
Pandora/Paradigm/Primary/Functor/Tagged.hs view
@@ -5,7 +5,7 @@ import Pandora.Pattern.Morphism.Flip (Flip (Flip)) import Pandora.Pattern.Morphism.Straight (Straight (Straight)) import Pandora.Pattern.Category (($))-import Pandora.Pattern.Functor.Covariant (Covariant ((<$>)))+import Pandora.Pattern.Functor.Covariant (Covariant ((<-|-))) import Pandora.Pattern.Functor.Semimonoidal (Semimonoidal (mult)) import Pandora.Pattern.Functor.Monoidal (Monoidal (unit)) import Pandora.Pattern.Functor.Traversable (Traversable ((<<-)))@@ -28,6 +28,7 @@ import Pandora.Paradigm.Primary.Algebraic.Product ((:*:) ((:*:))) import Pandora.Paradigm.Primary.Algebraic.One (One (One)) import Pandora.Paradigm.Primary.Algebraic (extract)+import Pandora.Paradigm.Controlflow.Effect.Interpreted (run)  newtype Tagged tag a = Tag a @@ -35,28 +36,28 @@ type (:#) tag = Tagged tag  instance Covariant (->) (->) (Tagged tag) where-	f <$> Tag x = Tag $ f x+	f <-|- Tag x = Tag $ f x  instance Covariant (->) (->) (Flip Tagged a) where-	_ <$> Flip (Tag x) = Flip $ Tag x+	_ <-|- Flip (Tag x) = Flip $ Tag x  instance Semimonoidal (-->) (:*:) (:*:) (Tagged tag) where 	mult = Straight $ Tag . (extract <-> extract) -instance Monoidal (-->) (->) (:*:) (:*:) (Tagged tag) where-	unit _ = Straight $ Tag . ($ One)+instance Monoidal (-->) (-->) (:*:) (:*:) (Tagged tag) where+	unit _ = Straight $ Tag . ($ One) . run  instance Semimonoidal (<--) (:*:) (:*:) (Tagged tag) where 	mult = Flip $ \(Tag (x :*: y)) -> Tag x :*: Tag y -instance Monoidal (<--) (->) (:*:) (:*:) (Tagged tag) where-	unit _ = Flip $ \(Tag x) -> (\_ -> x)+instance Monoidal (<--) (-->) (:*:) (:*:) (Tagged tag) where+	unit _ = Flip $ \(Tag x) -> Straight (\_ -> x)  instance Traversable (->) (->) (Tagged tag) where-	f <<- Tag x = Tag <$> f x+	f <<- Tag x = Tag <-|- f x  instance Distributive (->) (->) (Tagged tag) where-	f -<< x = Tag $ extract . f <$> x+	f -<< x = Tag $ extract . f <-|- x  instance Bindable (->) (Tagged tag) where 	f =<< Tag x = f x
Pandora/Paradigm/Primary/Functor/These.hs view
@@ -1,7 +1,7 @@ module Pandora.Paradigm.Primary.Functor.These where  import Pandora.Pattern.Category (($), (#))-import Pandora.Pattern.Functor.Covariant (Covariant ((<$>)))+import Pandora.Pattern.Functor.Covariant (Covariant ((<-|-))) import Pandora.Pattern.Functor.Traversable (Traversable ((<<-))) import Pandora.Pattern.Object.Semigroup (Semigroup ((+))) import Pandora.Paradigm.Primary.Algebraic.Exponential ()@@ -10,14 +10,14 @@ data These e a = This a | That e | These e a  instance Covariant (->) (->) (These e) where-	f <$> This x = This $ f x-	_ <$> That y = That y-	f <$> These y x = These y $ f x+	f <-|- This x = This $ f x+	_ <-|- That y = That y+	f <-|- These y x = These y $ f x  instance Traversable (->) (->) (These e) where-	f <<- This x = This <$> f x+	f <<- This x = This <-|- f x 	_ <<- That y = point $ That y-	f <<- These y x = These y <$> f x+	f <<- These y x = These y <-|- f x  instance (Semigroup e, Semigroup a) => Semigroup (These e a) where 	This x + This x' = This # x + x'
Pandora/Paradigm/Primary/Functor/Validation.hs view
@@ -2,7 +2,7 @@  import Pandora.Pattern.Semigroupoid ((.)) import Pandora.Pattern.Category (($), (#))-import Pandora.Pattern.Functor.Covariant (Covariant ((<$>)))+import Pandora.Pattern.Functor.Covariant (Covariant ((<-|-))) import Pandora.Pattern.Functor.Semimonoidal (Semimonoidal (mult)) import Pandora.Pattern.Functor.Monoidal (Monoidal (unit)) import Pandora.Pattern.Functor.Traversable (Traversable ((<<-)))@@ -19,24 +19,25 @@ import Pandora.Pattern.Morphism.Straight (Straight (Straight)) import Pandora.Paradigm.Primary.Object.Boolean (Boolean (False)) import Pandora.Paradigm.Primary.Object.Ordering (Ordering (Less, Greater))+import Pandora.Paradigm.Controlflow.Effect.Interpreted (run)  data Validation e a = Flaws e | Validated a  instance Covariant (->) (->) (Validation e) where-	_ <$> Flaws e = Flaws e-	f <$> Validated x = Validated $ f x-	_ <$> Flaws e = Flaws e-	f <$> Validated x = Validated $ f x-	_ <$> Flaws e = Flaws e-	f <$> Validated x = Validated $ f x+	_ <-|- Flaws e = Flaws e+	f <-|- Validated x = Validated $ f x+	_ <-|- Flaws e = Flaws e+	f <-|- Validated x = Validated $ f x+	_ <-|- Flaws e = Flaws e+	f <-|- Validated x = Validated $ f x  instance Covariant (->) (->) (Flip Validation a) where-	f <$> Flip (Flaws e) = Flip . Flaws $ f e-	_ <$> Flip (Validated x) = Flip $ Validated x-	f <$> Flip (Flaws e) = Flip . Flaws $ f e-	_ <$> Flip (Validated x) = Flip $ Validated x-	f <$> Flip (Flaws e) = Flip . Flaws $ f e-	_ <$> Flip (Validated x) = Flip $ Validated x+	f <-|- Flip (Flaws e) = Flip . Flaws $ f e+	_ <-|- Flip (Validated x) = Flip $ Validated x+	f <-|- Flip (Flaws e) = Flip . Flaws $ f e+	_ <-|- Flip (Validated x) = Flip $ Validated x+	f <-|- Flip (Flaws e) = Flip . Flaws $ f e+	_ <-|- Flip (Validated x) = Flip $ Validated x  instance Semigroup e => Semimonoidal (-->) (:*:) (:*:) (Validation e) where 	mult = Straight $ \case@@ -45,16 +46,16 @@ 		Validated _ :*: Flaws y -> Flaws y 		Flaws x :*: Validated _ -> Flaws x -instance Semigroup e => Monoidal (-->) (->) (:*:) (:*:) (Validation e) where-	unit _ = Straight $ Validated . ($ One)+instance Semigroup e => Monoidal (-->) (-->) (:*:) (:*:) (Validation e) where+	unit _ = Straight $ Validated . ($ One) . run  instance Semigroup e => Semimonoidal (-->) (:*:) (:+:) (Validation e) where 	mult = Straight $ \case-		Flaws _ :*: y -> Adoption <$> y-		Validated x :*: _ -> Option <$> Validated x+		Flaws _ :*: y -> Adoption <-|- y+		Validated x :*: _ -> Option <-|- Validated x  instance Traversable (->) (->) (Validation e) where-	f <<- Validated x = Validated <$> f x+	f <<- Validated x = Validated <-|- f x 	_ <<- Flaws e = point $ Flaws e  instance Bivariant (->) (->) (->) Validation where
Pandora/Paradigm/Primary/Functor/Wedge.hs view
@@ -1,7 +1,7 @@ module Pandora.Paradigm.Primary.Functor.Wedge where  import Pandora.Pattern.Category (($))-import Pandora.Pattern.Functor.Covariant (Covariant ((<$>)))+import Pandora.Pattern.Functor.Covariant (Covariant ((<-|-))) import Pandora.Pattern.Functor.Traversable (Traversable ((<<-))) import Pandora.Paradigm.Primary.Algebraic.Exponential () import Pandora.Paradigm.Primary.Algebraic (point)@@ -9,14 +9,14 @@ data Wedge e a = Nowhere | Here e | There a  instance Covariant (->) (->) (Wedge e) where-	_ <$> Nowhere = Nowhere-	_ <$> Here x = Here x-	f <$> There x = There $ f x+	_ <-|- Nowhere = Nowhere+	_ <-|- Here x = Here x+	f <-|- There x = There $ f x  instance Traversable (->) (->) (Wedge e) where 	_ <<- Nowhere = point Nowhere 	_ <<- Here x = point $ Here x-	f <<- There x = There <$> f x+	f <<- There x = There <-|- f x  wedge :: (e -> r) -> (a -> r) -> r -> Wedge e a -> r wedge f _ _ (Here x) = f x
Pandora/Paradigm/Primary/Functor/Wye.hs view
@@ -2,7 +2,7 @@  import Pandora.Core.Functor (type (~>)) import Pandora.Pattern.Category ((#), ($))-import Pandora.Pattern.Functor.Covariant (Covariant ((<$>)))+import Pandora.Pattern.Functor.Covariant (Covariant ((<-|-))) import Pandora.Pattern.Functor.Semimonoidal (Semimonoidal (mult)) import Pandora.Pattern.Object.Semigroup (Semigroup ((+))) import Pandora.Pattern.Object.Monoid (Monoid (zero))@@ -14,10 +14,10 @@ data Wye a = End | Left a | Right a | Both a a  instance Covariant (->) (->) Wye where-	_ <$> End = End-	f <$> Left x = Left # f x-	f <$> Right y = Right # f y-	f <$> Both x y = Both # f x # f y+	_ <-|- End = End+	f <-|- Left x = Left # f x+	f <-|- Right y = Right # f y+	f <-|- Both x y = Both # f x # f y  instance Semimonoidal (<--) (:*:) (:*:) Wye where 	mult = Flip $ \case
Pandora/Paradigm/Primary/Transformer/Backwards.hs view
@@ -2,8 +2,8 @@  import Pandora.Pattern.Semigroupoid ((.)) import Pandora.Pattern.Category (($), (#))-import Pandora.Pattern.Functor.Covariant (Covariant ((<$>)))-import Pandora.Pattern.Functor.Contravariant (Contravariant ((>$<)))+import Pandora.Pattern.Functor.Covariant (Covariant ((<-|-)))+import Pandora.Pattern.Functor.Contravariant (Contravariant ((>-|-))) import Pandora.Pattern.Functor.Semimonoidal (Semimonoidal (mult)) import Pandora.Pattern.Functor.Monoidal (Monoidal (unit)) import Pandora.Pattern.Functor.Traversable (Traversable ((<<-)))@@ -24,29 +24,29 @@ newtype Backwards t a = Backwards (t a)  instance Covariant (->) (->) t => Covariant (->) (->) (Backwards t) where-	f <$> Backwards x = Backwards $ f <$> x+	f <-|- Backwards x = Backwards $ f <-|- x  -- TODO: check that effects evaluation goes in opposite order instance (Semimonoidal (-->) (:*:) (:*:) t, Covariant (->) (->) t) => Semimonoidal (-->) (:*:) (:*:) (Backwards t) where-	mult = Straight $ \(Backwards x :*: Backwards y) -> Backwards # ((:*:) %) <$> y <-*- x+	mult = Straight $ \(Backwards x :*: Backwards y) -> Backwards # ((:*:) %) <-|- y <-*- x -instance (Covariant (->) (->) t, Monoidal (-->) (->) (:*:) (:*:) t) => Monoidal (-->) (->) (:*:) (:*:) (Backwards t) where-	unit _ = Straight $ Backwards . point . ($ One)+instance (Covariant (->) (->) t, Monoidal (-->) (-->) (:*:) (:*:) t) => Monoidal (-->) (-->) (:*:) (:*:) (Backwards t) where+	unit _ = Straight $ Backwards . point . ($ One) . run  instance (Semimonoidal (<--) (:*:) (:*:) t, Covariant (->) (->) t) => Semimonoidal (<--) (:*:) (:*:) (Backwards t) where 	mult = Flip $ (Backwards <-> Backwards) . run (mult @(<--)) . run -instance (Covariant (->) (->) t, Monoidal (<--) (->) (:*:) (:*:) t) => Monoidal (<--) (->) (:*:) (:*:) (Backwards t) where-	unit _ = Flip $ \(Backwards x) -> (\_ -> extract x)+instance (Covariant (->) (->) t, Monoidal (<--) (-->) (:*:) (:*:) t) => Monoidal (<--) (-->) (:*:) (:*:) (Backwards t) where+	unit _ = Flip $ \(Backwards x) -> Straight (\_ -> extract x)  instance Traversable (->) (->) t => Traversable (->) (->) (Backwards t) where-	f <<- Backwards x = Backwards <$> f <<- x+	f <<- Backwards x = Backwards <-|- f <<- x  instance Distributive (->) (->) t => Distributive (->) (->) (Backwards t) where 	f -<< x = Backwards $ run . f -<< x  instance Contravariant (->) (->) t => Contravariant (->) (->) (Backwards t) where-	f >$< Backwards x = Backwards $ f >$< x+	f >-|- Backwards x = Backwards $ f >-|- x  instance Interpreted (->) (Backwards t) where 	type Primary (Backwards t) a = t a@@ -59,5 +59,5 @@ instance Lowerable (->) Backwards where 	lower = run -instance Hoistable Backwards where+instance Hoistable (->) Backwards where 	f /|\ Backwards x = Backwards $ f x
Pandora/Paradigm/Primary/Transformer/Construction.hs view
@@ -3,10 +3,9 @@ module Pandora.Paradigm.Primary.Transformer.Construction where  import Pandora.Core.Functor (type (:.), type (:=), type (:=>), type (~>))-import Pandora.Core.Appliable ((!)) import Pandora.Pattern.Semigroupoid ((.)) import Pandora.Pattern.Category (($), (#))-import Pandora.Pattern.Functor.Covariant (Covariant ((<$>)), (<$$>))+import Pandora.Pattern.Functor.Covariant (Covariant ((<-|-)), (<-|-|-), (<-|-)) import Pandora.Pattern.Functor.Semimonoidal (Semimonoidal (mult)) import Pandora.Pattern.Functor.Monoidal (Monoidal (unit)) import Pandora.Pattern.Functor.Traversable (Traversable ((<<-)), (-<<-<<-))@@ -27,7 +26,7 @@ import Pandora.Paradigm.Primary.Algebraic (empty) import Pandora.Pattern.Morphism.Flip (Flip (Flip)) import Pandora.Pattern.Morphism.Straight (Straight (Straight))-import Pandora.Paradigm.Controlflow.Effect.Interpreted (run)+import Pandora.Paradigm.Controlflow.Effect.Interpreted (run, (!)) import Pandora.Paradigm.Structure.Ability.Monotonic (Monotonic (reduce)) import Pandora.Paradigm.Schemes (type (<:.>)) @@ -36,34 +35,37 @@ data Construction t a = Construct a (t :. Construction t := a)  instance Covariant (->) (->) t => Covariant (->) (->) (Construction t) where-	f <$> ~(Construct x xs) = Construct # f x # (<$$>) @(->) @(->) f xs+	f <-|- ~(Construct x xs) = Construct # f x # f <-|-|- xs  instance (Covariant (->) (->) t, Semimonoidal (-->) (:*:) (:*:) t) => Semimonoidal (-->) (:*:) (:*:) (Construction t) where-	mult = Straight $ \(Construct x xs :*: Construct y ys) -> Construct (x :*: y) $ (mult @(-->) !) <$> (mult @(-->) ! xs :*: ys)+	mult = Straight $ \(Construct x xs :*: Construct y ys) -> Construct # (x :*: y) # (mult @(-->) !) <-|- (mult @(-->) ! (xs :*: ys))  instance (Covariant (->) (->) t, Semimonoidal (<--) (:*:) (:*:) t) => Semimonoidal (<--) (:*:) (:*:) (Construction t) where 	mult = Flip $ \(Construct (x :*: y) xys) -> (Construct x <-> Construct y)-		$ (mult @(<--) !) $ (mult @(<--) !) <$> xys+		$ (mult @(<--) !) $ (mult @(<--) !) <-|- xys -instance (Covariant (->) (->) t, Semimonoidal (<--) (:*:) (:*:) t) => Monoidal (<--) (->) (:*:) (:*:) (Construction t) where-	unit _ = Flip $ \(Construct x _) -> (\_ -> x)+instance (Covariant (->) (->) t, Semimonoidal (<--) (:*:) (:*:) t) => Monoidal (<--) (-->) (:*:) (:*:) (Construction t) where+	unit _ = Flip $ \(Construct x _) -> Straight (\_ -> x) -instance (Covariant (->) (->) t, Semimonoidal (-->) (:*:) (:*:) t, Monoidal (-->) (->) (:*:) (:+:) t) => Monoidal (-->) (->) (:*:) (:*:) (Construction t) where-	unit _ = Straight $ \f -> Construct # f One # empty+--instance (Covariant (->) (->) t, Semimonoidal (-->) (:*:) (:+:) t) => Semimonoidal (-->) (:*:) (:+:) (Construction t) where+	--mult = Straight $ \(Construct x xs :*: Construct y ys) -> +instance (Covariant (->) (->) t, Semimonoidal (-->) (:*:) (:*:) t, Monoidal (-->) (-->) (:*:) (:+:) t) => Monoidal (-->) (-->) (:*:) (:*:) (Construction t) where+	unit _ = Straight $ \f -> Construct # run f One # empty+ instance Traversable (->) (->) t => Traversable (->) (->) (Construction t) where-	f <<- ~(Construct x xs) = Construct <$> f x <-*- f -<<-<<- xs+	f <<- ~(Construct x xs) = Construct <-|- f x <-*- f -<<-<<- xs  instance Covariant (->) (->) t => Extendable (->) (Construction t) where-	f <<= x = Construct # f x # (f <<=) <$> deconstruct x+	f <<= x = Construct # f x # (f <<=) <-|- deconstruct x  instance (Covariant (->) (->) t, Semimonoidal (<--) (:*:) (:*:) t) => Comonad (->) (Construction t) where  instance (forall u . Semimonoidal (<--) (:*:) (:*:) u) => Lowerable (->) Construction where-	lower x = extract <$> deconstruct x+	lower x = extract <-|- deconstruct x -instance (forall u . Semimonoidal (<--) (:*:) (:*:) u) => Hoistable Construction where-	f /|\ x = Construct # extract x $ f # (f /|\) <$> deconstruct x+instance (forall u . Semimonoidal (<--) (:*:) (:*:) u, forall u . Covariant (->) (->) u) => Hoistable (->) Construction where+	f /|\ x = Construct # extract x $ (/|\) @(->) f <-|- f (deconstruct x)  instance (Setoid a, forall b . Setoid b => Setoid (t b), Covariant (->) (->) t, Semimonoidal (<--) (:*:) (:*:) t) => Setoid (Construction t a) where 	x == y = (extract x == extract y) * (deconstruct x == deconstruct y)@@ -85,7 +87,7 @@  -- Generate a construction from seed using effectful computation (.-+) :: Covariant (->) (->) t => a :=> t -> a :=> Construction t-f .-+ x = Construct x $ (f .-+) <$> f x+f .-+ x = Construct x $ (f .-+) <-|- f x -section :: (Comonad (->) t, Monoidal (<--) (->) (:*:) (:*:) t) => t ~> Construction t+section :: (Comonad (->) t, Monoidal (<--) (-->) (:*:) (:*:) t) => t ~> Construction t section xs = Construct # extract xs $ section <<= xs
Pandora/Paradigm/Primary/Transformer/Continuation.hs view
@@ -5,7 +5,7 @@ import Pandora.Core.Functor (type (:.), type (:=), type (::|:.)) import Pandora.Pattern.Semigroupoid ((.)) import Pandora.Pattern.Category (($), (#))-import Pandora.Pattern.Functor.Covariant (Covariant ((<$>)))+import Pandora.Pattern.Functor.Covariant (Covariant ((<-|-))) import Pandora.Pattern.Functor.Monoidal (Monoidal) import Pandora.Pattern.Functor.Bindable (Bindable ((=<<))) import Pandora.Pattern.Functor.Monad (Monad)@@ -23,7 +23,7 @@ 	unite = Continuation  instance Covariant (->) (->) t => Covariant (->) (->) (Continuation r t) where-	f <$> Continuation continuation = Continuation $ continuation . (. f)+	f <-|- Continuation continuation = Continuation $ continuation . (. f)  instance Covariant (->) (->) t => Bindable (->) (Continuation r t) where 	f =<< x = Continuation $ \g -> run x $ \y -> run # f y # g@@ -42,8 +42,8 @@ reset = lift . (run % point)  -- | Capture the continuation up to the nearest enclosing 'reset' and pass it-shift :: Monoidal (-->) (->) (:*:) (:*:) t => ((a -> t r) -> Continuation r t r) -> Continuation r t a+shift :: Monoidal (-->) (-->) (:*:) (:*:) t => ((a -> t r) -> Continuation r t r) -> Continuation r t a shift f = Continuation $ (run % point) . f -interruptable :: Monoidal (-->) (->) (:*:) (:*:) t => ((a -> Continuation a t a) -> Continuation a t a) -> t a+interruptable :: Monoidal (-->) (-->) (:*:) (:*:) t => ((a -> Continuation a t a) -> Continuation a t a) -> t a interruptable = (run % point) . cwcc
Pandora/Paradigm/Primary/Transformer/Day.hs view
@@ -3,7 +3,7 @@ module Pandora.Paradigm.Primary.Transformer.Day where  import Pandora.Pattern.Category ((#))-import Pandora.Pattern.Functor.Covariant (Covariant ((<$>)))+import Pandora.Pattern.Functor.Covariant (Covariant ((<-|-))) import Pandora.Pattern.Functor.Extendable (Extendable ((<<=))) import Pandora.Pattern.Transformer.Hoistable (Hoistable ((/|\))) import Pandora.Paradigm.Primary.Algebraic.Exponential ((!..), (-.#..-))@@ -11,12 +11,12 @@ data Day t u a = forall b c . Day (t b) (u c) (b -> c -> a)  instance Covariant (->) (->) (Day t u) where-	f <$> Day tb uc g = Day tb uc # f -.#..- g+	f <-|- Day tb uc g = Day tb uc # f -.#..- g  instance (Extendable (->) t, Extendable (->) u) => Extendable (->) (Day t u) where 	f <<= day@(Day tb uc _) = Day tb uc (f day !..) -instance Hoistable (Day t) where+instance Hoistable (->) (Day t) where 	g /|\ Day tb uc bca = Day tb # g uc # bca  data Day_ category source target t u r = forall a b .
Pandora/Paradigm/Primary/Transformer/Instruction.hs view
@@ -3,11 +3,10 @@ module Pandora.Paradigm.Primary.Transformer.Instruction where  import Pandora.Core.Functor (type (:.), type (:=))-import Pandora.Core.Appliable ((!)) import Pandora.Pattern.Semigroupoid ((.)) import Pandora.Pattern.Category (($)) import Pandora.Pattern.Morphism.Straight (Straight (Straight))-import Pandora.Pattern.Functor.Covariant (Covariant ((<$>)), (<$$>))+import Pandora.Pattern.Functor.Covariant (Covariant ((<-|-)), (<-|-|-)) import Pandora.Pattern.Functor.Semimonoidal (Semimonoidal (mult)) import Pandora.Pattern.Functor.Monoidal (Monoidal (unit)) import Pandora.Pattern.Functor.Traversable (Traversable ((<<-)), (-<<-<<-))@@ -20,40 +19,41 @@ import Pandora.Paradigm.Primary.Algebraic.Product ((:*:)((:*:))) import Pandora.Paradigm.Primary.Algebraic.One (One (One)) import Pandora.Paradigm.Primary.Algebraic (point)+import Pandora.Paradigm.Controlflow.Effect.Interpreted (run, (!))  data Instruction t a = Enter a | Instruct (t :. Instruction t := a)  instance Covariant (->) (->) t => Covariant (->) (->) (Instruction t) where-	f <$> Enter x = Enter $ f x-	f <$> Instruct xs = Instruct $ (<$$>) @(->) @(->) f xs+	f <-|- Enter x = Enter $ f x+	f <-|- Instruct xs = Instruct $ f <-|-|- xs  instance (Covariant (->) (->) t, Semimonoidal (-->) (:*:) (:*:) t) => Semimonoidal (-->) (:*:) (:*:) (Instruction t) where 	mult = Straight $ \case 		Enter x :*: Enter y -> Enter $ x :*: y-		Enter x :*: Instruct y -> (x :*:) <$> Instruct y-		Instruct x :*: Enter y -> (:*: y) <$> Instruct x-		Instruct x :*: Instruct y -> Instruct $ (mult @(-->) !) <$> (mult @(-->) ! x :*: y)+		Enter x :*: Instruct y -> (x :*:) <-|- Instruct y+		Instruct x :*: Enter y -> (:*: y) <-|- Instruct x+		Instruct x :*: Instruct y -> Instruct $ (mult @(-->) !) <-|- (mult @(-->) ! (x :*: y)) -instance (Covariant (->) (->) t, Semimonoidal (-->) (:*:) (:*:) t) => Monoidal (-->) (->) (:*:) (:*:) (Instruction t) where-	unit _ = Straight $ Enter . ($ One)+instance (Covariant (->) (->) t, Semimonoidal (-->) (:*:) (:*:) t) => Monoidal (-->) (-->) (:*:) (:*:) (Instruction t) where+	unit _ = Straight $ Enter . ($ One) . run  instance Covariant (->) (->) t => Bindable (->) (Instruction t) where 	f =<< Enter x = f x-	f =<< Instruct xs = Instruct $ (f =<<) <$> xs+	f =<< Instruct xs = Instruct $ (f =<<) <-|- xs  instance Monad (->) t => Monad (->) (Instruction t) where  instance Traversable (->) (->) t => Traversable (->) (->) (Instruction t) where-	f <<- Enter x = Enter <$> f x-	f <<- Instruct xs = Instruct <$> f -<<-<<- xs+	f <<- Enter x = Enter <-|- f x+	f <<- Instruct xs = Instruct <-|- f -<<-<<- xs  instance Liftable (->) Instruction where-	lift x = Instruct $ Enter <$> x+	lift x = Instruct $ Enter <-|- x -instance (forall t . Bindable (->) t, forall t . Monoidal (-->) (->) (:*:) (:*:) t) => Lowerable (->) Instruction where+instance (forall t . Bindable (->) t, forall t . Monoidal (-->) (-->) (:*:) (:*:) t) => Lowerable (->) Instruction where 	lower (Enter x) = point x 	lower (Instruct xs) = lower =<< xs -instance (forall v . Covariant (->) (->) v) => Hoistable Instruction where+instance (forall v . Covariant (->) (->) v) => Hoistable (->) Instruction where 	_ /|\ Enter x = Enter x-	f /|\ Instruct xs = Instruct $ (f /|\) <$> f xs+	f /|\ Instruct xs = Instruct $ (f /|\) <-|- f xs
Pandora/Paradigm/Primary/Transformer/Jack.hs view
@@ -4,7 +4,7 @@  import Pandora.Pattern.Semigroupoid ((.)) import Pandora.Pattern.Category (identity, ($))-import Pandora.Pattern.Functor.Covariant (Covariant ((<$>)))+import Pandora.Pattern.Functor.Covariant (Covariant ((<-|-)), (<-|-)) import Pandora.Pattern.Functor.Monoidal (Monoidal) import Pandora.Pattern.Functor.Traversable (Traversable ((<<-))) import Pandora.Pattern.Functor.Bindable (Bindable ((=<<)))@@ -22,14 +22,14 @@ data Jack t a = It a | Other (t a)  instance Covariant (->) (->) t => Covariant (->) (->) (Jack t) where-	f <$> It x = It $ f x-	f <$> Other y = Other $ f <$> y+	f <-|- It x = It $ f x+	f <-|- Other y = Other $ f <-|- y  instance Traversable (->) (->) t => Traversable (->) (->) (Jack t) where-	f <<- It x = It <$> f x-	f <<- Other y = Other <$> f <<- y+	f <<- It x = It <-|- f x+	f <<- Other y = Other <-|- f <<- y -instance (Monoidal (-->) (->) (:*:) (:*:) t, Bindable (->) t) => Bindable (->) (Jack t) where+instance (Monoidal (-->) (-->) (:*:) (:*:) t, Bindable (->) t) => Bindable (->) (Jack t) where 	f =<< It x = f x 	f =<< Other x = Other $ jack point identity . f =<< x @@ -40,7 +40,7 @@ instance Liftable (->) Jack where 	lift = Other -instance Hoistable Jack where+instance Hoistable (->) Jack where 	_ /|\ It x = It x 	f /|\ Other x = Other $ f x 
Pandora/Paradigm/Primary/Transformer/Jet.hs view
@@ -2,14 +2,14 @@  module Pandora.Paradigm.Primary.Transformer.Jet where -import Pandora.Pattern.Functor.Covariant (Covariant ((<$>)), (<$$>))+import Pandora.Pattern.Functor.Covariant (Covariant ((<-|-)), (<-|-|-), (<-|-)) import Pandora.Pattern.Functor.Traversable (Traversable ((<<-)), (-<<-<<-)) import Pandora.Paradigm.Primary.Algebraic ((<-*-))  data Jet t a = Jet a (Jet t (t a))  instance Covariant (->) (->) t => Covariant (->) (->) (Jet t) where-	f <$> Jet x xs = Jet (f x) ((<$$>) @(->) @(->) f xs)+	f <-|- Jet x xs = Jet (f x) (f <-|-|- xs)  instance Traversable (->) (->) t => Traversable (->) (->) (Jet t) where-	f <<- Jet x xs = Jet <$> f x <-*- f -<<-<<- xs+	f <<- Jet x xs = Jet <-|- f x <-*- f -<<-<<- xs
Pandora/Paradigm/Primary/Transformer/Kan.hs view
@@ -2,8 +2,8 @@  import Pandora.Pattern.Semigroupoid ((.)) import Pandora.Pattern.Category (($))-import Pandora.Pattern.Functor.Contravariant (Contravariant ((>$<)))-import Pandora.Pattern.Functor.Covariant (Covariant ((<$>)))+import Pandora.Pattern.Functor.Contravariant (Contravariant ((>-|-)))+import Pandora.Pattern.Functor.Covariant (Covariant ((<-|-))) import Pandora.Paradigm.Controlflow.Effect.Interpreted (Interpreted (Primary, run, unite)) import Pandora.Paradigm.Primary.Functor.Wye (Wye (Left, Right)) @@ -12,7 +12,7 @@ data instance Kan Left t u b a = Lan ((t b -> a) -> u b)  instance Contravariant (->) (->) (Kan Left t u b) where-	f >$< Lan x = Lan $ x . (f .)+	f >-|- Lan x = Lan $ x . (f .)  instance Interpreted (->) (Kan Left t u b) where 	type Primary (Kan Left t u b) a = (t b -> a) -> u b@@ -22,7 +22,7 @@ data instance Kan Right t u b a = Ran ((a -> t b) -> u b)  instance Covariant (->) (->) (Kan Right t u b) where-	f <$> Ran x = Ran $ x . (. f)+	f <-|- Ran x = Ran $ x . (. f)  instance Interpreted (->) (Kan Right t u b) where 	type Primary (Kan Right t u b) a = (a -> t b) -> u b
Pandora/Paradigm/Primary/Transformer/Outline.hs view
@@ -4,7 +4,7 @@  import Pandora.Pattern.Semigroupoid ((.)) import Pandora.Pattern.Category (identity, ($), (#))-import Pandora.Pattern.Functor.Covariant (Covariant ((<$>)))+import Pandora.Pattern.Functor.Covariant (Covariant ((<-|-))) import Pandora.Pattern.Transformer.Liftable (Liftable (lift)) import Pandora.Pattern.Transformer.Hoistable (Hoistable ((/|\))) import Pandora.Paradigm.Primary.Algebraic.Exponential ()@@ -14,12 +14,12 @@ 	Outlined :: t a -> Outline t (a -> b) -> Outline t b  instance Covariant (->) (->) (Outline t) where-	f <$> Line a = Line $ f a-	f <$> Outlined x y = Outlined x # (.) f <$> y+	f <-|- Line a = Line $ f a+	f <-|- Outlined x y = Outlined x # (.) f <-|- y  instance Liftable (->) Outline where 	lift t = Outlined t (Line identity) -instance Hoistable Outline where+instance Hoistable (->) Outline where 	_ /|\ Line x = Line x 	f /|\ Outlined x y = Outlined # f x # f /|\ y
Pandora/Paradigm/Primary/Transformer/Reverse.hs view
@@ -2,11 +2,10 @@  module Pandora.Paradigm.Primary.Transformer.Reverse where -import Pandora.Core.Appliable ((!)) import Pandora.Pattern.Semigroupoid ((.)) import Pandora.Pattern.Category (($), (#))-import Pandora.Pattern.Functor.Covariant (Covariant ((<$>)))-import Pandora.Pattern.Functor.Contravariant (Contravariant ((>$<)))+import Pandora.Pattern.Functor.Covariant (Covariant ((<-|-)))+import Pandora.Pattern.Functor.Contravariant (Contravariant ((>-|-))) import Pandora.Pattern.Functor.Semimonoidal (Semimonoidal (mult)) import Pandora.Pattern.Functor.Monoidal (Monoidal (unit)) import Pandora.Pattern.Functor.Traversable (Traversable ((<<-)))@@ -22,33 +21,33 @@ import Pandora.Paradigm.Primary.Algebraic (point, extract) import Pandora.Pattern.Morphism.Flip (Flip (Flip)) import Pandora.Pattern.Morphism.Straight (Straight (Straight))-import Pandora.Paradigm.Controlflow.Effect.Interpreted (Interpreted (Primary, run, unite))+import Pandora.Paradigm.Controlflow.Effect.Interpreted (Interpreted (Primary, run, unite, (!)))  newtype Reverse t a = Reverse (t a)  instance Covariant (->) (->) t => Covariant (->) (->) (Reverse t) where-	f <$> Reverse x = Reverse # f <$> x+	f <-|- Reverse x = Reverse # f <-|- x  instance (Semimonoidal (-->) (:*:) (:*:) t, Covariant (->) (->) t) => Semimonoidal (-->) (:*:) (:*:) (Reverse t) where-	mult = Straight $ \(Reverse x :*: Reverse y) -> Reverse ! mult @(-->) ! (x :*: y)+	mult = Straight $ \(Reverse x :*: Reverse y) -> Reverse $ mult @(-->) ! (x :*: y) -instance (Covariant (->) (->) t, Monoidal (-->) (->) (:*:) (:*:) t) => Monoidal (-->) (->) (:*:) (:*:) (Reverse t) where-	unit _ = Straight $ Reverse . point . ($ One)+instance (Covariant (->) (->) t, Monoidal (-->) (-->) (:*:) (:*:) t) => Monoidal (-->) (-->) (:*:) (:*:) (Reverse t) where+	unit _ = Straight $ Reverse . point . ($ One) . run  instance (Semimonoidal (<--) (:*:) (:*:) t, Covariant (->) (->) t) => Semimonoidal (<--) (:*:) (:*:) (Reverse t) where 	mult = Flip $ (Reverse <-> Reverse) . run (mult @(<--)) . run -instance (Covariant (->) (->) t, Monoidal (<--) (->) (:*:) (:*:) t) => Monoidal (<--) (->) (:*:) (:*:) (Reverse t) where-	unit _ = Flip $ \(Reverse x) -> (\_ -> extract x)+instance (Covariant (->) (->) t, Monoidal (<--) (-->) (:*:) (:*:) t) => Monoidal (<--) (-->) (:*:) (:*:) (Reverse t) where+	unit _ = Flip $ \(Reverse x) -> Straight (\_ -> extract x)  instance Traversable (->) (->) t => Traversable (->) (->) (Reverse t) where-	f <<- Reverse x = Reverse <$> run (Backwards . f <<- x)+	f <<- Reverse x = Reverse <-|- run (Backwards . f <<- x)  instance Distributive (->) (->) t => Distributive (->) (->) (Reverse t) where 	f -<< x = Reverse $ run . f -<< x  instance Contravariant (->) (->) t => Contravariant (->) (->) (Reverse t) where-	f >$< Reverse x = Reverse # f >$< x+	f >-|- Reverse x = Reverse # f >-|- x  instance Interpreted (->) (Reverse t) where 	type Primary (Reverse t) a = t a@@ -61,5 +60,5 @@ instance Lowerable (->) Reverse where 	lower = run -instance Hoistable Reverse where+instance Hoistable (->) Reverse where 	f /|\ Reverse x = Reverse # f x
Pandora/Paradigm/Primary/Transformer/Tap.hs view
@@ -3,10 +3,9 @@ module Pandora.Paradigm.Primary.Transformer.Tap where  import Pandora.Core.Functor (type (:=))-import Pandora.Core.Appliable ((!)) import Pandora.Pattern.Semigroupoid ((.)) import Pandora.Pattern.Category (($), (#))-import Pandora.Pattern.Functor.Covariant (Covariant ((<$>)))+import Pandora.Pattern.Functor.Covariant (Covariant ((<-|-))) import Pandora.Pattern.Functor.Semimonoidal (Semimonoidal (mult)) import Pandora.Pattern.Functor.Monoidal (Monoidal (unit)) import Pandora.Pattern.Functor.Traversable (Traversable ((<<-)))@@ -16,7 +15,7 @@ import Pandora.Pattern.Transformer.Lowerable (Lowerable (lower)) import Pandora.Pattern.Transformer.Hoistable (Hoistable ((/|\))) import Pandora.Paradigm.Inventory.Store (Store (Store))-import Pandora.Paradigm.Controlflow.Effect.Interpreted (run)+import Pandora.Paradigm.Controlflow.Effect.Interpreted (run, (!)) import Pandora.Paradigm.Primary.Algebraic ((<-*-), extract) import Pandora.Paradigm.Primary.Algebraic.Product ((:*:) ((:*:)), twosome) import Pandora.Paradigm.Primary.Algebraic.Exponential (type (<--), type (-->), (%))@@ -33,20 +32,20 @@ data Tap t a = Tap a (t a)  instance Covariant (->) (->) t => Covariant (->) (->) (Tap t) where-	f <$> Tap x xs = Tap # f x # f <$> xs+	f <-|- Tap x xs = Tap # f x # f <-|- xs  instance Semimonoidal (-->) (:*:) (:*:) t => Semimonoidal (-->) (:*:) (:*:) (Tap t) where-	mult = Straight $ \(Tap x xs :*: Tap y ys) -> Tap (x :*: y) $ mult @(-->) ! xs :*: ys+	mult = Straight $ \(Tap x xs :*: Tap y ys) -> Tap # (x :*: y) # (mult @(-->) ! (xs :*: ys))  instance Semimonoidal (<--) (:*:) (:*:) t => Semimonoidal (<--) (:*:) (:*:) (Tap t) where 	mult = Flip $ \(Tap (x :*: y) xys) -> 		(Tap x <-> Tap y) $ mult @(<--) ! xys -instance Semimonoidal (<--) (:*:) (:*:) t => Monoidal (<--) (->) (:*:) (:*:) (Tap t) where-	unit _ = Flip $ \(Tap x _) -> (\_ -> x)+instance Semimonoidal (<--) (:*:) (:*:) t => Monoidal (<--) (-->) (:*:) (:*:) (Tap t) where+	unit _ = Flip $ \(Tap x _) -> Straight (\_ -> x)  instance Traversable (->) (->) t => Traversable (->) (->) (Tap t) where-	f <<- Tap x xs = Tap <$> f x <-*- f <<- xs+	f <<- Tap x xs = Tap <-|- f x <-*- f <<- xs  instance (Semimonoidal (<--) (:*:) (:*:) t, Extendable (->) t, Covariant (->) (->) t) => Extendable (->) (Tap t) where 	f <<= x = Tap # f x $ f . Tap (extract x) <<= lower x@@ -54,7 +53,7 @@ instance Lowerable (->) Tap where 	lower (Tap _ xs) = xs -instance Hoistable Tap where+instance Hoistable (->) Tap where 	f /|\ Tap x xs = Tap x # f xs  instance {-# OVERLAPS #-} Semimonoidal (-->) (:*:) (:*:) t => Semimonoidal (-->) (:*:) (:*:) (Tap (t <:.:> t := (:*:))) where@@ -63,7 +62,7 @@  instance {-# OVERLAPS #-} Traversable (->) (->) t => Traversable (->) (->) (Tap (t <:.:> t := (:*:))) where 	f <<- Tap x (T_U (future :*: past)) = (\past' x' future' -> Tap x' $ twosome # future' # run past')-		<$> f <<- Reverse past <-*- f x <-*- f <<- future+		<-|- f <<- Reverse past <-*- f x <-*- f <<- future  instance (Covariant (->) (->) t) => Substructure Root (Tap (t <:.:> t := (:*:))) where 	type Available Root (Tap (t <:.:> t := (:*:))) = Identity
Pandora/Paradigm/Primary/Transformer/Yoneda.hs view
@@ -3,7 +3,7 @@ module Pandora.Paradigm.Primary.Transformer.Yoneda where  import Pandora.Pattern.Semigroupoid ((.))-import Pandora.Pattern.Functor.Covariant (Covariant ((<$>)))+import Pandora.Pattern.Functor.Covariant (Covariant ((<-|-))) import Pandora.Pattern.Transformer.Liftable (Liftable (lift)) import Pandora.Paradigm.Primary.Algebraic.Exponential () @@ -11,7 +11,7 @@ 	{ yoneda :: forall b . (a -> b) -> t b }  instance Covariant (->) (->) (Yoneda t) where-	f <$> x = Yoneda (\k -> yoneda x (k . f))+	f <-|- x = Yoneda (\k -> yoneda x (k . f))  instance Liftable (->) Yoneda where-	lift x = Yoneda (<$> x)+	lift x = Yoneda (<-|- x)
Pandora/Paradigm/Schemes/TU.hs view
@@ -1,10 +1,12 @@+{-# LANGUAGE UndecidableInstances #-}+ module Pandora.Paradigm.Schemes.TU where  import Pandora.Core.Functor (type (:.), type (:=), type (~>))-import Pandora.Core.Appliable ((!))-import Pandora.Pattern.Semigroupoid ((.))+import Pandora.Pattern.Betwixt (Betwixt)+import Pandora.Pattern.Semigroupoid (Semigroupoid ((.))) import Pandora.Pattern.Category (($), identity)-import Pandora.Pattern.Functor.Covariant (Covariant ((<$>)), (<$$>))+import Pandora.Pattern.Functor.Covariant (Covariant ((<-|-)), (<-|-|-)) import Pandora.Pattern.Functor.Contravariant (Contravariant) import Pandora.Pattern.Functor.Semimonoidal (Semimonoidal (mult)) import Pandora.Pattern.Functor.Monoidal (Monoidal (unit))@@ -15,7 +17,7 @@ import Pandora.Pattern.Transformer.Liftable (Liftable (lift)) import Pandora.Pattern.Transformer.Lowerable (Lowerable (lower)) import Pandora.Pattern.Transformer.Hoistable (Hoistable ((/|\)))-import Pandora.Paradigm.Controlflow.Effect.Interpreted (Interpreted (Primary, run, unite, (||=)))+import Pandora.Paradigm.Controlflow.Effect.Interpreted (Interpreted (Primary, run, unite, (!), (||=))) import Pandora.Paradigm.Primary.Algebraic.Exponential (type (<--), type (-->)) import Pandora.Paradigm.Primary.Algebraic.Product ((:*:) ((:*:))) import Pandora.Paradigm.Primary.Algebraic.Sum ((:+:) (Option, Adoption), sum)@@ -38,41 +40,41 @@ 	run ~(TU x) = x 	unite = TU -instance (Covariant m m t, Covariant m m u, Interpreted m (t <:.> u)) => Covariant m m (t <:.> u) where-	(<$>) f = (||=) ((<$$>) @m @m f)+instance (Semigroupoid m, Covariant (Betwixt m m) m t, Covariant m (Betwixt m m) u, Interpreted m (t <:.> u)) => Covariant m m (t <:.> u) where+	(<-|-) f = (||=) ((<-|-|-) f)  instance (Covariant (->) (->) t, Semimonoidal (-->) (:*:) (:*:) t, Semimonoidal (-->) (:*:) (:*:) u) => Semimonoidal (-->) (:*:) (:*:) (t <:.> u) where-	mult = Straight $ TU . (<$>) (mult @(-->) !) . (mult @(-->) !) . (run @(->) <-> run @(->))+	mult = Straight $ TU . (<-|-) (mult @(-->) !) . (mult @(-->) !) . (run @(->) <-> run @(->)) -instance (Covariant (->) (->) t, Covariant (->) (->) u, Semimonoidal (-->) (:*:) (:*:) u, Monoidal (-->) (->) (:*:) (:*:) t, Monoidal (-->) (->) (:*:) (:*:) u) => Monoidal (-->) (->) (:*:) (:*:) (t <:.> u) where-	unit _ = Straight $ TU . point . point . ($ One)+instance (Covariant (->) (->) t, Covariant (->) (->) u, Semimonoidal (-->) (:*:) (:*:) u, Monoidal (-->) (-->) (:*:) (:*:) t, Monoidal (-->) (-->) (:*:) (:*:) u) => Monoidal (-->) (-->) (:*:) (:*:) (t <:.> u) where+	unit _ = Straight $ TU . point . point . ($ One) . run -instance (Covariant (->) (->) t, Covariant (->) (->) u, Semimonoidal (-->) (:*:) (:+:) t) => Semimonoidal (-->) (:*:) (:+:) (t <:.> u) where-	mult = Straight $ \(TU x :*: TU y) -> TU $ sum (Option <$>) (Adoption <$>) <$> (mult @(-->) ! x :*: y)+instance (Covariant (->) (->) t, Covariant (->) (->) u, Semimonoidal (-->) (:*:) (:*:) t, Semimonoidal (-->) (:*:) (:+:) u) => Semimonoidal (-->) (:*:) (:+:) (t <:.> u) where+	mult = Straight $ \(TU x :*: TU y) -> TU $ (mult @(-->) @(:*:) @(:+:)) <-|- (mult @(-->) @(:*:) @(:*:) ! (x :*: y)) -instance (Covariant (->) (->) t, Covariant (->) (->) u, Monoidal (-->) (->) (:*:) (:+:) t) => Monoidal (-->) (->) (:*:) (:+:) (t <:.> u) where+instance (Covariant (->) (->) t, Covariant (->) (->) u, Semimonoidal (-->) (:*:) (:*:) t, Semimonoidal (-->) (:*:) (:+:) u, Monoidal (-->) (-->) (:*:) (:+:) t) => Monoidal (-->) (-->) (:*:) (:+:) (t <:.> u) where 	unit _ = Straight $ \_ -> TU empty  instance (Covariant (->) (->) t, Semimonoidal (<--) (:*:) (:*:) t, Semimonoidal (<--) (:*:) (:*:) u) => Semimonoidal (<--) (:*:) (:*:) (t <:.> u) where-	mult = Flip $ \(TU xys) -> (TU <-> TU) . (mult @(<--) !) $ (mult @(<--) !) <$> xys+	mult = Flip $ \(TU xys) -> (TU <-> TU) . (mult @(<--) !) $ (mult @(<--) !) <-|- xys -instance (Covariant (->) (->) t, Monoidal (<--) (->) (:*:) (:*:) t, Monoidal (<--) (->) (:*:) (:*:) u) => Monoidal (<--) (->) (:*:) (:*:) (t <:.> u) where-	unit _ = Flip $ \(TU x) -> (\_ -> extract $ extract x)+instance (Covariant (->) (->) t, Monoidal (<--) (-->) (:*:) (:*:) t, Monoidal (<--) (-->) (:*:) (:*:) u) => Monoidal (<--) (-->) (:*:) (:*:) (t <:.> u) where+	unit _ = Flip $ \(TU x) -> Straight (\_ -> extract $ extract x)  instance (Traversable (->) (->) t, Traversable (->) (->) u) => Traversable (->) (->) (t <:.> u) where-	f <<- x = TU <$> f -<<-<<- run x+	f <<- x = TU <-|- f -<<-<<- run x  instance (Bindable (->) t, Distributive (->) (->) t, Covariant (->) (->) u, Bindable (->) u) => Bindable (->) (t <:.> u) where-	f =<< TU x = TU $ (\i -> (identity =<<) <$> run . f -<< i) =<< x+	f =<< TU x = TU $ (\i -> (identity =<<) <-|- run . f -<< i) =<< x -instance Monoidal (-->) (->) (:*:) (:*:) t => Liftable (->) (TU Covariant Covariant t) where+instance Monoidal (-->) (-->) (:*:) (:*:) t => Liftable (->) (TU Covariant Covariant t) where 	lift :: Covariant (->) (->) u => u ~> t <:.> u 	lift = TU . point -instance Monoidal (<--) (->) (:*:) (:*:) t => Lowerable (->) (TU Covariant Covariant t) where+instance Monoidal (<--) (-->) (:*:) (:*:) t => Lowerable (->) (TU Covariant Covariant t) where 	lower :: t <:.> u ~> u 	lower (TU x) = extract x -instance Covariant (->) (->) t => Hoistable (TU Covariant Covariant t) where+instance Covariant (->) (->) t => Hoistable (->) (TU Covariant Covariant t) where 	(/|\) :: u ~> v -> (t <:.> u ~> t <:.> v)-	f /|\ TU x = TU $ f <$> x+	f /|\ TU x = TU $ f <-|- x
Pandora/Paradigm/Schemes/TUT.hs view
@@ -1,14 +1,17 @@+{-# LANGUAGE UndecidableInstances #-}+ module Pandora.Paradigm.Schemes.TUT where  import Pandora.Core.Functor (type (:.), type (:=), type (~>))-import Pandora.Core.Appliable ((!))-import Pandora.Pattern.Semigroupoid ((.))+import Pandora.Pattern.Betwixt (Betwixt)+import Pandora.Pattern.Semigroupoid (Semigroupoid ((.))) import Pandora.Pattern.Category (identity, ($))-import Pandora.Pattern.Functor.Covariant (Covariant, Covariant ((<$>)), (<$$>), (<$$$>))+import Pandora.Pattern.Functor.Covariant (Covariant, Covariant ((<-|-)), (<-|-|-), (<-|-|-|-)) import Pandora.Pattern.Functor.Contravariant (Contravariant) import Pandora.Pattern.Functor.Semimonoidal (Semimonoidal (mult)) import Pandora.Pattern.Functor.Monoidal (Monoidal (unit)) import Pandora.Pattern.Functor.Extendable (Extendable ((<<=)))+import Pandora.Pattern.Functor.Traversable (Traversable ((<<-))) import Pandora.Pattern.Functor.Distributive (Distributive ((-<<))) import Pandora.Pattern.Functor.Bindable (Bindable ((=<<))) import Pandora.Pattern.Functor.Bivariant ((<->))@@ -16,12 +19,13 @@ import Pandora.Pattern.Transformer.Liftable (Liftable (lift)) import Pandora.Pattern.Transformer.Lowerable (Lowerable (lower)) import Pandora.Paradigm.Primary.Algebraic.Exponential (type (<--), type (-->))-import Pandora.Paradigm.Primary.Algebraic.Product ((:*:)((:*:)))+import Pandora.Paradigm.Primary.Algebraic.Product ((:*:) ((:*:)))+import Pandora.Paradigm.Primary.Algebraic.Sum ((:+:) (Option, Adoption)) import Pandora.Paradigm.Primary.Algebraic.One (One (One)) import Pandora.Paradigm.Primary.Algebraic (point, extract) import Pandora.Pattern.Morphism.Flip (Flip (Flip)) import Pandora.Pattern.Morphism.Straight (Straight (Straight))-import Pandora.Paradigm.Controlflow.Effect.Interpreted (Interpreted (Primary, run, unite, (||=)))+import Pandora.Paradigm.Controlflow.Effect.Interpreted (Interpreted (Primary, run, unite, (!), (||=)))  newtype TUT ct ct' cu t t' u a = TUT (t :. u :. t' := a) @@ -41,26 +45,34 @@ 	run ~(TUT x) = x 	unite = TUT -instance (Covariant m m t, Covariant m m u, Covariant m m t', Interpreted m (t <:<.>:> t' := u)) => Covariant m m (t <:<.>:> t' := u) where-	(<$>) f = (||=) ((<$$$>) @m @m @m f)+instance (Semigroupoid m, Covariant (Betwixt (Betwixt m m) m) m t, Covariant (Betwixt m (Betwixt m m)) (Betwixt (Betwixt m m) m) u, Covariant m (Betwixt m (Betwixt m m)) t', Interpreted m (t <:<.>:> t' := u)) => Covariant m m (t <:<.>:> t' := u) where+	(<-|-) f = (||=) ((<-|-|-|-) f) -instance (Covariant (->) (->) t, Covariant (->) (->) t', Covariant (->) (->) u, Semimonoidal (-->) (:*:) (:*:) t, Semimonoidal (-->) (:*:) (:*:) u, Semimonoidal (-->) (:*:) (:*:) t') => Semimonoidal (-->) (:*:) (:*:) (t <:<.>:> t' := u) where-	mult = Straight $ TUT . (<$$>) @_ @(->) (mult @(-->) !) . (<$>) (mult @(-->) !) . (mult @(-->) !) . (run @(->) <-> run @(->))+instance (Adjoint (->) (->) t' t, Bindable (->) u) => Semimonoidal (-->) (:*:) (:*:) (t <:<.>:> t' := u) where+	mult = Straight $ \(TUT x :*: TUT y) -> TUT ((((\r -> (<-|-|-|-) (r :*:) y) |-) =<<) <-|- x)  instance (Covariant (->) (->) t, Semimonoidal (<--) (:*:) (:*:) t, Covariant (->) (->) u, Semimonoidal (<--) (:*:) (:*:) u, Covariant (->) (->) t', Semimonoidal (<--) (:*:) (:*:) t') => Semimonoidal (<--) (:*:) (:*:) (t <:<.>:> t' := u) where-	mult = Flip $ (TUT <-> TUT) . (mult @(<--) !) . (<$>) (mult @(<--) !) . (<$$>) @_ @(->) (mult @(<--) !) . run+	mult = Flip $ (TUT <-> TUT) . (mult @(<--) !) . (<-|-) (mult @(<--) !) . (<-|-|-) @_ @(->) (mult @(<--) !) . run -instance (Covariant (->) (->) t, Covariant (->) (->) u, Semimonoidal (<--) (:*:) (:*:) t, Semimonoidal (<--) (:*:) (:*:) t', Monoidal (<--) (->) (:*:) (:*:) u, Adjoint (->) (->) t t') => Monoidal (<--) (->) (:*:) (:*:) (t <:<.>:> t' := u) where-	unit _ = Flip $ \(TUT xys) -> (\_ -> (extract |-) xys)+instance (Covariant (->) (->) t, Covariant (->) (->) u, Semimonoidal (<--) (:*:) (:*:) t, Semimonoidal (<--) (:*:) (:*:) t', Monoidal (<--) (-->) (:*:) (:*:) u, Adjoint (->) (->) t t') => Monoidal (<--) (-->) (:*:) (:*:) (t <:<.>:> t' := u) where+	unit _ = Flip $ \(TUT xys) -> Straight (\_ -> (extract |-) xys) +-- TODO: generalize on (->) and (:*:)+instance {-# OVERLAPS #-} (Covariant (->) (->) u, Semimonoidal (-->) (:*:) (:+:) u) => Semimonoidal (-->) (:*:) (:+:) ((->) s <:<.>:> (:*:) s := u) where+ mult = Straight $ \(TUT x :*: TUT y) -> TUT $ product_over_sum <-|-|- mult @(-->) @(:*:) @(:+:) <-|- (mult @(-->) @(:*:) @(:*:) ! (x :*: y))++product_over_sum :: (s :*: a) :+: (s :*: b) -> s :*: (a :+: b)+product_over_sum (Option (s :*: x)) = s :*: Option x+product_over_sum (Adoption (s :*: y)) = s :*: Adoption y+ instance (Covariant (->) (->) t, Covariant (->) (->) t', Adjoint (->) (->) t' t, Bindable (->) u) => Bindable (->) (t <:<.>:> t' := u) where-	f =<< x = TUT $ ((run . f |-) =<<) <$> run x+	f =<< x = TUT $ ((run . f |-) =<<) <-|- run x -instance (Covariant (->) (->) t, Covariant (->) (->) u, Covariant (->) (->) t', Semimonoidal (-->) (:*:) (:*:) t, Semimonoidal (-->) (:*:) (:*:) t', Monoidal (-->) (->) (:*:) (:*:) u, Adjoint (->) (->) t' t) => Monoidal (-->) (->) (:*:) (:*:) (t <:<.>:> t' := u) where-	unit _ = Straight $ unite . (point -|) . ($ One)+instance (Bindable (->) u, Monoidal (-->) (-->) (:*:) (:*:) u, Adjoint (->) (->) t' t) => Monoidal (-->) (-->) (:*:) (:*:) (t <:<.>:> t' := u) where+	unit _ = Straight $ unite . (point -|) . ($ One) . run  instance (Adjoint (->) (->) t' t, Extendable (->) u) => Extendable (->) (t' <:<.>:> t := u) where-	f <<= x = TUT $ ((f . unite -|) <<=) <$> run x+	f <<= x = TUT $ ((f . unite -|) <<=) <-|- run x  instance (Adjoint (->) (->) t' t, Distributive (->) (->) t) => Liftable (->) (t <:<.>:> t') where 	lift :: Covariant (->) (->) u => u ~> t <:<.>:> t' := u
Pandora/Paradigm/Schemes/T_U.hs view
@@ -1,8 +1,8 @@ module Pandora.Paradigm.Schemes.T_U where  import Pandora.Core.Functor (type (:=))-import Pandora.Pattern.Functor.Covariant (Covariant, Covariant ((<$>)))-import Pandora.Pattern.Functor.Contravariant (Contravariant, Contravariant ((>$<)))+import Pandora.Pattern.Functor.Covariant (Covariant, Covariant ((<-|-)))+import Pandora.Pattern.Functor.Contravariant (Contravariant, Contravariant ((>-|-))) import Pandora.Pattern.Functor.Bivariant (Bivariant ((<->))) import Pandora.Pattern.Functor.Divariant (Divariant ((>->))) import Pandora.Paradigm.Controlflow.Effect.Interpreted (Interpreted (Primary, run, unite, (||=)))@@ -22,10 +22,10 @@ 	unite = T_U  instance (forall i . Covariant (->) (->) (p i), Bivariant (->) (->) (->) p,  Covariant (->) (->) t, Covariant (->) (->) u) => Covariant (->) (->) (t <:.:> u := p) where-	f <$> x = (f <$>) <-> (f <$>) ||= x+	f <-|- x = (f <-|-) <-> (f <-|-) ||= x  instance (Divariant (->) (->) (->) p, Contravariant (->) (->) t, Covariant (->) (->) u) => Covariant (->) (->) (t >:.:> u := p) where-	f <$> x = (f >$<) >-> (f <$>) ||= x+	f <-|- x = (f >-|-) >-> (f <-|-) ||= x  instance (forall i . Covariant (->) (->) (p i), Bivariant (->) (->) (->) p, Contravariant (->) (->) t, Contravariant (->) (->) u) => Contravariant (->) (->) (t >:.:< u := p) where-	f >$< x = (f >$<) <-> (f >$<) ||= x+	f >-|- x = (f >-|-) <-> (f >-|-) ||= x
Pandora/Paradigm/Schemes/UT.hs view
@@ -1,11 +1,13 @@+{-# LANGUAGE UndecidableInstances #-}+ module Pandora.Paradigm.Schemes.UT where  import Pandora.Core.Functor (type (:.), type (:=), type (~>))-import Pandora.Core.Appliable ((!))-import Pandora.Pattern.Semigroupoid ((.))+import Pandora.Pattern.Betwixt (Betwixt)+import Pandora.Pattern.Semigroupoid (Semigroupoid ((.))) import Pandora.Pattern.Category (($), identity) import Pandora.Pattern.Morphism.Straight (Straight (Straight))-import Pandora.Pattern.Functor.Covariant (Covariant ((<$>)), (<$$>))+import Pandora.Pattern.Functor.Covariant (Covariant ((<-|-)), (<-|-|-)) import Pandora.Pattern.Functor.Contravariant (Contravariant) import Pandora.Pattern.Functor.Semimonoidal (Semimonoidal (mult)) import Pandora.Pattern.Functor.Monoidal (Monoidal (unit))@@ -14,10 +16,12 @@ import Pandora.Pattern.Functor.Bivariant ((<->)) import Pandora.Pattern.Transformer.Liftable (Liftable (lift)) import Pandora.Pattern.Transformer.Lowerable (Lowerable (lower))-import Pandora.Paradigm.Controlflow.Effect.Interpreted (Interpreted (Primary, run, unite, (||=)))+import Pandora.Paradigm.Controlflow.Effect.Interpreted (Interpreted (Primary, run, unite, (!), (||=))) import Pandora.Paradigm.Primary.Algebraic.Exponential (type (<--), type (-->))+import Pandora.Paradigm.Primary.Algebraic.Product ((:*:) ((:*:)))+import Pandora.Paradigm.Primary.Algebraic.Sum ((:+:) (Option, Adoption), sum) import Pandora.Paradigm.Primary.Algebraic.One (One (One))-import Pandora.Paradigm.Primary.Algebraic ((:*:) ((:*:)), point, extract)+import Pandora.Paradigm.Primary.Algebraic (point, extract) import Pandora.Pattern.Morphism.Flip (Flip (Flip))  newtype UT ct cu t u a = UT (u :. t := a)@@ -34,28 +38,31 @@ 	run ~(UT x) = x 	unite = UT -instance (Covariant m m t, Covariant m m u, Interpreted m (t <.:> u)) => Covariant m m (t <.:> u) where-	(<$>) f = (||=) ((<$$>) @m @m f)+instance (Semigroupoid m, Covariant m (Betwixt m m) t, Covariant (Betwixt m m) m u, Interpreted m (t <.:> u)) => Covariant m m (t <.:> u) where+	(<-|-) f = (||=) ((<-|-|-) f)  instance (Covariant (->) (->) u, Semimonoidal (-->) (:*:) (:*:) t, Semimonoidal (-->) (:*:) (:*:) u) => Semimonoidal (-->) (:*:) (:*:) (t <.:> u) where-	mult = Straight $ UT . (<$>) (mult @(-->) !) . (mult @(-->) !) . (run @(->) <-> run @(->))+	mult = Straight $ UT . (<-|-) (mult @(-->) !) . (mult @(-->) !) . (run @(->) <-> run @(->)) -instance (Covariant (->) (->) t, Covariant (->) (->) u, Semimonoidal (-->) (:*:) (:*:) u, Monoidal (-->) (->) (:*:) (:*:) t, Monoidal (-->) (->) (:*:) (:*:) u) => Monoidal (-->) (->) (:*:) (:*:) (t <.:> u) where-	unit _ = Straight $ UT . point . point . ($ One)+instance (Covariant (->) (->) u, Covariant (->) (->) t, Semimonoidal (-->) (:*:) (:*:) u, Semimonoidal (-->) (:*:) (:+:) t) => Semimonoidal (-->) (:*:) (:+:) (t <.:> u) where+	mult = Straight $ \(UT x :*: UT y) -> UT $ (mult @(-->) @(:*:) @(:+:)) <-|- (mult @(-->) @(:*:) @(:*:) ! (x :*: y)) -instance (Traversable (->) (->) t, Bindable (->) t, Semimonoidal (-->) (:*:) (:*:) u, Monoidal (-->) (->) (:*:) (:*:) u, Bindable (->) u) => Bindable (->) (t <.:> u) where-	f =<< UT x = UT $ ((identity =<<) <$>) . (run . f <<-) =<< x+instance (Covariant (->) (->) t, Covariant (->) (->) u, Semimonoidal (-->) (:*:) (:*:) u, Monoidal (-->) (-->) (:*:) (:*:) t, Monoidal (-->) (-->) (:*:) (:*:) u) => Monoidal (-->) (-->) (:*:) (:*:) (t <.:> u) where+	unit _ = Straight $ UT . point . point . ($ One) . run +instance (Traversable (->) (->) t, Bindable (->) t, Semimonoidal (-->) (:*:) (:*:) u, Monoidal (-->) (-->) (:*:) (:*:) u, Bindable (->) u) => Bindable (->) (t <.:> u) where+	f =<< UT x = UT $ ((identity =<<) <-|-) . (run . f <<-) =<< x+ instance (Covariant (->) (->) u, Semimonoidal (<--) (:*:) (:*:) t, Semimonoidal (<--) (:*:) (:*:) u) => Semimonoidal (<--) (:*:) (:*:) (t <.:> u) where-	mult = Flip $ \(UT xys) -> (UT <-> UT) . (mult @(<--) !) $ (mult @(<--) !) <$> xys+	mult = Flip $ \(UT xys) -> (UT <-> UT) . (mult @(<--) !) $ (mult @(<--) !) <-|- xys -instance (Covariant (->) (->) u, Monoidal (<--) (->) (:*:) (:*:) t, Monoidal (<--) (->) (:*:) (:*:) u) => Monoidal (<--) (->) (:*:) (:*:) (t <.:> u) where-	unit _ = Flip $ \(UT x) -> (\_ -> extract $ extract x)+instance (Covariant (->) (->) u, Monoidal (<--) (-->) (:*:) (:*:) t, Monoidal (<--) (-->) (:*:) (:*:) u) => Monoidal (<--) (-->) (:*:) (:*:) (t <.:> u) where+	unit _ = Flip $ \(UT x) -> Straight (\_ -> extract $ extract x) -instance Monoidal (-->) (->) (:*:) (:*:) t => Liftable (->) (UT Covariant Covariant t) where+instance Monoidal (-->) (-->) (:*:) (:*:) t => Liftable (->) (UT Covariant Covariant t) where 	lift :: Covariant (->) (->) u => u ~> t <.:> u-	lift x = UT $ point <$> x+	lift x = UT $ point <-|- x -instance Monoidal (<--) (->) (:*:) (:*:) t => Lowerable (->) (UT Covariant Covariant t) where+instance Monoidal (<--) (-->) (:*:) (:*:) t => Lowerable (->) (UT Covariant Covariant t) where 	lower :: Covariant (->) (->) u => t <.:> u ~> u-	lower (UT x) = extract <$> x+	lower (UT x) = extract <-|- x
Pandora/Paradigm/Structure.hs view
@@ -1,3 +1,4 @@+{-# LANGUAGE UndecidableInstances #-} {-# OPTIONS_GHC -fno-warn-orphans #-}  module Pandora.Paradigm.Structure (module Exports) where@@ -9,12 +10,12 @@  import Pandora.Core.Functor (type (:=)) import Pandora.Pattern.Semigroupoid ((.))-import Pandora.Pattern.Category (($), (#))-import Pandora.Pattern.Functor.Covariant (Covariant ((<$>)))+import Pandora.Pattern.Category (($), (#), identity)+import Pandora.Pattern.Functor.Covariant (Covariant ((<-|-))) import Pandora.Pattern.Transformer.Liftable (lift) import Pandora.Pattern.Transformer.Lowerable (lower) import Pandora.Pattern.Object.Semigroup ((+))-import Pandora.Paradigm.Controlflow.Effect.Interpreted (run, (||=))+import Pandora.Paradigm.Controlflow.Effect.Interpreted (run, (||=), (!)) import Pandora.Paradigm.Inventory.Optics () import Pandora.Paradigm.Inventory.Store (Store (Store)) import Pandora.Paradigm.Primary.Algebraic.Product ((:*:) ((:*:)), attached, twosome)@@ -46,28 +47,31 @@  instance Morphable (Into (Preorder (Construction Maybe))) (Construction Wye) where 	type Morphing (Into (Preorder (Construction Maybe))) (Construction Wye) = Construction Maybe-	morphing (premorph -> Construct x End) = Construct x Nothing-	morphing (premorph -> Construct x (Left lst)) = Construct x . Just $ into @(Preorder (Nonempty List)) lst-	morphing (premorph -> Construct x (Right rst)) = Construct x . Just $ into @(Preorder (Nonempty List)) rst-	morphing (premorph -> Construct x (Both lst rst)) = Construct x . Just $ into @(Preorder (Nonempty List)) lst + into @(Preorder (Nonempty List)) rst+	morphing nonempty_binary = case premorph nonempty_binary of+		Construct x End -> Construct x Nothing+		Construct x (Left lst) -> Construct x . Just $ into @(Preorder (Nonempty List)) lst+		Construct x (Right rst) -> Construct x . Just $ into @(Preorder (Nonempty List)) rst+		Construct x (Both lst rst) -> Construct x . Just $ into @(Preorder (Nonempty List)) lst + into @(Preorder (Nonempty List)) rst  instance Morphable (Into (Inorder (Construction Maybe))) (Construction Wye) where 	type Morphing (Into (Inorder (Construction Maybe))) (Construction Wye) = Construction Maybe-	morphing (premorph -> Construct x End) = Construct x Nothing-	morphing (premorph -> Construct x (Left lst)) = into @(Inorder (Nonempty List)) lst + Construct x Nothing-	morphing (premorph -> Construct x (Right rst)) = Construct x Nothing + into @(Inorder (Nonempty List)) rst-	morphing (premorph -> Construct x (Both lst rst)) = into @(Inorder (Nonempty List)) lst + Construct x Nothing + into @(Inorder (Nonempty List)) rst+	morphing nonempty_binary = case premorph nonempty_binary of+		Construct x End -> Construct x Nothing+		Construct x (Left lst) -> into @(Inorder (Nonempty List)) lst + Construct x Nothing+		Construct x (Right rst) -> Construct x Nothing + into @(Inorder (Nonempty List)) rst+		Construct x (Both lst rst) -> into @(Inorder (Nonempty List)) lst + Construct x Nothing + into @(Inorder (Nonempty List)) rst  instance Morphable (Into (Postorder (Construction Maybe))) (Construction Wye) where 	type Morphing (Into (Postorder (Construction Maybe))) (Construction Wye) = Construction Maybe-	morphing (premorph -> Construct x End) = Construct x Nothing-	morphing (premorph -> Construct x (Left lst)) = into @(Postorder (Nonempty List)) lst + Construct x Nothing-	morphing (premorph -> Construct x (Right rst)) = into @(Postorder (Nonempty List)) rst + Construct x Nothing-	morphing (premorph -> Construct x (Both lst rst)) = into @(Postorder (Nonempty List)) lst + into @(Postorder (Nonempty List)) rst + Construct x Nothing+	morphing nonempty_binary = case premorph nonempty_binary of+		Construct x End -> Construct x Nothing+		Construct x (Left lst) -> into @(Postorder (Nonempty List)) lst + Construct x Nothing+		Construct x (Right rst) -> into @(Postorder (Nonempty List)) rst + Construct x Nothing+		Construct x (Both lst rst) -> into @(Postorder (Nonempty List)) lst + into @(Postorder (Nonempty List)) rst + Construct x Nothing  instance Morphable (Into (o ds)) (Construction Wye) => Morphable (Into (o ds)) Binary where 	type Morphing (Into (o ds)) Binary = Maybe <:.> Morphing (Into (o ds)) (Construction Wye)-	morphing (premorph -> xs) = (into @(o ds) <$>) ||= xs+	morphing (premorph -> xs) = (into @(o ds) <-|-) ||= xs  instance Substructure Left (Flip (:*:) a) where 	type Available Left (Flip (:*:) a) = Identity@@ -89,6 +93,23 @@  instance {-# OVERLAPS #-} Accessible b a => Accessible b (s :*: a) where 	access = access @b . access @a++instance Accessible a (Identity a) where+	access = P_Q_T $ \(Identity x) -> Store $ Identity x :*: identity++instance Possible a (Maybe a) where+	perhaps = P_Q_T $ \x -> Store $ x :*: identity++instance Accessible target source => Possible target (Maybe source) where+	perhaps = let lst = access @target @source in P_Q_T $ \case+		Just source -> let (Identity target :*: its) = run $ lst ! source in+			Store $ Just target :*: (its . Identity <-|-)+		Nothing -> Store $ Nothing :*: \_ -> Nothing++instance Accessible (Maybe target) source => Possible target source where+	perhaps = let lst = access @(Maybe target) @source in P_Q_T $ \source ->+		let target :*: imts = run $ lst ! source in+			Store $ extract target :*: imts . Identity  instance (Covariant (->) (->) t) => Substructure Left (t <:.:> t := (:*:)) where 	type Available Left (t <:.:> t := (:*:)) = Identity
Pandora/Paradigm/Structure/Ability.hs view
@@ -4,6 +4,7 @@ import Pandora.Paradigm.Structure.Ability.Zipper as Exports import Pandora.Paradigm.Structure.Ability.Substructure as Exports import Pandora.Paradigm.Structure.Ability.Morphable as Exports+import Pandora.Paradigm.Structure.Ability.Possible as Exports import Pandora.Paradigm.Structure.Ability.Accessible as Exports import Pandora.Paradigm.Structure.Ability.Nullable as Exports import Pandora.Paradigm.Structure.Ability.Nonempty as Exports
+ Pandora/Paradigm/Structure/Ability/Possible.hs view
@@ -0,0 +1,7 @@+module Pandora.Paradigm.Structure.Ability.Possible where++import Pandora.Paradigm.Primary.Functor.Maybe (Maybe)+import Pandora.Paradigm.Inventory.Optics (Lens)++class Possible target source where+	perhaps :: Lens Maybe source target
Pandora/Paradigm/Structure/Ability/Substructure.hs view
@@ -4,14 +4,20 @@ module Pandora.Paradigm.Structure.Ability.Substructure where  import Pandora.Core.Functor (type (:=))-import Pandora.Pattern.Functor.Covariant (Covariant ((<$>)))+import Pandora.Pattern.Semigroupoid (Semigroupoid ((.)))+import Pandora.Pattern.Category (($), identity)+import Pandora.Pattern.Functor.Covariant (Covariant ((<-|-))) import Pandora.Pattern.Functor.Divariant ((>->)) import Pandora.Pattern.Transformer.Liftable (lift) import Pandora.Pattern.Transformer.Lowerable (lower) import Pandora.Paradigm.Controlflow.Effect.Interpreted ((||=))-import Pandora.Paradigm.Inventory.Optics (type (#=@))+import Pandora.Paradigm.Inventory.Store (Store (Store))+import Pandora.Paradigm.Inventory.Optics (Lens, Convex, type (#=@))+import Pandora.Paradigm.Primary.Algebraic.Product ((:*:) ((:*:)))+import Pandora.Paradigm.Primary.Functor.Identity (Identity) import Pandora.Paradigm.Primary.Functor.Tagged (Tagged) import Pandora.Paradigm.Schemes.TU (type (<:.>))+import Pandora.Paradigm.Schemes.P_Q_T (P_Q_T (P_Q_T))  data Segment a = Root a | Tail a @@ -24,4 +30,14 @@ 	substructure :: (Tagged segment <:.> structure) #=@ Substance segment structure := Available segment structure  	sub :: (Covariant (->) (->) structure) => structure #=@ Substance segment structure := Available segment structure-	sub = lift @(->) >-> (lower @(->) <$>) ||= substructure @segment @structure+	sub = lift @(->) >-> (lower @(->) <-|-) ||= substructure @segment @structure++-- TODO: generalize `available` and then rename to `singleton`+-- The main problem is that we should handle (Maybe target -> sourse)+-- For Convex Lens: we can ignore Identity cause we can wrap/unwrap its value+-- For Obscure Lens: if we got nothing -> nothing should change+only :: forall segment structure element . (Covariant (->) (->) structure, Substructured segment structure Identity Identity) => Convex Lens (structure element) element+only = inner . ((sub @segment) :: Convex Lens (structure element) (Identity element)) where++	inner :: Convex Lens (Identity element) element+	inner = P_Q_T $ \x -> Store $ x :*: identity
Pandora/Paradigm/Structure/Ability/Zipper.hs view
@@ -1,10 +1,101 @@+{-# OPTIONS_GHC -fno-warn-orphans #-}+{-# LANGUAGE UndecidableInstances #-}+{-# LANGUAGE TypeSynonymInstances #-}+ module Pandora.Paradigm.Structure.Ability.Zipper where -import Pandora.Core.Functor (type (:::))-import Pandora.Paradigm.Structure.Ability.Morphable (Morphable, Morph (Rotate))+import Pandora.Core.Functor (type (:=), type (:::))+import Pandora.Pattern.Morphism.Flip (Flip (Flip))+import Pandora.Pattern.Morphism.Straight (Straight (Straight))+import Pandora.Pattern.Semigroupoid ((.))+import Pandora.Pattern.Category (($), (#))+import Pandora.Pattern.Functor.Covariant (Covariant ((<-|-)))+import Pandora.Pattern.Functor.Semimonoidal (Semimonoidal (mult))+import Pandora.Pattern.Functor.Monoidal (Monoidal (unit))+import Pandora.Pattern.Transformer.Liftable (lift)+import Pandora.Pattern.Transformer.Lowerable (lower)+import Pandora.Paradigm.Primary.Algebraic (extract)+import Pandora.Paradigm.Primary.Algebraic.Exponential (type (<--), type (-->), (%))+import Pandora.Paradigm.Primary.Algebraic.Product ((:*:) ((:*:)), twosome)+import Pandora.Paradigm.Primary.Algebraic ((<-*-))+import Pandora.Paradigm.Primary.Functor.Identity (Identity (Identity))+import Pandora.Paradigm.Primary.Functor.Wye (Wye (Left, Right))+import Pandora.Paradigm.Schemes.TU (TU (TU), type (<:.>))+import Pandora.Paradigm.Schemes.T_U (T_U (T_U), type (<:.:>))+import Pandora.Paradigm.Schemes.P_Q_T (P_Q_T (P_Q_T))+import Pandora.Paradigm.Structure.Ability.Morphable (Morphable, Morph (Rotate), Vertical (Up, Down))+import Pandora.Paradigm.Structure.Ability.Substructure (Substructure (Available, Substance, substructure), Segment (Root), sub)+import Pandora.Paradigm.Controlflow.Effect.Interpreted (run, (!), (||=))+import Pandora.Paradigm.Inventory.Store (Store (Store))+import Pandora.Paradigm.Inventory.Optics (set, view) -type family Zipper (structure :: * -> *) (moves :: k) = (result :: * -> *) | result -> structure+class Zippable (structure :: * -> *) where+	type Breadcrumbs structure :: * -> * +type Zipper (structure :: * -> *) = Identity <:.:> Breadcrumbs structure := (:*:)++type Breadcrumbed structure t = (Zippable structure, Breadcrumbs structure ~ t)++instance {-# OVERLAPS #-} Semimonoidal (<--) (:*:) (:*:) t => Semimonoidal (<--) (:*:) (:*:) (Identity <:.:> t := (:*:)) where+	mult = Flip $ \(T_U (Identity (x :*: y) :*: xys)) ->+		let xs :*: ys = mult @(<--) ! xys in+			T_U (Identity x :*: xs) :*: T_U (Identity y :*: ys)++instance {-# OVERLAPS #-} Semimonoidal (<--) (:*:) (:*:) t => Monoidal (<--) (-->) (:*:) (:*:) (Identity <:.:> t := (:*:)) where+	unit _ = Flip $ \(T_U (Identity x :*: _)) -> Straight (\_ -> x)+ type family Fastenable structure rs where 	Fastenable structure (r ::: rs) = (Morphable (Rotate r) structure, Fastenable structure rs) 	Fastenable structure r = Morphable (Rotate r) structure++type Tape t = Identity <:.:> (t <:.:> t := (:*:)) := (:*:)++-- TODO: It's too fragile to define such an instance without any hints about zippers?+-- Should we wrap Zipper in Tagged Zippable?+instance Covariant (->) (->) t => Substructure Root (Tape t) where+	type Available Root (Tape t) = Identity+	type Substance Root (Tape t) = Identity+	substructure = P_Q_T $ \zipper -> case run # lower zipper of+		 Identity x :*: xs -> Store $ Identity (Identity x) :*: lift . T_U . (:*: xs) . extract++instance Covariant (->) (->) t => Substructure Left (Tape t) where+	type Available Left (Tape t) = Identity+	type Substance Left (Tape t) = t+	substructure = P_Q_T $ \zipper -> case run # lower zipper of+		Identity x :*: T_U (ls :*: rs) -> Store $ Identity ls :*: lift . T_U . (Identity x :*:) . T_U . (:*: rs) . extract++instance Covariant (->) (->) t => Substructure Right (Tape t) where+	type Available Right (Tape t) = Identity+	type Substance Right (Tape t) = t+	substructure = P_Q_T $ \zipper -> case run # lower zipper of+		Identity x :*: T_U (ls :*: rs) -> Store $ Identity rs :*: lift . T_U . (Identity x :*:) . T_U . (ls :*:) . extract++instance Covariant (->) (->) t => Substructure Up (Tape t <:.> Tape t) where+	type Available Up (Tape t <:.> Tape t) = Identity+	type Substance Up (Tape t <:.> Tape t) = t <:.> Tape t+	substructure = P_Q_T $ \x -> case run . run . extract . run # x of+		Identity focused :*: T_U (d :*: u) -> +			Store $ Identity (TU u) :*: lift . TU . twosome (Identity focused) . twosome d . run . extract++instance Covariant (->) (->) t => Substructure Down (Tape t <:.> Tape t) where+	type Available Down (Tape t <:.> Tape t) = Identity+	type Substance Down (Tape t <:.> Tape t) = t <:.> Tape t+	substructure = P_Q_T $ \ii -> case run . run . extract . run # ii of+		Identity focused :*: T_U (d :*: u) -> +			Store $ Identity (TU d) :*: lift . TU . twosome (Identity focused) . (twosome % u) . run . extract++instance (Covariant (->) (->) t, Semimonoidal (-->) (:*:) (:*:) t) => Substructure Left (Tape t <:.> Tape t) where+	type Available Left (Tape t <:.> Tape t) = Identity+	type Substance Left (Tape t <:.> Tape t) = Tape t <:.> t+	substructure = P_Q_T $ \ii ->+		let target = (extract . view (sub @Left) <-|-) ||= (lower ii) in+		let updated new = set (sub @Left) . Identity <-|- new <-*- run (lower ii) in+		Store $ Identity target :*: lift . (updated ||=) . extract++instance (Covariant (->) (->) t, Semimonoidal (-->) (:*:) (:*:) t) => Substructure Right (Tape t <:.> Tape t) where+	type Available Right (Tape t <:.> Tape t) = Identity+	type Substance Right (Tape t <:.> Tape t) = Tape t <:.> t+	substructure = P_Q_T $ \ii ->+		let target = (extract . view (sub @Right) <-|-) ||= lower ii in+		let updated new = set (sub @Right) . Identity <-|- new <-*- run (lower ii) in+		Store $ Identity target :*: lift . (updated ||=) . extract
Pandora/Paradigm/Structure/Modification/Comprehension.hs view
@@ -4,12 +4,11 @@ module Pandora.Paradigm.Structure.Modification.Comprehension where  import Pandora.Core.Functor (type (:=))-import Pandora.Core.Appliable ((!)) import Pandora.Pattern.Semigroupoid ((.)) import Pandora.Pattern.Category (($)) import Pandora.Pattern.Morphism.Straight (Straight (Straight))-import Pandora.Pattern.Functor.Covariant (Covariant ((<$>)))-import Pandora.Pattern.Functor.Contravariant ((>$<))+import Pandora.Pattern.Functor.Covariant (Covariant ((<-|-)))+import Pandora.Pattern.Functor.Contravariant ((>-|-)) import Pandora.Pattern.Functor.Semimonoidal (Semimonoidal (mult)) import Pandora.Pattern.Functor.Monoidal (Monoidal (unit)) import Pandora.Pattern.Functor.Traversable (Traversable ((<<-)))@@ -21,7 +20,7 @@ import Pandora.Pattern.Object.Setoid (Setoid ((==))) import Pandora.Paradigm.Primary.Functor.Identity (Identity (Identity)) import Pandora.Paradigm.Primary.Transformer.Construction (Construction (Construct))-import Pandora.Paradigm.Controlflow.Effect.Interpreted (Interpreted (Primary, run, unite))+import Pandora.Paradigm.Controlflow.Effect.Interpreted (Interpreted (Primary, run, unite, (!))) import Pandora.Paradigm.Schemes.TU (TU (TU), type (<:.>)) import Pandora.Paradigm.Schemes.T_U (T_U (T_U), type (<:.:>)) import Pandora.Paradigm.Structure.Ability.Morphable (Morphable (Morphing, morphing), Morph (Push), premorph)@@ -39,15 +38,15 @@ 	unite = Comprehension  instance Covariant (->) (->) (t <:.> Construction t) => Covariant (->) (->) (Comprehension t) where-	f <$> Comprehension x = Comprehension $ f <$> x+	f <-|- Comprehension x = Comprehension $ f <-|- x  instance Traversable (->) (->) (t <:.> Construction t) => Traversable (->) (->) (Comprehension t) where-	f <<- Comprehension x = Comprehension <$> f <<- x+	f <<- Comprehension x = Comprehension <-|- f <<- x  instance (Covariant (->) (->) t, Semimonoidal (-->) (:*:) right t, Semimonoidal (-->) (:*:) right (t <:.> Construction t)) => Semimonoidal (-->) (:*:) right (Comprehension t) where 	mult = Straight $ Comprehension . (mult @(-->) @(:*:) @right !) . (run @(->) <-> run @(->)) -instance (Covariant (->) (->) t, Monoidal (-->) (->) (:*:) (:+:) t) => Monoidal (-->) (->) (:*:) (:+:) (Comprehension t) where+instance (Covariant (->) (->) t, Semimonoidal (-->) (:*:) (:*:) t, Semimonoidal (-->) (:*:) (:*:) (Construction t), Semimonoidal (-->) (:*:) (:+:) t, Semimonoidal (-->) (:*:) (:+:) (Construction t), Monoidal (-->) (-->) (:*:) (:+:) t) => Monoidal (-->) (-->) (:*:) (:+:) (Comprehension t) where 	unit _ = Straight $ \_ -> Comprehension empty  instance (forall a . Semigroup (t <:.> Construction t := a), Bindable (->) t) => Bindable (->) (Comprehension t) where@@ -62,9 +61,9 @@ instance Monoid (t <:.> Construction t := a) => Monoid (Comprehension t a) where 	zero = Comprehension zero -instance (Covariant (->) (->) t, Monoidal (-->) (->) (:*:) (:*:) t)  => Morphable Push (Comprehension t) where+instance (Covariant (->) (->) t, Monoidal (-->) (-->) (:*:) (:*:) t) => Morphable Push (Comprehension t) where 	type Morphing Push (Comprehension t) = Identity <:.:> Comprehension t := (->) 	morphing (run . premorph -> xs) = T_U $ \(Identity x) -> Comprehension . lift . Construct x . run $ xs  instance Nullable (t <:.> Construction t) => Nullable (Comprehension t) where-	null = run @(->) >$< null+	null = run @(->) >-|- null
Pandora/Paradigm/Structure/Modification/Prefixed.hs view
@@ -5,7 +5,7 @@  import Pandora.Core.Functor (type (:.), type (:=)) import Pandora.Pattern.Semigroupoid ((.))-import Pandora.Pattern.Functor.Covariant (Covariant ((<$>)), (<$$>))+import Pandora.Pattern.Functor.Covariant (Covariant ((<-|-)), (<-|-|-)) import Pandora.Pattern.Functor.Traversable (Traversable ((<<-)), (-<<-<<-)) import Pandora.Paradigm.Primary.Algebraic (extract) import Pandora.Paradigm.Primary.Algebraic.Product ((:*:))@@ -22,13 +22,13 @@  -- TODO: Try to generalize (->) here instance Covariant (->) (->) t => Covariant (->) (->) (Prefixed t k) where-	(<$>) f = (||=) ((<$$>) @(->) @(->) f)+	(<-|-) f = (||=) (f <-|-|-)  instance Traversable (->) (->) t => Traversable (->) (->) (Prefixed t k) where-	f <<- Prefixed x = Prefixed <$> f -<<-<<- x+	f <<- Prefixed x = Prefixed <-|- f -<<-<<- x  instance Covariant (->) (->) t => Morphable (Into t) (Prefixed t k) where 	type Morphing (Into t) (Prefixed t k) = t-	morphing (run . premorph -> prefixed) = extract <$> prefixed+	morphing (run . premorph -> prefixed) = extract <-|- prefixed  type instance Nonempty (Prefixed t k) = Prefixed (Nonempty t) k
Pandora/Paradigm/Structure/Some/Binary.hs view
@@ -2,10 +2,10 @@  module Pandora.Paradigm.Structure.Some.Binary where -import Pandora.Core.Functor (type (:=), type (:=>), type (:::))+import Pandora.Core.Functor (type (~>), type (:=), type (:=>)) import Pandora.Pattern.Semigroupoid ((.)) import Pandora.Pattern.Category (($), (#))-import Pandora.Pattern.Functor.Covariant (Covariant ((<$>)))+import Pandora.Pattern.Functor.Covariant (Covariant ((<-|-))) import Pandora.Pattern.Functor.Traversable (Traversable ((<<-))) import Pandora.Pattern.Functor.Bindable ((=<<)) import Pandora.Pattern.Transformer.Liftable (lift)@@ -14,7 +14,7 @@ import Pandora.Paradigm.Primary () import Pandora.Paradigm.Primary.Algebraic.Product ((:*:) ((:*:)), type (:*:), attached, twosome) import Pandora.Paradigm.Primary.Algebraic.Exponential ((%), (&))-import Pandora.Paradigm.Primary.Algebraic (($$$>-), (<-*-), extract)+import Pandora.Paradigm.Primary.Algebraic (($$$>-), (<-*-), extract, point) import Pandora.Paradigm.Primary.Object.Boolean (Boolean (True, False)) import Pandora.Paradigm.Primary.Object.Ordering (order) import Pandora.Paradigm.Primary.Functor (Comparison)@@ -34,16 +34,16 @@ import Pandora.Paradigm.Structure.Ability.Morphable (Morphable (Morphing, morphing), morph, premorph 	, Morph (Rotate, Into, Insert, Lookup, Vary, Key, Element), Vertical (Up, Down), lookup, vary) import Pandora.Paradigm.Structure.Ability.Substructure (Substructure (Available, Substance, substructure), Segment (Root), sub)-import Pandora.Paradigm.Structure.Ability.Zipper (Zipper)+import Pandora.Paradigm.Structure.Ability.Zipper (Zippable (Breadcrumbs)) import Pandora.Paradigm.Structure.Modification.Prefixed (Prefixed (Prefixed))  type Binary = Maybe <:.> Construction Wye  instance {-# OVERLAPS #-} Traversable (->) (->) (Construction Wye) where-	f <<- (Construct x (Left l)) = Construct <$> f x <-*- (Left <$> f <<- l)-	f <<- (Construct x (Right r)) = Construct <$> f x <-*- (Right <$> f <<- r)-	f <<- (Construct x (Both l r)) = Construct <$> f x <-*- (Both <$> f <<- l <-*- f <<- r)-	f <<- (Construct x End) = Construct % End <$> f x+	f <<- (Construct x (Left l)) = Construct <-|- f x <-*- (Left <-|- f <<- l)+	f <<- (Construct x (Right r)) = Construct <-|- f x <-*- (Right <-|- f <<- r)+	f <<- (Construct x (Both l r)) = Construct <-|- f x <-*- (Both <-|- f <<- l <-*- f <<- r)+	f <<- (Construct x End) = Construct % End <-|- f x  --rebalance :: Chain a => (Wye :. Construction Wye := a) -> Nonempty Binary a --rebalance (Both x y) = extract x <=> extract y & order@@ -70,14 +70,14 @@ 	type Substance Left Binary = Construction Wye 	substructure = P_Q_T $ \bintree -> case run . lower # bintree of 		Nothing -> Store $ Nothing :*: lift . TU-		Just tree -> lift . lift @(->) <$> run (sub @Left) tree+		Just tree -> lift . lift @(->) <-|- run (sub @Left) tree  instance Substructure Right Binary where 	type Available Right Binary = Maybe 	type Substance Right Binary = Construction Wye 	substructure = P_Q_T $ \bintree -> case run . extract . run # bintree of 		Nothing -> Store $ Nothing :*: lift . TU-		Just tree -> lift . lift @(->) <$> run (sub @Right) tree+		Just tree -> lift . lift @(->) <-|- run (sub @Right) tree  -------------------------------------- Non-empty binary tree --------------------------------------- @@ -125,21 +125,23 @@  instance Chain k => Morphable (Lookup Key) (Prefixed Binary k) where 	type Morphing (Lookup Key) (Prefixed Binary k) = (->) k <:.> Maybe-	morphing (run . run . premorph -> Nothing) = TU $ \_ -> Nothing-	morphing (run . run . premorph -> Just tree) = TU $ \key ->-		let root = extract tree in key <=> attached root & order (Just # extract root)-			(lookup @Key key . Prefixed =<< view # sub @Left # tree)-			(lookup @Key key . Prefixed =<< view # sub @Right # tree)+	morphing prefixed_tree = case run . run . premorph $ prefixed_tree of+		Nothing -> TU $ \_ -> Nothing+		Just tree -> TU $ \key ->+			let root = extract tree in key <=> attached root & order (Just # extract root)+				(lookup @Key key . Prefixed =<< view # sub @Left # tree)+				(lookup @Key key . Prefixed =<< view # sub @Right # tree)  instance Chain k => Morphable (Vary Element) (Prefixed Binary k) where 	type Morphing (Vary Element) (Prefixed Binary k) = ((:*:) k <:.> Identity) <:.:> Prefixed Binary k := (->)-	morphing (run . run . premorph -> Nothing) = T_U $ \(TU (key :*: Identity value)) -> Prefixed . lift . leaf $ key :*: value-	morphing (run . run . premorph -> Just tree) = T_U $ \(TU (key :*: Identity value)) ->-		let continue = ((vary @Element @k @_ @(Prefixed Binary _) key value =||) =||)-		in let root = extract tree in Prefixed . lift $ key <=> attached root & order-			# over (sub @Root) ($$$>- value) tree-			# over (sub @Left) continue tree-			# over (sub @Right) continue tree+	morphing prefixed_tree = case run . run . premorph $ prefixed_tree of+		Nothing -> T_U $ \(TU (key :*: Identity value)) -> Prefixed . lift . leaf $ key :*: value+		Just tree -> T_U $ \(TU (key :*: Identity value)) ->+			let continue = ((vary @Element @k @_ @(Prefixed Binary _) key value =||) =||)+			in let root = extract tree in Prefixed . lift $ key <=> attached root & order+				# over (sub @Root) ($$$>- value) tree+				# over (sub @Left) continue tree+				# over (sub @Right) continue tree  ---------------------------------- Prefixed non-empty binary tree ---------------------------------- @@ -155,45 +157,67 @@ data Biforked a = Top | Leftward a | Rightward a  instance Covariant (->) (->) Biforked where-	_ <$> Top = Top-	f <$> Leftward l = Leftward $ f l-	f <$> Rightward r = Rightward $ f r+	_ <-|- Top = Top+	f <-|- Leftward l = Leftward $ f l+	f <-|- Rightward r = Rightward $ f r +instance Traversable (->) (->) Biforked where+	_ <<- Top = point Top+	f <<- Leftward l = Leftward <-|- f l+	f <<- Rightward r = Rightward <-|- f r+ type Bifurcation = Biforked <:.> Construction Biforked  type Bicursor = Identity <:.:> Binary := (:*:) -type instance Zipper (Construction Wye) (Up ::: Down Left ::: Down Right) =-	Construction Wye <:.:> Bifurcation <:.> Bicursor := (:*:)+instance Zippable (Construction Wye) where+	type Breadcrumbs (Construction Wye) = (Wye <:.> Construction Wye) <:.:> (Bifurcation <:.> Bicursor) := (:*:) -instance Morphable (Rotate Up) (Construction Wye <:.:> Bifurcation <:.> Bicursor := (:*:)) where-	type Morphing (Rotate Up) (Construction Wye <:.:> Bifurcation <:.> Bicursor := (:*:))-		= Maybe <:.> (Construction Wye <:.:> Bifurcation <:.> Bicursor := (:*:))-	morphing (run . premorph -> focused :*: TU (TU (Rightward (Construct (T_U (Identity parent :*: rest)) next)))) =-		lift $ twosome # Construct parent (resolve # Both focused # Left focused # run rest) # TU (TU next)-	morphing (run . premorph -> focused :*: TU (TU (Rightward (Construct (T_U (Identity parent :*: rest)) next)))) =-		lift $ twosome # Construct parent (resolve # Both % focused # Right focused # run rest) # TU (TU next)-	morphing (premorph -> T_U (_ :*: TU (TU Top))) = TU Nothing+_focused_part_to_nonempty_binary_tree :: (Identity <:.:> Wye <:.> Construction Wye := (:*:)) ~> Construction Wye+_focused_part_to_nonempty_binary_tree (T_U (Identity x :*: xs)) = Construct x # run xs -instance Morphable (Rotate (Down Left)) (Construction Wye <:.:> Bifurcation <:.> Bicursor := (:*:)) where-	type Morphing (Rotate (Down Left)) (Construction Wye <:.:> Bifurcation <:.> Bicursor := (:*:))-		= Maybe <:.> (Construction Wye <:.:> Bifurcation <:.> Bicursor := (:*:))-	morphing (run . premorph -> Construct x (Left lst) :*: TU (TU next)) =-		lift . twosome lst . TU . TU . Leftward $ Construct # twosome (Identity x) (TU Nothing) # next-	morphing (run . premorph -> Construct x (Both lst rst) :*: TU (TU next)) =-		lift . twosome lst . TU . TU . Leftward $ Construct # twosome (Identity x) (lift rst) # next-	morphing (run . premorph -> Construct _ (Right _) :*: _) = TU Nothing-	morphing (run . premorph -> Construct _ End :*: _) = TU Nothing+instance Morphable (Rotate Up) ((Identity <:.:> Wye <:.> Construction Wye := (:*:)) <:.:> (Bifurcation <:.> Bicursor) := (:*:)) where+	type Morphing (Rotate Up) ((Identity <:.:> Wye <:.> Construction Wye := (:*:)) <:.:> (Bifurcation <:.> Bicursor) := (:*:))+		= Maybe <:.> ((Identity <:.:> Wye <:.> Construction Wye := (:*:)) <:.:> Bifurcation <:.> Bicursor := (:*:))+	morphing zipper = case run # premorph zipper of+		focused :*: TU (TU (Rightward (Construct (T_U (Identity parent :*: rest)) next))) ->+			lift . twosome % TU (TU next) $ twosome # Identity parent $ TU $ resolve+				# Both (_focused_part_to_nonempty_binary_tree focused)+				# Left (_focused_part_to_nonempty_binary_tree focused)+				# run rest+		focused :*: TU (TU (Leftward (Construct (T_U (Identity parent :*: rest)) next))) ->+			lift . twosome % TU (TU next) $ twosome # Identity parent $ TU $ resolve+				# Both % _focused_part_to_nonempty_binary_tree focused+				# Right (_focused_part_to_nonempty_binary_tree focused)+				# run rest+		_ -> TU Nothing -instance Morphable (Rotate (Down Right)) (Construction Wye <:.:> Bifurcation <:.> Bicursor := (:*:)) where-	type Morphing (Rotate (Down Right)) (Construction Wye <:.:> Bifurcation <:.> Bicursor := (:*:))-		= Maybe <:.> (Construction Wye <:.:> Bifurcation <:.> Bicursor := (:*:))-	morphing (run . premorph -> Construct x (Right rst) :*: TU (TU next)) =-		lift . twosome rst . TU . TU . Rightward $ Construct # twosome (Identity x) (TU Nothing) # next-	morphing (run . premorph -> Construct x (Both lst rst) :*: TU (TU next)) =-		lift . twosome rst . TU . TU . Rightward $ Construct # twosome (Identity x) (lift lst) # next-	morphing (run . premorph -> Construct _ (Left _) :*: _) = TU Nothing-	morphing (run . premorph -> Construct _ End :*: _) = TU Nothing+_nonempty_binary_tree_to_focused_part :: Construction Wye ~> Identity <:.:> Wye <:.> Construction Wye := (:*:)+_nonempty_binary_tree_to_focused_part (Construct x xs) = twosome # Identity x # TU xs++instance Morphable (Rotate (Down Left)) ((Identity <:.:> Wye <:.> Construction Wye := (:*:)) <:.:> (Bifurcation <:.> Bicursor) := (:*:)) where+	type Morphing (Rotate (Down Left)) ((Identity <:.:> Wye <:.> Construction Wye := (:*:)) <:.:> (Bifurcation <:.> Bicursor) := (:*:))+		= Maybe <:.> ((Identity <:.:> Wye <:.> Construction Wye := (:*:)) <:.:> Bifurcation <:.> Bicursor := (:*:))+	morphing zipper = case run # premorph zipper of+		T_U (Identity x :*: TU (Left lst)) :*: TU (TU next) ->+			lift . twosome (_nonempty_binary_tree_to_focused_part lst)+				. TU . TU . Leftward $ Construct # twosome (Identity x) (TU Nothing) # next+		T_U (Identity x :*: TU (Both lst rst)) :*: TU (TU next) ->+			lift . twosome (_nonempty_binary_tree_to_focused_part lst)+				. TU . TU . Leftward $ Construct # twosome (Identity x) (lift rst) # next+		_ -> TU Nothing++instance Morphable (Rotate (Down Right)) ((Identity <:.:> Wye <:.> Construction Wye := (:*:)) <:.:> (Bifurcation <:.> Bicursor) := (:*:)) where+	type Morphing (Rotate (Down Right)) ((Identity <:.:> Wye <:.> Construction Wye := (:*:)) <:.:> (Bifurcation <:.> Bicursor) := (:*:))+		= Maybe <:.> ((Identity <:.:> Wye <:.> Construction Wye := (:*:)) <:.:> Bifurcation <:.> Bicursor := (:*:))+	morphing zipper = case run # premorph zipper of+		T_U (Identity x :*: TU (Right rst)) :*: TU (TU next) ->+			lift . twosome (_nonempty_binary_tree_to_focused_part rst)+				. TU . TU . Rightward $ Construct # twosome (Identity x) (TU Nothing) # next+		T_U (Identity x :*: TU (Both lst rst)) :*: TU (TU next) ->+			lift . twosome (_nonempty_binary_tree_to_focused_part rst)+				. TU . TU . Rightward $ Construct # twosome (Identity x) (lift lst) # next+		_ -> TU Nothing  leaf :: a :=> Nonempty Binary leaf x = Construct x End
Pandora/Paradigm/Structure/Some/List.hs view
@@ -2,11 +2,11 @@  module Pandora.Paradigm.Structure.Some.List where -import Pandora.Core.Functor (type (:.), type (:=), type (:::))+import Pandora.Core.Functor (type (:.), type (:=)) import Pandora.Core.Impliable (imply) import Pandora.Pattern.Semigroupoid ((.)) import Pandora.Pattern.Category (($), (#), identity)-import Pandora.Pattern.Functor.Covariant (Covariant, Covariant ((<$>)))+import Pandora.Pattern.Functor.Covariant (Covariant, Covariant ((<-|-))) import Pandora.Pattern.Functor.Traversable (Traversable ((<<-))) import Pandora.Pattern.Functor.Extendable (Extendable ((<<=))) import Pandora.Pattern.Functor.Bindable (Bindable ((=<<)))@@ -18,9 +18,7 @@ import Pandora.Pattern.Object.Semigroup (Semigroup ((+))) import Pandora.Pattern.Object.Monoid (Monoid (zero)) import Pandora.Paradigm.Primary.Object.Boolean (Boolean (True, False), (?))-import Pandora.Paradigm.Primary.Object.Numerator (Numerator (Numerator))-import Pandora.Paradigm.Primary.Object.Denumerator (Denumerator (Single))-import Pandora.Paradigm.Primary.Algebraic ((<-*-), (-.#..-), extract)+import Pandora.Paradigm.Primary.Algebraic ((<-*-), (-.#..-), extract, point, empty) import Pandora.Paradigm.Primary.Algebraic.Product ((:*:) ((:*:)), attached, twosome) import Pandora.Paradigm.Primary.Algebraic.Exponential ((%)) import Pandora.Paradigm.Primary.Functor.Maybe (Maybe (Just, Nothing))@@ -28,7 +26,6 @@ import Pandora.Paradigm.Primary.Functor.Predicate (Predicate (Predicate)) import Pandora.Paradigm.Primary.Functor.Wye (Wye (Left, Right)) import Pandora.Paradigm.Primary.Transformer.Construction (Construction (Construct), deconstruct, (.-+))-import Pandora.Paradigm.Primary.Transformer.Tap (Tap (Tap)) import Pandora.Paradigm.Primary.Transformer.Reverse (Reverse (Reverse)) import Pandora.Paradigm.Inventory.State (State, fold, modify) import Pandora.Paradigm.Inventory.Store (Store (Store))@@ -39,7 +36,7 @@ import Pandora.Paradigm.Schemes.P_Q_T (P_Q_T (P_Q_T)) import Pandora.Paradigm.Structure.Ability.Nonempty (Nonempty) import Pandora.Paradigm.Structure.Ability.Nullable (Nullable (null))-import Pandora.Paradigm.Structure.Ability.Zipper (Zipper)+import Pandora.Paradigm.Structure.Ability.Zipper (Zippable (Breadcrumbs), Zipper) import Pandora.Paradigm.Structure.Ability.Monotonic (resolve) import Pandora.Paradigm.Structure.Ability.Morphable (Morphable (Morphing, morphing) 	, Morph (Rotate, Into, Push, Pop, Delete, Find, Lookup, Element, Key)@@ -74,21 +71,24 @@  instance Morphable (Find Element) List where 	type Morphing (Find Element) List = Predicate <:.:> Maybe := (->)-	morphing (premorph -> TU Nothing) = T_U $ \_ -> Nothing-	morphing (premorph -> TU (Just (Construct x xs))) = T_U $ \p ->-		run p x ? Just x $ find @Element @List @Maybe # p # TU xs+	morphing list = case run # premorph list of+		Nothing -> T_U $ \_ -> Nothing+		Just (Construct x xs) -> T_U $ \p -> run p x ? Just x+			$ find @Element @List @Maybe # p # TU xs  instance Morphable (Delete First) List where 	type Morphing (Delete First) List = Predicate <:.:> List := (->)-	morphing (premorph -> TU Nothing) = T_U $ \_ -> TU Nothing-	morphing (premorph -> TU (Just (Construct x xs))) = T_U $ \p ->-		run p x ? TU xs $ lift . Construct x . run . filter @First @List p $ TU xs+	morphing list = case run # premorph list of+		Nothing -> T_U $ \_ -> TU Nothing+		Just (Construct x xs) -> T_U $ \p -> run p x ? TU xs+			$ lift . Construct x . run . filter @First @List p $ TU xs  instance Morphable (Delete All) List where 	type Morphing (Delete All) List = Predicate <:.:> List := (->)-	morphing (premorph -> TU Nothing) = T_U $ \_ -> TU Nothing-	morphing (premorph -> TU (Just (Construct x xs))) = T_U $ \p ->-		run p x ? filter @All @List p (TU xs) $ lift . Construct x . run . filter @All @List p $ TU xs+	morphing list = case run # premorph list of+		Nothing -> T_U $ \_ -> TU Nothing+		Just (Construct x xs) -> T_U $ \p -> run p x ? filter @All @List p (TU xs)+			$ lift . Construct x . run . filter @All @List p $ TU xs  instance Stack List where @@ -106,7 +106,7 @@ 	type Available Tail List = Identity 	type Substance Tail List = List 	substructure = P_Q_T $ \x -> case run . extract . run $ x of-		Just ns -> lift . lift @(->) <$> run (sub @Tail) ns+		Just ns -> lift . lift @(->) <-|- run (sub @Tail) ns 		Nothing -> Store $ Identity zero :*: lift . identity . extract  -- | Transform any traversable structure into a stack@@ -130,6 +130,13 @@ 	type Morphing (Into List) (Construction Maybe) = List 	morphing = lift . premorph +instance Morphable (Into List) (Construction Maybe <:.> Maybe) where+	type Morphing (Into List) (Construction Maybe <:.> Maybe) = List+	morphing nonempty_list_with_maybe_elements = case run . premorph # nonempty_list_with_maybe_elements of+		Construct (Just x) (Just xs) -> item @Push x # into @List (TU @Covariant @Covariant xs)+		Construct (Just x) Nothing -> point x+		Construct Nothing Nothing -> TU Nothing -- empty+ instance Morphable Push (Construction Maybe) where 	type Morphing Push (Construction Maybe) = Identity <:.:> Construction Maybe := (->) 	morphing (premorph -> xs) = T_U $ \(Identity x) -> Construct x $ Just xs@@ -152,97 +159,101 @@  ----------------------------------------- Zipper of list ------------------------------------------- -type instance Zipper List (Left ::: Right) = Tap (List <:.:> List := (:*:))+instance Zippable List where+	type Breadcrumbs List = (List <:.:> List := (:*:)) -instance {-# OVERLAPS #-} Traversable (->) (->) (Tap (List <:.:> List := (:*:))) where-	f <<- Tap x (T_U (future :*: past)) = (\past' x' future' -> Tap x' $ twosome # future' # run past')-		<$> f <<- Reverse past <-*- f x <-*- f <<- future+instance {-# OVERLAPS #-} Traversable (->) (->) (Identity <:.:> (List <:.:> List := (:*:)) := (:*:)) where+	f <<- T_U (Identity x :*: T_U (future :*: past)) = (\past' x' future' -> twosome (Identity x') $ twosome # future' # run past')+		<-|- f <<- Reverse past <-*- f x <-*- f <<- future -instance {-# OVERLAPS #-} Extendable (->) (Tap (List <:.:> List := (:*:))) where+instance {-# OVERLAPS #-} Extendable (->) (Identity <:.:> (List <:.:> List := (:*:)) := (:*:)) where 	f <<= z = let move rtt = TU . deconstruct $ run . rtt .-+ z in-		Tap # f z $ twosome # f <$> move (rotate @Left) # f <$> move (rotate @Right)+		twosome (Identity # f z) $ twosome # f <-|- move (rotate @Left) # f <-|- move (rotate @Right) -instance Morphable (Rotate Left) (Tap (List <:.:> List := (:*:))) where-	type Morphing (Rotate Left) (Tap (List <:.:> List := (:*:))) = Maybe <:.> Tap (List <:.:> List := (:*:))-	morphing (premorph -> Tap x (T_U (future :*: past))) =+instance Morphable (Rotate Left) (Identity <:.:> (List <:.:> List := (:*:)) := (:*:)) where+	type Morphing (Rotate Left) (Identity <:.:> (List <:.:> List := (:*:)) := (:*:)) = Maybe <:.> (Identity <:.:> (List <:.:> List := (:*:)) := (:*:))+	morphing (premorph -> T_U (Identity x :*: T_U (future :*: past))) = 		let subtree = twosome # extract (view (sub @Tail) future) # item @Push x past in-		TU $ (Tap . extract) % subtree <$> view (sub @Root) future+		TU $ (twosome . Identity . extract) % subtree <-|- view (sub @Root) future -instance Morphable (Rotate Right) (Tap (List <:.:> List := (:*:))) where-	type Morphing (Rotate Right) (Tap (List <:.:> List := (:*:))) = Maybe <:.> Tap (List <:.:> List := (:*:))-	morphing (premorph -> Tap x (T_U (future :*: past))) =+instance Morphable (Rotate Right) (Identity <:.:> (List <:.:> List := (:*:)) := (:*:)) where+	type Morphing (Rotate Right) (Identity <:.:> (List <:.:> List := (:*:)) := (:*:)) = Maybe <:.> (Identity <:.:> (List <:.:> List := (:*:)) := (:*:))+	morphing (premorph -> T_U (Identity x :*: T_U (future :*: past))) = 		let subtree = twosome # item @Push x future # extract (view (sub @Tail) past) in-		TU $ (Tap . extract) % subtree <$> view (sub @Root) past+		TU $ (twosome . Identity . extract) % subtree <-|- view (sub @Root) past -instance Morphable (Into (Tap (List <:.:> List := (:*:)))) List where-	type Morphing (Into (Tap (List <:.:> List := (:*:)))) List = Maybe <:.> Tap (List <:.:> List := (:*:))-	morphing (premorph -> list) = (into @(Zipper List (Left ::: Right)) <$>) ||= list+instance Morphable (Into (Identity <:.:> (List <:.:> List := (:*:)) := (:*:))) List where+	type Morphing (Into (Identity <:.:> (List <:.:> List := (:*:)) := (:*:))) List = Maybe <:.> (Identity <:.:> (List <:.:> List := (:*:)) := (:*:))+	morphing (premorph -> list) = (into @(Zipper List) <-|-) ||= list -instance Morphable (Into List) (Tap (List <:.:> List := (:*:))) where-	type Morphing (Into List) (Tap (List <:.:> List := (:*:))) = List-	morphing (premorph -> Tap x (T_U (future :*: past))) = attached $ run @(->) @(State _)+instance Morphable (Into List) (Identity <:.:> (List <:.:> List := (:*:)) := (:*:)) where+	type Morphing (Into List) (Identity <:.:> (List <:.:> List := (:*:)) := (:*:)) = List+	morphing (premorph -> T_U (Identity x :*: T_U (future :*: past))) = attached $ run @(->) @(State _) 		# modify . item @Push @List <<- past 		# item @Push x future -instance Morphable (Into (Comprehension Maybe)) (Tap (List <:.:> List := (:*:))) where-	type Morphing (Into (Comprehension Maybe)) (Tap (List <:.:> List := (:*:))) = Comprehension Maybe-	morphing (premorph -> Tap x (T_U (future :*: past))) = attached $ run @(->) @(State _)+instance Morphable (Into (Comprehension Maybe)) (Identity <:.:> (List <:.:> List := (:*:)) := (:*:)) where+	type Morphing (Into (Comprehension Maybe)) (Identity <:.:> (List <:.:> List := (:*:)) := (:*:)) = Comprehension Maybe+	morphing (premorph -> T_U (Identity x :*: T_U (future :*: past))) = attached $ run @(->) @(State _) 		# modify . item @Push @(Comprehension Maybe) <<- past 		# item @Push x (Comprehension future)  ------------------------------------- Zipper of non-empty list ------------------------------------- -type instance Zipper (Construction Maybe) (Left ::: Right) = Tap (Construction Maybe <:.:> Construction Maybe := (:*:))+instance Zippable (Construction Maybe) where+	type Breadcrumbs (Construction Maybe) = (Construction Maybe <:.:> Construction Maybe := (:*:)) -instance Morphable (Rotate Left) (Tap (Construction Maybe <:.:> Construction Maybe := (:*:))) where-	type Morphing (Rotate Left) (Tap (Construction Maybe <:.:> Construction Maybe := (:*:))) =-		Maybe <:.> Tap (Construction Maybe <:.:> Construction Maybe := (:*:))-	morphing (premorph -> Tap x (T_U (future :*: past))) = TU $ Tap (extract future) . twosome % item @Push x past <$> deconstruct future+instance Morphable (Rotate Left) (Identity <:.:> (Construction Maybe <:.:> Construction Maybe := (:*:)) := (:*:)) where+	type Morphing (Rotate Left) (Identity <:.:> (Construction Maybe <:.:> Construction Maybe := (:*:)) := (:*:)) =+		Maybe <:.> (Identity <:.:> (Construction Maybe <:.:> Construction Maybe := (:*:)) := (:*:))+	morphing (premorph -> T_U (Identity x :*: T_U (future :*: past))) = TU $ T_U . (Identity (extract future) :*:) . twosome % item @Push x past <-|- deconstruct future -instance Morphable (Rotate Right) (Tap (Construction Maybe <:.:> Construction Maybe := (:*:))) where-	type Morphing (Rotate Right) (Tap (Construction Maybe <:.:> Construction Maybe := (:*:))) =-		Maybe <:.> Tap (Construction Maybe <:.:> Construction Maybe := (:*:))-	morphing (premorph -> Tap x (T_U (future :*: past))) = TU $ Tap (extract past) . twosome (item @Push x future) <$> deconstruct past+instance Morphable (Rotate Right) (Identity <:.:> (Construction Maybe <:.:> Construction Maybe := (:*:)) := (:*:)) where+	type Morphing (Rotate Right) (Identity <:.:> (Construction Maybe <:.:> Construction Maybe := (:*:)) := (:*:)) =+		Maybe <:.> (Identity <:.:> (Construction Maybe <:.:> Construction Maybe := (:*:)) := (:*:))+	morphing (premorph -> T_U (Identity x :*: T_U (future :*: past))) = TU $ T_U . (Identity (extract past) :*:) . twosome (item @Push x future) <-|- deconstruct past -instance Morphable (Into (Tap (List <:.:> List := (:*:)))) (Construction Maybe) where-	type Morphing (Into (Tap (List <:.:> List := (:*:)))) (Construction Maybe) = Tap (List <:.:> List := (:*:))-	morphing (premorph -> ne) = Tap # extract ne $ twosome # extract (view # sub @Tail # ne) # zero+instance Morphable (Into (Identity <:.:> (List <:.:> List := (:*:)) := (:*:))) (Construction Maybe) where+	type Morphing (Into (Identity <:.:> (List <:.:> List := (:*:)) := (:*:))) (Construction Maybe) = Identity <:.:> (List <:.:> List := (:*:)) := (:*:)+	morphing (premorph -> ne) = twosome # Identity (extract ne) $ twosome # extract (view # sub @Tail # ne) # zero -instance Morphable (Into (Tap (List <:.:> List := (:*:)))) (Tap (Construction Maybe <:.:> Construction Maybe := (:*:))) where-	type Morphing (Into (Tap (List <:.:> List := (:*:)))) (Tap (Construction Maybe <:.:> Construction Maybe := (:*:))) = Tap (List <:.:> List := (:*:))-	morphing (premorph -> zipper) = Tap # extract zipper $ lift @(->) <-> lift @(->) ||= lower zipper+instance Morphable (Into (Identity <:.:> (List <:.:> List := (:*:)) := (:*:))) (Identity <:.:> (Construction Maybe <:.:> Construction Maybe := (:*:)) := (:*:)) where+	type Morphing (Into (Identity <:.:> (List <:.:> List := (:*:)) := (:*:))) (Identity <:.:> (Construction Maybe <:.:> Construction Maybe := (:*:)) := (:*:)) =+		Identity <:.:> (List <:.:> List := (:*:)) := (:*:)+	morphing (premorph -> zipper) = ((lift @(->) <-> lift @(->) ||=) <-|-) ||= zipper -instance Morphable (Into (Tap (Construction Maybe <:.:> Construction Maybe := (:*:)))) (Tap (List <:.:> List := (:*:))) where-	type Morphing (Into (Tap (Construction Maybe <:.:> Construction Maybe := (:*:)))) (Tap (List <:.:> List := (:*:))) =-		Maybe <:.> Tap (Construction Maybe <:.:> Construction Maybe := (:*:))-	morphing (premorph -> zipper) = let spread x y = (:*:) <$> x <-*- y in TU $-		Tap (extract zipper) . T_U <$> ((spread |-) . (run @(->) <-> run @(->)) . run $ lower zipper)+instance Morphable (Into (Identity <:.:> (Construction Maybe <:.:> Construction Maybe := (:*:)) := (:*:))) (Identity <:.:> (List <:.:> List := (:*:)) := (:*:)) where+	type Morphing (Into (Identity <:.:> (Construction Maybe <:.:> Construction Maybe := (:*:)) := (:*:))) (Identity <:.:> (List <:.:> List := (:*:)) := (:*:)) =+		Maybe <:.> (Identity <:.:> (Construction Maybe <:.:> Construction Maybe := (:*:)) := (:*:))+	morphing (premorph -> zipper) = let spread x y = (:*:) <-|- x <-*- y in+		TU $ T_U . (Identity (extract zipper) :*:) . T_U <-|- ((spread |-) . (run @(->) <-> run @(->)) . run . extract $ run zipper) -instance Morphable (Into (Construction Maybe)) (Tap (Construction Maybe <:.:> Construction Maybe := (:*:))) where-	type Morphing (Into (Construction Maybe)) (Tap (Construction Maybe <:.:> Construction Maybe := (:*:))) = Construction Maybe-	morphing (premorph -> Tap x (T_U (future :*: past))) = attached $ run @(->) @(State _)+instance Morphable (Into (Construction Maybe)) (Identity <:.:> (Construction Maybe <:.:> Construction Maybe := (:*:)) := (:*:)) where+	type Morphing (Into (Construction Maybe)) (Identity <:.:> (Construction Maybe <:.:> Construction Maybe := (:*:)) := (:*:)) = Construction Maybe+	morphing (premorph -> T_U (Identity x :*: T_U (future :*: past))) = attached $ run @(->) @(State _) 		# modify . item @Push @(Nonempty List) <<- past 		# item @Push x future -instance Morphable (Into List) (Tap (Construction Maybe <:.:> Construction Maybe := (:*:))) where-	type Morphing (Into List) (Tap (Construction Maybe <:.:> Construction Maybe := (:*:))) = List-	morphing (premorph -> Tap x (T_U (future :*: past))) = attached $ run @(->) @(State _)+instance Morphable (Into List) (Identity <:.:> (Construction Maybe <:.:> Construction Maybe := (:*:)) := (:*:)) where+	type Morphing (Into List) (Identity <:.:> (Construction Maybe <:.:> Construction Maybe := (:*:)) := (:*:)) = List+	morphing (premorph -> T_U (Identity x :*: T_U (future :*: past))) = attached $ run @(->) @(State _) 		# modify . item @Push @List <<- past 		# item @Push x (lift future)  ------------------------------------ Zipper of combinative list ------------------------------------ -type instance Zipper (Comprehension Maybe) (Left ::: Right) = Tap (Comprehension Maybe <:.:> Comprehension Maybe := (:*:))+instance Zippable (Comprehension Maybe) where+	type Breadcrumbs (Comprehension Maybe) = (Comprehension Maybe <:.:> Comprehension Maybe := (:*:))  ----------------------------------------- Prefixed list --------------------------------------------  instance Setoid key => Morphable (Lookup Key) (Prefixed List key) where 	type Morphing (Lookup Key) (Prefixed List key) = (->) key <:.> Maybe-	morphing (run . premorph -> list) = TU $ \key -> lookup @Key key =<< Prefixed <$> run list +	morphing (run . premorph -> list) = TU $ \key -> lookup @Key key =<< Prefixed <-|- run list  ------------------------------------ Prefixed non-empty list ---------------------------------------  instance Setoid key => Morphable (Lookup Key) (Prefixed (Construction Maybe) key) where 	type Morphing (Lookup Key) (Prefixed (Construction Maybe) key) = (->) key <:.> Maybe-	morphing (run . premorph -> Construct x xs) = TU $ \key -> extract <$> search key where+	morphing (run . premorph -> Construct x xs) = TU $ \key -> extract <-|- search key where 		search key = key == attached x ? Just x $ find @Element # Predicate ((key ==) . attached) =<< xs
Pandora/Paradigm/Structure/Some/Rose.hs view
@@ -5,7 +5,7 @@ import Pandora.Core.Functor (type (:.), type (:=)) import Pandora.Pattern.Semigroupoid ((.)) import Pandora.Pattern.Category (($), (#))-import Pandora.Pattern.Functor.Contravariant ((>$<))+import Pandora.Pattern.Functor.Contravariant ((>-|-)) import Pandora.Pattern.Functor.Bindable (Bindable ((=<<))) import Pandora.Pattern.Transformer.Liftable (lift) import Pandora.Pattern.Transformer.Lowerable (lower)@@ -39,7 +39,7 @@ --	type Available Root Rose = Maybe --	type Substance Root Rose = Identity --	substructure = P_Q_T $ \rose -> case run # lower rose of---		Nothing -> Store $ Nothing :*: TU . Tag . TU . ((Construct % empty) . extract <$>)+--		Nothing -> Store $ Nothing :*: TU . Tag . TU . ((Construct % empty) . extract <-|-) --		Just nonempty_rose -> Store $ Just (Identity # extract nonempty_rose) :*: \case --			Just (Identity new) -> lift . TU . Just . Construct new $ deconstruct nonempty_rose --			Nothing -> lift empty@@ -70,8 +70,9 @@  instance Setoid k => Morphable (Lookup Key) (Prefixed Rose k) where 	type Morphing (Lookup Key) (Prefixed Rose k) = (->) (Nonempty List k) <:.> Maybe-	morphing (run . premorph -> TU Nothing) = TU $ \_ -> Nothing-	morphing (run . premorph -> TU (Just tree)) = TU $ find_rose_sub_tree % tree+	morphing prefixed_rose_tree = case run # premorph prefixed_rose_tree of+		TU Nothing -> TU $ \_ -> Nothing+		TU (Just tree) -> TU $ find_rose_sub_tree % tree  -- TODO: Ineffiecient - we iterate over all branches in subtree, but we need to short-circuit on the first matching part of --instance Setoid k => Morphable (Vary Element) (Prefixed Rose k) where@@ -102,4 +103,4 @@ find_rose_sub_tree (Construct k (Just ks)) tree = k != attached (extract tree) ? Nothing $ find_rose_sub_tree ks =<< subtree where  	subtree :: Maybe :. Nonempty Rose := k :*: a-	subtree = find @Element # attached . extract >$< equate (extract ks) # deconstruct tree+	subtree = find @Element # attached . extract >-|- equate (extract ks) # deconstruct tree
Pandora/Paradigm/Structure/Some/Splay.hs view
@@ -6,7 +6,7 @@ import Pandora.Core.Functor (type (~>), type (:.), type (:=)) import Pandora.Pattern.Semigroupoid ((.)) import Pandora.Pattern.Category (($), (#))-import Pandora.Pattern.Functor.Covariant (Covariant ((<$>)))+import Pandora.Pattern.Functor.Covariant (Covariant ((<-|-))) import Pandora.Pattern.Functor.Bindable (Bindable ((=<<))) import Pandora.Paradigm.Primary () import Pandora.Paradigm.Primary.Algebraic ((<-*-), extract)@@ -54,27 +54,27 @@ instance Morphable (Rotate (Left Zig)) (Construction Wye) where 	type Morphing (Rotate (Left Zig)) (Construction Wye) = Binary 	morphing :: forall a . (:#) (Rotate (Left Zig)) <:.> Construction Wye := a -> Binary a-	morphing (premorph -> Construct x xs) = TU $ Construct <$> parent <-*- Just nodes where+	morphing (premorph -> Construct x xs) = TU $ Construct <-|- parent <-*- Just nodes where  		nodes :: Wye :. Nonempty Binary := a 		nodes = into @Wye . twosome (branch @Left xs) . Just . Construct x-			. into @Wye $ twosome (branch @Left =<< deconstruct <$> branch @Right xs)-				(branch @Right =<< deconstruct <$> branch @Right xs)+			. into @Wye $ twosome (branch @Left =<< deconstruct <-|- branch @Right xs)+				(branch @Right =<< deconstruct <-|- branch @Right xs)  		parent :: Maybe a-		parent = extract <$> branch @Right xs+		parent = extract <-|- branch @Right xs  instance Morphable (Rotate (Right Zig)) (Construction Wye) where 	type Morphing (Rotate (Right Zig)) (Construction Wye) = Binary 	morphing :: forall a . (:#) (Rotate (Right Zig)) <:.> Construction Wye := a -> Binary a-	morphing (premorph -> Construct x xs) = TU $ Construct <$> parent <-*- Just nodes where+	morphing (premorph -> Construct x xs) = TU $ Construct <-|- parent <-*- Just nodes where  		nodes :: Wye :. Nonempty Binary := a-		nodes = into @Wye . twosome (branch @Left =<< deconstruct <$> branch @Left xs) . Just . Construct x-			. into @Wye $ twosome (branch @Right =<< deconstruct <$> branch @Left xs) # branch @Right xs+		nodes = into @Wye . twosome (branch @Left =<< deconstruct <-|- branch @Left xs) . Just . Construct x+			. into @Wye $ twosome (branch @Right =<< deconstruct <-|- branch @Left xs) # branch @Right xs  		parent :: Maybe a-		parent = extract <$> branch @Left xs+		parent = extract <-|- branch @Left xs  -- TODO: Morphing ... = Conclussion Error <:.> Nonempty Binary instance Morphable (Rotate (Left (Zig Zig))) (Construction Wye) where
Pandora/Paradigm/Structure/Some/Stream.hs view
@@ -2,39 +2,41 @@  module Pandora.Paradigm.Structure.Some.Stream where -import Pandora.Core.Functor (type (:=), type (:=>), type (:::))+import Pandora.Core.Functor (type (:=), type (:=>)) import Pandora.Pattern.Semigroupoid ((.)) import Pandora.Pattern.Category (($), (#))-import Pandora.Pattern.Functor.Covariant (Covariant ((<$>)))+import Pandora.Pattern.Functor.Covariant (Covariant ((<-|-))) import Pandora.Pattern.Functor.Extendable (Extendable ((<<=))) import Pandora.Paradigm.Primary.Algebraic.Product ((:*:) ((:*:)), twosome) import Pandora.Paradigm.Primary.Algebraic (extract) import Pandora.Paradigm.Primary.Functor.Identity (Identity (Identity)) import Pandora.Paradigm.Primary.Functor.Wye (Wye (Left, Right)) import Pandora.Paradigm.Primary.Transformer.Construction (Construction (Construct), deconstruct, (.-+))-import Pandora.Paradigm.Primary.Transformer.Tap (Tap (Tap)) import Pandora.Paradigm.Structure.Ability.Morphable (Morphable (Morphing, morphing), Morph (Rotate), premorph, rotate)-import Pandora.Paradigm.Structure.Ability.Zipper (Zipper)+import Pandora.Paradigm.Structure.Ability.Zipper (Zippable (Breadcrumbs)) import Pandora.Paradigm.Schemes.T_U (T_U (T_U), type (<:.:>)) import Pandora.Paradigm.Primary.Algebraic (point)+import Pandora.Paradigm.Controlflow.Effect.Interpreted (run)  type Stream = Construction Identity -type instance Zipper (Construction Identity) (Left ::: Right) = Tap (Stream <:.:> Stream := (:*:))+instance Zippable (Construction Identity) where+	type Breadcrumbs (Construction Identity) = Stream <:.:> Stream := (:*:) -instance Morphable (Rotate Left) (Tap (Stream <:.:> Stream := (:*:))) where-	type Morphing (Rotate Left) (Tap (Stream <:.:> Stream := (:*:))) = Tap (Stream <:.:> Stream := (:*:))-	morphing (premorph -> Tap x (T_U (bs :*: fs))) = Tap # extract bs+instance Morphable (Rotate Left) (Identity <:.:> (Stream <:.:> Stream := (:*:)) := (:*:)) where+	type Morphing (Rotate Left) (Identity <:.:> (Stream <:.:> Stream := (:*:)) := (:*:)) =+		Identity <:.:> (Stream <:.:> Stream := (:*:)) := (:*:)+	morphing (run . premorph -> Identity x :*: T_U (bs :*: fs)) = twosome # Identity (extract bs) 		$ twosome # extract (deconstruct bs) # Construct x (point fs) -instance Morphable (Rotate Right) (Tap (Stream <:.:> Stream := (:*:))) where-	type Morphing (Rotate Right) (Tap (Stream <:.:> Stream := (:*:))) = Tap (Stream <:.:> Stream := (:*:))-	morphing (premorph -> Tap x (T_U (bs :*: fs))) = Tap # extract fs+instance Morphable (Rotate Right) (Identity <:.:> (Stream <:.:> Stream := (:*:)) := (:*:)) where+	type Morphing (Rotate Right) (Identity <:.:> (Stream <:.:> Stream := (:*:)) := (:*:)) = Identity <:.:> (Stream <:.:> Stream := (:*:)) := (:*:)+	morphing (run . premorph -> Identity x :*: T_U (bs :*: fs)) = twosome # Identity (extract fs) 		$ twosome # Construct x (point bs) # extract (deconstruct fs) -instance {-# OVERLAPS #-} Extendable (->) (Tap (Stream <:.:> Stream := (:*:))) where+instance {-# OVERLAPS #-} Extendable (->) (Identity <:.:> (Stream <:.:> Stream := (:*:)) := (:*:)) where 	f <<= z = let move rtt = extract . deconstruct $ point . rtt .-+ z-		in f <$> Tap z (twosome # (move $ rotate @Left) # (move $ rotate @Right))+		in f <-|- T_U (Identity z :*: twosome # move (rotate @Left) # move (rotate @Right))  repeat :: a :=> Stream repeat x = Construct x . Identity $ repeat x
Pandora/Pattern.hs view
@@ -1,5 +1,6 @@ module Pandora.Pattern (module Exports) where +import Pandora.Pattern.Betwixt as Exports import Pandora.Pattern.Object as Exports import Pandora.Pattern.Transformer as Exports import Pandora.Pattern.Functor as Exports
+ Pandora/Pattern/Betwixt.hs view
@@ -0,0 +1,3 @@+module Pandora.Pattern.Betwixt (Betwixt) where++type family Betwixt (source :: * -> * -> *) (target :: * -> * -> *) = (betwixt :: * -> * -> *) | betwixt -> source target
Pandora/Pattern/Functor/Bindable.hs view
@@ -6,7 +6,7 @@  {- | > When providing a new instance, you should ensure it satisfies :-> * Interchange: t >>= f = join (f <$> t)+> * Interchange: t >>= f = join (f <-|- t) -}  class Covariant source source t => Bindable source t where
Pandora/Pattern/Functor/Comonad.hs view
@@ -1,5 +1,6 @@ module Pandora.Pattern.Functor.Comonad where +import Pandora.Pattern.Morphism.Straight (Straight (Straight)) import Pandora.Pattern.Functor.Monoidal (Monoidal) import Pandora.Pattern.Functor.Extendable (Extendable) import Pandora.Paradigm.Primary.Algebraic.Exponential (type (<--))@@ -15,4 +16,4 @@ > * Associativity: extend f . extend g ≡ extend (f . extend g) -} -class (Monoidal (<--) source (:*:) (:*:) t, Extendable source t) => Comonad source t+class (Monoidal (<--) (Straight source) (:*:) (:*:) t, Extendable source t) => Comonad source t
Pandora/Pattern/Functor/Contravariant.hs view
@@ -2,13 +2,16 @@  import Pandora.Pattern.Category (Category) -infixl 4 >$<+infixl 4 >-|-, >$<  {- | > When providing a new instance, you should ensure it satisfies:-> * Identity morphism: (identity >$<) ≡ identity-> * Interpreted of morphisms: (f >$<) . (g >$<) ≡ (g . f >$<)+> * Identity morphism: (identity >-|-) ≡ identity+> * Interpreted of morphisms: (f >-|-) . (g >-|-) ≡ (g . f >-|-) -}  class (Category source, Category target) => Contravariant source target t where-	(>$<) :: source a b -> target (t b) (t a)+	(>-|-) :: source a b -> target (t b) (t a)++(>$<) :: Contravariant source target t => source a b -> target (t b) (t a)+(>$<) = (>-|-)
Pandora/Pattern/Functor/Covariant.hs view
@@ -2,32 +2,39 @@  module Pandora.Pattern.Functor.Covariant where +import Pandora.Pattern.Betwixt (Betwixt) import Pandora.Pattern.Semigroupoid (Semigroupoid) -infixl 4 <$>-infixl 3 <$$>-infixl 4 <$$$>+infixl 4 <-|-, <$>+infixl 3 <-|-|-, <$$>+infixl 4 <-|-|-|-, <$$$>  {- | > When providing a new instance, you should ensure it satisfies:-> * Identity morphism: (identity <$>) ≡ identity-> * Interpreted of morphisms: (f . g <$>) ≡ (f <$>) . (g <$>)+> * Identity morphism: (identity <-|-) ≡ identity+> * Interpreted of morphisms: (f . g <-|-) ≡ (f <-|-) . (g <-|-) -}  class (Semigroupoid source, Semigroupoid target) => Covariant source target t where-	(<$>) :: source a b -> target (t a) (t b)+	(<-|-) :: source a b -> target (t a) (t b) -(<$$>) :: forall source between target t u a b-	. (Covariant source between u, Covariant between target t)+(<-|-|-) :: forall source target t u a b+	. (Covariant source (Betwixt source target) u, Covariant (Betwixt source target) target t) 	=> source a b -> target (t (u a)) (t (u b))-(<$$>) s = ((<$>) ((<$>) @source @between @u s))+(<-|-|-) s = ((<-|-) ((<-|-) @source @(Betwixt source target) @u s)) -(<$$$>) :: forall source between1 between2 target t u v a b-	. (Covariant source between1 v, Covariant between1 between2 u, Covariant between2 target t)+(<-|-|-|-) :: forall source target t u v a b+	. (Covariant source (Betwixt source (Betwixt source target)) v, Covariant (Betwixt source (Betwixt source target)) (Betwixt (Betwixt source target) target) u, Covariant (Betwixt (Betwixt source target) target) target t) 	=> source a b -> target (t (u (v a))) (t (u (v b)))-(<$$$>) s = ((<$>) @between2 @target ((<$>) @between1 @between2 @u ((<$>) @source @between1 @v s)))+(<-|-|-|-) s = ((<-|-) @(Betwixt (Betwixt source target) target) @target ((<-|-) @(Betwixt source (Betwixt source target)) @(Betwixt (Betwixt source target) target) @u ((<-|-) @source @(Betwixt source (Betwixt source target)) @v s))) -(<$$$$>) :: forall source between1 between2 between3 target t u v w a b-	. (Covariant source between1 w, Covariant between1 between2 v, Covariant between2 between3 u, Covariant between3 target t)-	=> source a b -> target (t (u (v (w a)))) (t (u (v (w b))))-(<$$$$>) s = ((<$>) @between3 @target @t ((<$>) @between2 @between3 @u ((<$>) @between1 @between2 @v ((<$>) @source @between1 @w s))))+(<$>) :: Covariant source target t => source a b -> target (t a) (t b)+(<$>) = (<-|-)++(<$$>) :: (Covariant source (Betwixt source target) u, Covariant (Betwixt source target) target t) => source a b -> target (t (u a)) (t (u b))+(<$$>) = (<-|-|-)++(<$$$>) :: forall source target t u v a b+	. (Covariant source (Betwixt source (Betwixt source target)) v, Covariant (Betwixt source (Betwixt source target)) (Betwixt (Betwixt source target) target) u, Covariant (Betwixt (Betwixt source target) target) target t)+	=> source a b -> target (t (u (v a))) (t (u (v b)))+(<$$$>) s = (<-|-|-|-) s
Pandora/Pattern/Functor/Distributive.hs view
@@ -7,7 +7,7 @@  > When providing a new instance, you should ensure it satisfies: > * Identity morphism: (identity -<<) . (identity -<<) ≡ identity-> * Interchange collection: (f -<<) ≡ (identity -<<) . (f <$>)+> * Interchange collection: (f -<<) ≡ (identity -<<) . (f <-|-) -}  infixl 5 -<<
Pandora/Pattern/Functor/Extendable.hs view
@@ -6,8 +6,8 @@  {- | > When providing a new instance, you should ensure it satisfies:-> * Duplication interchange: (f -<$$>-) . (identity <<=) ≡ (identity <<=) . (f <$>)-> * Extension interchange: (f <<=) ≡ (f <$>) . (identity <<=)+> * Duplication interchange: (f -<-|-|--) . (identity <<=) ≡ (identity <<=) . (f <-|-)+> * Extension interchange: (f <<=) ≡ (f <-|-) . (identity <<=) -}  class Covariant source source t => Extendable source t where
Pandora/Pattern/Functor/Monad.hs view
@@ -20,7 +20,7 @@ --infixl 1 >>=-, ->>= --infixr 1 -=<<, =<<- -class (Covariant category category t, Monoidal (Straight category) category (:*:) (:*:) t, Bindable category t) => Monad category t where+class (Covariant category category t, Monoidal (Straight category) (Straight category) (:*:) (:*:) t, Bindable category t) => Monad category t where 	--(>>=-) :: t a -> t b -> t a 	--(>>=-) x y = x >>= \r -> y >>= \_ -> point r 	--(->>=) :: t a -> t b -> t b
Pandora/Pattern/Functor/Traversable.hs view
@@ -11,7 +11,7 @@  > When providing a new instance, you should ensure it satisfies: > * Numeratority of traversing: g . (f <<--) ≡ (g . f <<--)-> * Numeratority of sequencing: f . (identity <<--)= (identity <<--) . (f <$>)+> * Numeratority of sequencing: f . (identity <<--)= (identity <<--) . (f <-|-) > * Preserving point: p (point x) ≡ point x > * Preserving apply: f (x <-*- y) ≡ f x <-*- f y -}@@ -19,9 +19,9 @@ infixl 5 <<-, -<<-<<-  class Covariant source target t => Traversable source target t where-	(<<-) :: (Covariant source target u, Monoidal (Straight source) target (:*:) (:*:) u) => source a (u b) -> target (t a) (u (t b))+	(<<-) :: (Covariant source target u, Monoidal (Straight source) (Straight target) (:*:) (:*:) u) => source a (u b) -> target (t a) (u (t b))  (-<<-<<-) :: forall t u v category a b .-	(Traversable category category t, Covariant category category u, Monoidal (Straight category) category (:*:) (:*:) u, Traversable category category v)+	(Traversable category category t, Covariant category category u, Monoidal (Straight category) (Straight category) (:*:) (:*:) u, Traversable category category v) 	=> category a (u b) -> category (v (t a)) (u (v (t b))) (-<<-<<-) f = ((<<-) ((<<-) @category @category @t f))
Pandora/Pattern/Morphism/Flip.hs view
@@ -2,9 +2,8 @@  import Pandora.Pattern.Semigroupoid (Semigroupoid ((.))) import Pandora.Pattern.Category (Category (identity))-import Pandora.Pattern.Functor.Covariant (Covariant ((<$>)))-import Pandora.Pattern.Functor.Contravariant (Contravariant ((>$<)))-import Pandora.Core.Appliable (Appliable ((!)))+import Pandora.Pattern.Functor.Covariant (Covariant ((<-|-)))+import Pandora.Pattern.Functor.Contravariant (Contravariant ((>-|-)))  newtype Flip (v :: * -> * -> *) a e = Flip (v e a) @@ -15,13 +14,10 @@ 	identity = Flip identity  instance (Category m, Covariant m m t) => Contravariant (Flip m) m t where-	(>$<) (Flip f) = (<$>) f+	(>-|-) (Flip f) = (<-|-) f  instance (Category m, Covariant m m t) => Contravariant m (Flip m) t where-	(>$<) f = Flip ((<$>) f)+	(>-|-) f = Flip ((<-|-) f)  instance (Category m, Covariant m m t) => Covariant  (Flip m) (Flip m) t where-	(<$>) (Flip f) = Flip ((<$>) f)--instance Appliable (Flip m) b c m c b where-	(!) (Flip m) = m+	(<-|-) (Flip f) = Flip ((<-|-) f)
Pandora/Pattern/Morphism/Straight.hs view
@@ -2,8 +2,7 @@  import Pandora.Pattern.Semigroupoid (Semigroupoid ((.))) import Pandora.Pattern.Category (Category (identity))-import Pandora.Pattern.Functor.Covariant (Covariant ((<$>)))-import Pandora.Core.Appliable (Appliable ((!)))+import Pandora.Pattern.Functor.Covariant (Covariant ((<-|-)))  newtype Straight (v :: * -> * -> *) a e = Straight (v a e) @@ -14,13 +13,10 @@ 	identity = Straight identity  instance Covariant m m t => Covariant (Straight m) m t where-	(<$>) (Straight f) = (<$>) f+	(<-|-) (Straight f) = (<-|-) f  instance Covariant m m t => Covariant m (Straight m) t where-	(<$>) f = Straight ((<$>) f)+	(<-|-) f = Straight ((<-|-) f)  instance Covariant m m t => Covariant (Straight m) (Straight m) t where-	(<$>) (Straight f) = Straight ((<$>) f)--instance Appliable (Straight m) c b m c b where-	(!) (Straight m) = m+	(<-|-) (Straight f) = Straight ((<-|-) f)
Pandora/Pattern/Transformer/Hoistable.hs view
@@ -1,6 +1,5 @@ module Pandora.Pattern.Transformer.Hoistable (Hoistable (..)) where -import Pandora.Core.Functor (type (~>)) import Pandora.Pattern.Functor.Covariant (Covariant)  {- |@@ -11,6 +10,6 @@  infixr 5 /|\ -class Hoistable t where+class Hoistable m t where 	{-# MINIMAL (/|\) #-}-	(/|\) :: (Covariant (->) (->) u) => u ~> v -> t u ~> t v+	(/|\) :: Covariant m m u => (forall a . m (u a) (v a)) -> (forall a . m (t u a) (t v a))
pandora.cabal view
@@ -1,5 +1,5 @@ name:                pandora-version:             0.4.7+version:             0.4.8 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@@ -23,7 +23,6 @@     Pandora.Core     Pandora.Core.Functor     Pandora.Core.Impliable-    Pandora.Core.Appliable      Pandora.Paradigm     -- Basic constructions@@ -108,6 +107,7 @@     Pandora.Paradigm.Structure.Ability     Pandora.Paradigm.Structure.Ability.Morphable     Pandora.Paradigm.Structure.Ability.Accessible+    Pandora.Paradigm.Structure.Ability.Possible     Pandora.Paradigm.Structure.Ability.Substructure     Pandora.Paradigm.Structure.Ability.Nonempty     Pandora.Paradigm.Structure.Ability.Nullable@@ -133,6 +133,7 @@     Pandora.Paradigm.Primary.Linear.Matrix      Pandora.Pattern+    Pandora.Pattern.Betwixt 	-- Algebra typeclasses     Pandora.Pattern.Semigroupoid     Pandora.Pattern.Category