pandora 0.4.4 → 0.4.5
raw patch · 92 files changed
+772/−1241 lines, 92 filesPVP: major bump suggested
API removals or changes: PVP suggests a major version bump
API changes (from Hackage documentation)
- Pandora.Paradigm.Controlflow.Effect.Adaptable: instance (Pandora.Pattern.Functor.Covariant.Covariant f, 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.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 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 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 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 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 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.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 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 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 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.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 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 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.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 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 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.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 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.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_ 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.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 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 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 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.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 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 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.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 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.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_ 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 z, 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.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_ 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.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.Transformer.Comonadic: instance Pandora.Pattern.Functor.Alternative.Alternative (Pandora.Paradigm.Controlflow.Effect.Interpreted.Schematic Pandora.Pattern.Functor.Comonad.Comonad t u) => Pandora.Pattern.Functor.Alternative.Alternative (t Pandora.Paradigm.Controlflow.Effect.Transformer.Comonadic.:< u)
- Pandora.Paradigm.Controlflow.Effect.Transformer.Comonadic: instance Pandora.Pattern.Functor.Applicative.Applicative (Pandora.Paradigm.Controlflow.Effect.Interpreted.Schematic Pandora.Pattern.Functor.Comonad.Comonad t u) => Pandora.Pattern.Functor.Applicative.Applicative (t Pandora.Paradigm.Controlflow.Effect.Transformer.Comonadic.:< u)
- Pandora.Paradigm.Controlflow.Effect.Transformer.Comonadic: instance Pandora.Pattern.Functor.Covariant.Covariant (Pandora.Paradigm.Controlflow.Effect.Interpreted.Schematic Pandora.Pattern.Functor.Comonad.Comonad t u) => Pandora.Pattern.Functor.Covariant.Covariant (t Pandora.Paradigm.Controlflow.Effect.Transformer.Comonadic.:< u)
- Pandora.Paradigm.Controlflow.Effect.Transformer.Comonadic: instance Pandora.Pattern.Functor.Covariant.Covariant_ (Pandora.Paradigm.Controlflow.Effect.Interpreted.Schematic Pandora.Pattern.Functor.Comonad.Comonad t u) (->) (->) => Pandora.Pattern.Functor.Covariant.Covariant_ (t Pandora.Paradigm.Controlflow.Effect.Transformer.Comonadic.:< u) (->) (->)
- 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.Pointable.Pointable (t Pandora.Paradigm.Controlflow.Effect.Transformer.Monadic.:> 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.Alternative.Alternative (Pandora.Paradigm.Controlflow.Effect.Interpreted.Schematic Pandora.Pattern.Functor.Monad.Monad t u) => Pandora.Pattern.Functor.Alternative.Alternative (t Pandora.Paradigm.Controlflow.Effect.Transformer.Monadic.:> u)
- Pandora.Paradigm.Controlflow.Effect.Transformer.Monadic: instance Pandora.Pattern.Functor.Applicative.Applicative (Pandora.Paradigm.Controlflow.Effect.Interpreted.Schematic Pandora.Pattern.Functor.Monad.Monad t u) => Pandora.Pattern.Functor.Applicative.Applicative (t Pandora.Paradigm.Controlflow.Effect.Transformer.Monadic.:> u)
- Pandora.Paradigm.Controlflow.Effect.Transformer.Monadic: instance Pandora.Pattern.Functor.Avoidable.Avoidable (Pandora.Paradigm.Controlflow.Effect.Interpreted.Schematic Pandora.Pattern.Functor.Monad.Monad t u) => Pandora.Pattern.Functor.Avoidable.Avoidable (t Pandora.Paradigm.Controlflow.Effect.Transformer.Monadic.:> u)
- 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.Covariant.Covariant (t Pandora.Paradigm.Controlflow.Effect.Transformer.Monadic.:> u)
- 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.Covariant.Covariant_ (t Pandora.Paradigm.Controlflow.Effect.Transformer.Monadic.:> u) (->) (->)
- Pandora.Paradigm.Inventory.Accumulator: instance (Pandora.Pattern.Object.Semigroup.Semigroup e, Pandora.Pattern.Functor.Applicative.Applicative u) => Pandora.Pattern.Functor.Applicative.Applicative ((Pandora.Paradigm.Primary.Algebraic.Product.:*:) e Pandora.Paradigm.Schemes.UT.<.:> u)
- Pandora.Paradigm.Inventory.Accumulator: instance Pandora.Pattern.Functor.Covariant.Covariant (Pandora.Paradigm.Inventory.Accumulator.Accumulator e)
- Pandora.Paradigm.Inventory.Accumulator: instance Pandora.Pattern.Functor.Covariant.Covariant_ (Pandora.Paradigm.Inventory.Accumulator.Accumulator e) (->) (->)
- Pandora.Paradigm.Inventory.Accumulator: instance Pandora.Pattern.Object.Semigroup.Semigroup e => Pandora.Pattern.Functor.Applicative.Applicative (Pandora.Paradigm.Inventory.Accumulator.Accumulator e)
- Pandora.Paradigm.Inventory.Environment: instance Pandora.Pattern.Functor.Applicative.Applicative (Pandora.Paradigm.Inventory.Environment.Environment e)
- Pandora.Paradigm.Inventory.Environment: instance Pandora.Pattern.Functor.Contravariant.Contravariant_ (Pandora.Paradigm.Primary.Transformer.Flip.Flip Pandora.Paradigm.Inventory.Environment.Environment a) (->) (->)
- Pandora.Paradigm.Inventory.Environment: instance Pandora.Pattern.Functor.Covariant.Covariant (Pandora.Paradigm.Inventory.Environment.Environment e)
- Pandora.Paradigm.Inventory.Environment: instance Pandora.Pattern.Functor.Covariant.Covariant_ (Pandora.Paradigm.Inventory.Environment.Environment e) (->) (->)
- Pandora.Paradigm.Inventory.Equipment: instance Pandora.Pattern.Functor.Covariant.Covariant (Pandora.Paradigm.Inventory.Equipment.Equipment e)
- Pandora.Paradigm.Inventory.Equipment: instance Pandora.Pattern.Functor.Covariant.Covariant_ (Pandora.Paradigm.Inventory.Equipment.Equipment e) (->) (->)
- Pandora.Paradigm.Inventory.Imprint: instance Pandora.Pattern.Functor.Contravariant.Contravariant_ (Pandora.Paradigm.Primary.Transformer.Flip.Flip Pandora.Paradigm.Inventory.Imprint.Imprint a) (->) (->)
- Pandora.Paradigm.Inventory.Imprint: instance Pandora.Pattern.Functor.Covariant.Covariant (Pandora.Paradigm.Inventory.Imprint.Imprint e)
- Pandora.Paradigm.Inventory.Imprint: instance Pandora.Pattern.Functor.Covariant.Covariant_ (Pandora.Paradigm.Inventory.Imprint.Imprint e) (->) (->)
- Pandora.Paradigm.Inventory.State: instance Pandora.Pattern.Functor.Applicative.Applicative (Pandora.Paradigm.Inventory.State.State s)
- Pandora.Paradigm.Inventory.State: instance Pandora.Pattern.Functor.Applicative.Semimonoidal (Pandora.Paradigm.Inventory.State.State s) (Pandora.Paradigm.Primary.Algebraic.Product.:*:) (->) (->)
- Pandora.Paradigm.Inventory.State: instance Pandora.Pattern.Functor.Covariant.Covariant (Pandora.Paradigm.Inventory.State.State s)
- Pandora.Paradigm.Inventory.State: instance Pandora.Pattern.Functor.Covariant.Covariant_ (Pandora.Paradigm.Inventory.State.State s) (->) (->)
- Pandora.Paradigm.Inventory.Store: instance Pandora.Pattern.Functor.Covariant.Covariant (Pandora.Paradigm.Inventory.Store.Store s)
- Pandora.Paradigm.Inventory.Store: instance Pandora.Pattern.Functor.Covariant.Covariant_ (Pandora.Paradigm.Inventory.Store.Store s) (->) (->)
- Pandora.Paradigm.Primary: instance Pandora.Pattern.Functor.Contravariant.Contravariant (Pandora.Paradigm.Primary.Transformer.Flip.Flip (->) r)
- Pandora.Paradigm.Primary: instance Pandora.Pattern.Functor.Covariant.Covariant (Pandora.Paradigm.Primary.Transformer.Flip.Flip (Pandora.Paradigm.Primary.Algebraic.Product.:*:) a)
- Pandora.Paradigm.Primary.Algebraic: instance Pandora.Pattern.Functor.Applicative.Semimonoidal ((->) e) (Pandora.Paradigm.Primary.Algebraic.Product.:*:) (->) (->)
- Pandora.Paradigm.Primary.Algebraic.Exponential: instance Pandora.Pattern.Functor.Applicative.Applicative ((->) e)
- Pandora.Paradigm.Primary.Algebraic.Exponential: instance Pandora.Pattern.Functor.Contravariant.Contravariant_ (Pandora.Paradigm.Primary.Transformer.Flip.Flip (->) a) (->) (->)
- Pandora.Paradigm.Primary.Algebraic.Exponential: instance Pandora.Pattern.Functor.Covariant.Covariant ((->) a)
- Pandora.Paradigm.Primary.Algebraic.Exponential: instance Pandora.Pattern.Functor.Covariant.Covariant_ ((->) a) (->) (->)
- Pandora.Paradigm.Primary.Algebraic.Product: instance Pandora.Pattern.Functor.Applicative.Applicative t => Pandora.Pattern.Functor.Applicative.Applicative ((t Pandora.Paradigm.Schemes.T_U.<:.:> t) Pandora.Core.Functor.:= (Pandora.Paradigm.Primary.Algebraic.Product.:*:))
- Pandora.Paradigm.Primary.Algebraic.Product: instance Pandora.Pattern.Functor.Covariant.Covariant ((Pandora.Paradigm.Primary.Algebraic.Product.:*:) s)
- Pandora.Paradigm.Primary.Algebraic.Product: instance Pandora.Pattern.Functor.Covariant.Covariant_ ((Pandora.Paradigm.Primary.Algebraic.Product.:*:) s) (->) (->)
- Pandora.Paradigm.Primary.Algebraic.Product: instance Pandora.Pattern.Functor.Covariant.Covariant_ (Pandora.Paradigm.Primary.Transformer.Flip.Flip (Pandora.Paradigm.Primary.Algebraic.Product.:*:) a) (->) (->)
- Pandora.Paradigm.Primary.Functor.Conclusion: instance Pandora.Pattern.Functor.Alternative.Alternative (Pandora.Paradigm.Primary.Functor.Conclusion.Conclusion e)
- Pandora.Paradigm.Primary.Functor.Conclusion: instance Pandora.Pattern.Functor.Applicative.Semimonoidal (Pandora.Paradigm.Primary.Functor.Conclusion.Conclusion e) (Pandora.Paradigm.Primary.Algebraic.Product.:*:) (->) (->)
- Pandora.Paradigm.Primary.Functor.Conclusion: instance Pandora.Pattern.Functor.Applicative.Semimonoidal (Pandora.Paradigm.Primary.Functor.Conclusion.Conclusion e) Pandora.Paradigm.Primary.Functor.Conclusion.Conclusion (->) (->)
- Pandora.Paradigm.Primary.Functor.Conclusion: instance Pandora.Pattern.Functor.Covariant.Covariant (Pandora.Paradigm.Primary.Functor.Conclusion.Conclusion e)
- Pandora.Paradigm.Primary.Functor.Conclusion: instance Pandora.Pattern.Functor.Covariant.Covariant_ (Pandora.Paradigm.Primary.Functor.Conclusion.Conclusion e) (->) (->)
- Pandora.Paradigm.Primary.Functor.Conclusion: instance Pandora.Pattern.Functor.Covariant.Covariant_ (Pandora.Paradigm.Primary.Transformer.Flip.Flip Pandora.Paradigm.Primary.Functor.Conclusion.Conclusion e) (->) (->)
- Pandora.Paradigm.Primary.Functor.Constant: instance Pandora.Pattern.Functor.Contravariant.Contravariant (Pandora.Paradigm.Primary.Functor.Constant.Constant a)
- Pandora.Paradigm.Primary.Functor.Constant: instance Pandora.Pattern.Functor.Covariant.Covariant (Pandora.Paradigm.Primary.Functor.Constant.Constant a)
- Pandora.Paradigm.Primary.Functor.Constant: instance Pandora.Pattern.Functor.Covariant.Covariant_ (Pandora.Paradigm.Primary.Functor.Constant.Constant a) (->) (->)
- Pandora.Paradigm.Primary.Functor.Constant: instance Pandora.Pattern.Functor.Covariant.Covariant_ (Pandora.Paradigm.Primary.Transformer.Flip.Flip Pandora.Paradigm.Primary.Functor.Constant.Constant b) (->) (->)
- Pandora.Paradigm.Primary.Functor.Convergence: instance Pandora.Pattern.Functor.Contravariant.Contravariant (Pandora.Paradigm.Primary.Functor.Convergence.Convergence r)
- Pandora.Paradigm.Primary.Functor.Convergence: instance Pandora.Pattern.Functor.Contravariant.Contravariant_ (Pandora.Paradigm.Primary.Functor.Convergence.Convergence r) (->) (->)
- Pandora.Paradigm.Primary.Functor.Convergence: instance Pandora.Pattern.Object.Ringoid.Ringoid r => Pandora.Pattern.Functor.Divisible.Divisible (Pandora.Paradigm.Primary.Functor.Convergence.Convergence r)
- Pandora.Paradigm.Primary.Functor.Edges: instance Pandora.Pattern.Functor.Covariant.Covariant Pandora.Paradigm.Primary.Functor.Edges.Edges
- Pandora.Paradigm.Primary.Functor.Edges: instance Pandora.Pattern.Functor.Covariant.Covariant_ Pandora.Paradigm.Primary.Functor.Edges.Edges (->) (->)
- Pandora.Paradigm.Primary.Functor.Identity: instance Pandora.Pattern.Functor.Applicative.Applicative Pandora.Paradigm.Primary.Functor.Identity.Identity
- Pandora.Paradigm.Primary.Functor.Identity: instance Pandora.Pattern.Functor.Covariant.Covariant Pandora.Paradigm.Primary.Functor.Identity.Identity
- Pandora.Paradigm.Primary.Functor.Identity: instance Pandora.Pattern.Functor.Covariant.Covariant_ Pandora.Paradigm.Primary.Functor.Identity.Identity (->) (->)
- Pandora.Paradigm.Primary.Functor.Maybe: instance Pandora.Pattern.Functor.Alternative.Alternative Pandora.Paradigm.Primary.Functor.Maybe.Maybe
- Pandora.Paradigm.Primary.Functor.Maybe: instance Pandora.Pattern.Functor.Applicative.Semimonoidal Pandora.Paradigm.Primary.Functor.Maybe.Maybe (Pandora.Paradigm.Primary.Algebraic.Product.:*:) (->) (->)
- Pandora.Paradigm.Primary.Functor.Maybe: instance Pandora.Pattern.Functor.Applicative.Semimonoidal Pandora.Paradigm.Primary.Functor.Maybe.Maybe Pandora.Paradigm.Primary.Functor.Conclusion.Conclusion (->) (->)
- Pandora.Paradigm.Primary.Functor.Maybe: instance Pandora.Pattern.Functor.Avoidable.Avoidable Pandora.Paradigm.Primary.Functor.Maybe.Maybe
- Pandora.Paradigm.Primary.Functor.Maybe: instance Pandora.Pattern.Functor.Covariant.Covariant Pandora.Paradigm.Primary.Functor.Maybe.Maybe
- Pandora.Paradigm.Primary.Functor.Maybe: instance Pandora.Pattern.Functor.Covariant.Covariant_ Pandora.Paradigm.Primary.Functor.Maybe.Maybe (->) (->)
- Pandora.Paradigm.Primary.Functor.Predicate: instance Pandora.Pattern.Functor.Contravariant.Contravariant Pandora.Paradigm.Primary.Functor.Predicate.Predicate
- Pandora.Paradigm.Primary.Functor.Predicate: instance Pandora.Pattern.Functor.Contravariant.Contravariant_ Pandora.Paradigm.Primary.Functor.Predicate.Predicate (->) (->)
- Pandora.Paradigm.Primary.Functor.Predicate: instance Pandora.Pattern.Functor.Determinable.Determinable Pandora.Paradigm.Primary.Functor.Predicate.Predicate
- Pandora.Paradigm.Primary.Functor.Predicate: instance Pandora.Pattern.Functor.Divisible.Divisible Pandora.Paradigm.Primary.Functor.Predicate.Predicate
- Pandora.Paradigm.Primary.Functor.Predicate: instance Pandora.Pattern.Functor.Divisible.Divisible_ Pandora.Paradigm.Primary.Functor.Predicate.Predicate (Pandora.Paradigm.Primary.Algebraic.Product.:*:) (->) (->)
- Pandora.Paradigm.Primary.Functor.Predicate: satisfy :: (Pointable t (->), Avoidable t) => Predicate a -> a -> t a
- Pandora.Paradigm.Primary.Functor.Proxy: instance Pandora.Pattern.Functor.Alternative.Alternative Pandora.Paradigm.Primary.Functor.Proxy.Proxy
- Pandora.Paradigm.Primary.Functor.Proxy: instance Pandora.Pattern.Functor.Applicative.Applicative Pandora.Paradigm.Primary.Functor.Proxy.Proxy
- Pandora.Paradigm.Primary.Functor.Proxy: instance Pandora.Pattern.Functor.Contravariant.Contravariant Pandora.Paradigm.Primary.Functor.Proxy.Proxy
- Pandora.Paradigm.Primary.Functor.Proxy: instance Pandora.Pattern.Functor.Covariant.Covariant Pandora.Paradigm.Primary.Functor.Proxy.Proxy
- Pandora.Paradigm.Primary.Functor.Proxy: instance Pandora.Pattern.Functor.Covariant.Covariant_ Pandora.Paradigm.Primary.Functor.Proxy.Proxy (->) (->)
- Pandora.Paradigm.Primary.Functor.Tagged: instance Pandora.Pattern.Functor.Covariant.Covariant_ (Pandora.Paradigm.Primary.Transformer.Flip.Flip Pandora.Paradigm.Primary.Functor.Tagged.Tagged a) (->) (->)
- Pandora.Paradigm.Primary.Functor.Tagged: instance forall k (tag :: k). Pandora.Pattern.Functor.Applicative.Applicative (Pandora.Paradigm.Primary.Functor.Tagged.Tagged tag)
- Pandora.Paradigm.Primary.Functor.Tagged: instance forall k (tag :: k). Pandora.Pattern.Functor.Covariant.Covariant (Pandora.Paradigm.Primary.Functor.Tagged.Tagged tag)
- Pandora.Paradigm.Primary.Functor.Tagged: instance forall k (tag :: k). Pandora.Pattern.Functor.Covariant.Covariant_ (Pandora.Paradigm.Primary.Functor.Tagged.Tagged tag) (->) (->)
- Pandora.Paradigm.Primary.Functor.These: instance Pandora.Pattern.Functor.Covariant.Covariant (Pandora.Paradigm.Primary.Functor.These.These e)
- Pandora.Paradigm.Primary.Functor.These: instance Pandora.Pattern.Functor.Covariant.Covariant_ (Pandora.Paradigm.Primary.Functor.These.These e) (->) (->)
- Pandora.Paradigm.Primary.Functor.Validation: instance Pandora.Pattern.Functor.Alternative.Alternative (Pandora.Paradigm.Primary.Functor.Validation.Validation e)
- Pandora.Paradigm.Primary.Functor.Validation: instance Pandora.Pattern.Functor.Covariant.Covariant (Pandora.Paradigm.Primary.Functor.Validation.Validation e)
- Pandora.Paradigm.Primary.Functor.Validation: instance Pandora.Pattern.Functor.Covariant.Covariant_ (Pandora.Paradigm.Primary.Functor.Validation.Validation e) (->) (->)
- Pandora.Paradigm.Primary.Functor.Validation: instance Pandora.Pattern.Functor.Covariant.Covariant_ (Pandora.Paradigm.Primary.Transformer.Flip.Flip Pandora.Paradigm.Primary.Functor.Validation.Validation a) (->) (->)
- Pandora.Paradigm.Primary.Functor.Validation: instance Pandora.Pattern.Object.Semigroup.Semigroup e => Pandora.Pattern.Functor.Applicative.Applicative (Pandora.Paradigm.Primary.Functor.Validation.Validation e)
- Pandora.Paradigm.Primary.Functor.Validation: instance Pandora.Pattern.Object.Semigroup.Semigroup e => Pandora.Pattern.Functor.Applicative.Semimonoidal (Pandora.Paradigm.Primary.Functor.Validation.Validation e) (Pandora.Paradigm.Primary.Algebraic.Product.:*:) (->) (->)
- Pandora.Paradigm.Primary.Functor.Wedge: instance Pandora.Pattern.Functor.Covariant.Covariant (Pandora.Paradigm.Primary.Functor.Wedge.Wedge e)
- Pandora.Paradigm.Primary.Functor.Wedge: instance Pandora.Pattern.Functor.Covariant.Covariant_ (Pandora.Paradigm.Primary.Functor.Wedge.Wedge e) (->) (->)
- Pandora.Paradigm.Primary.Functor.Wye: instance Pandora.Pattern.Functor.Covariant.Covariant Pandora.Paradigm.Primary.Functor.Wye.Wye
- Pandora.Paradigm.Primary.Functor.Wye: instance Pandora.Pattern.Functor.Covariant.Covariant_ Pandora.Paradigm.Primary.Functor.Wye.Wye (->) (->)
- Pandora.Paradigm.Primary.Transformer.Backwards: instance Pandora.Pattern.Functor.Applicative.Semimonoidal t (Pandora.Paradigm.Primary.Algebraic.Product.:*:) (->) (->) => Pandora.Pattern.Functor.Applicative.Semimonoidal (Pandora.Paradigm.Primary.Transformer.Backwards.Backwards t) (Pandora.Paradigm.Primary.Algebraic.Product.:*:) (->) (->)
- Pandora.Paradigm.Primary.Transformer.Backwards: instance Pandora.Pattern.Functor.Contravariant.Contravariant t => Pandora.Pattern.Functor.Contravariant.Contravariant (Pandora.Paradigm.Primary.Transformer.Backwards.Backwards t)
- Pandora.Paradigm.Primary.Transformer.Backwards: instance Pandora.Pattern.Functor.Covariant.Covariant t => Pandora.Pattern.Functor.Covariant.Covariant (Pandora.Paradigm.Primary.Transformer.Backwards.Backwards t)
- Pandora.Paradigm.Primary.Transformer.Backwards: instance Pandora.Pattern.Functor.Covariant.Covariant_ t (->) (->) => Pandora.Pattern.Functor.Covariant.Covariant_ (Pandora.Paradigm.Primary.Transformer.Backwards.Backwards t) (->) (->)
- Pandora.Paradigm.Primary.Transformer.Construction: instance (Pandora.Pattern.Functor.Avoidable.Avoidable t, Pandora.Pattern.Functor.Alternative.Alternative t, Pandora.Pattern.Functor.Covariant.Covariant_ t (->) (->)) => Pandora.Pattern.Functor.Monad.Monad (Pandora.Paradigm.Primary.Transformer.Construction.Construction t)
- Pandora.Paradigm.Primary.Transformer.Construction: instance (Pandora.Pattern.Functor.Avoidable.Avoidable t, Pandora.Pattern.Functor.Covariant.Covariant_ t (->) (->)) => Pandora.Pattern.Functor.Pointable.Pointable (Pandora.Paradigm.Primary.Transformer.Construction.Construction t) (->)
- Pandora.Paradigm.Primary.Transformer.Construction: instance (Pandora.Pattern.Functor.Covariant.Covariant t, Pandora.Pattern.Functor.Covariant.Covariant_ t (->) (->)) => Pandora.Pattern.Functor.Comonad.Comonad (Pandora.Paradigm.Primary.Transformer.Construction.Construction t) (->)
- Pandora.Paradigm.Primary.Transformer.Construction: instance (Pandora.Pattern.Functor.Covariant.Covariant_ t (->) (->), Pandora.Pattern.Functor.Alternative.Alternative t) => Pandora.Pattern.Functor.Bindable.Bindable (Pandora.Paradigm.Primary.Transformer.Construction.Construction t) (->)
- Pandora.Paradigm.Primary.Transformer.Construction: instance (Pandora.Pattern.Object.Monoid.Monoid a, forall b. Pandora.Pattern.Object.Semigroup.Semigroup b => Pandora.Pattern.Object.Monoid.Monoid (t b), Pandora.Pattern.Functor.Covariant.Covariant t, Pandora.Pattern.Functor.Covariant.Covariant_ t (->) (->)) => Pandora.Pattern.Object.Monoid.Monoid (Pandora.Paradigm.Primary.Transformer.Construction.Construction t a)
- Pandora.Paradigm.Primary.Transformer.Construction: instance (Pandora.Pattern.Object.Semigroup.Semigroup a, forall b. Pandora.Pattern.Object.Semigroup.Semigroup b => Pandora.Pattern.Object.Semigroup.Semigroup (t b), Pandora.Pattern.Functor.Covariant.Covariant t, Pandora.Pattern.Functor.Covariant.Covariant_ t (->) (->)) => Pandora.Pattern.Object.Semigroup.Semigroup (Pandora.Paradigm.Primary.Transformer.Construction.Construction t a)
- Pandora.Paradigm.Primary.Transformer.Construction: instance (Pandora.Pattern.Object.Setoid.Setoid a, forall b. Pandora.Pattern.Object.Setoid.Setoid b => Pandora.Pattern.Object.Setoid.Setoid (t b), Pandora.Pattern.Functor.Covariant.Covariant t, Pandora.Pattern.Functor.Covariant.Covariant_ t (->) (->)) => Pandora.Pattern.Object.Setoid.Setoid (Pandora.Paradigm.Primary.Transformer.Construction.Construction t a)
- Pandora.Paradigm.Primary.Transformer.Construction: instance Pandora.Pattern.Functor.Applicative.Applicative t => Pandora.Pattern.Functor.Applicative.Applicative (Pandora.Paradigm.Primary.Transformer.Construction.Construction t)
- Pandora.Paradigm.Primary.Transformer.Construction: instance Pandora.Pattern.Functor.Covariant.Covariant t => Pandora.Pattern.Functor.Covariant.Covariant (Pandora.Paradigm.Primary.Transformer.Construction.Construction t)
- Pandora.Paradigm.Primary.Transformer.Construction: instance Pandora.Pattern.Functor.Covariant.Covariant_ t (->) (->) => Pandora.Pattern.Functor.Covariant.Covariant_ (Pandora.Paradigm.Primary.Transformer.Construction.Construction t) (->) (->)
- Pandora.Paradigm.Primary.Transformer.Construction: instance Pandora.Pattern.Functor.Covariant.Covariant_ t (->) (->) => Pandora.Pattern.Functor.Extendable.Extendable (Pandora.Paradigm.Primary.Transformer.Construction.Construction t) (->)
- Pandora.Paradigm.Primary.Transformer.Construction: instance Pandora.Pattern.Functor.Covariant.Covariant_ t (->) (->) => Pandora.Pattern.Functor.Extractable.Extractable (Pandora.Paradigm.Primary.Transformer.Construction.Construction t) (->)
- Pandora.Paradigm.Primary.Transformer.Continuation: instance Pandora.Pattern.Functor.Covariant.Covariant t => Pandora.Pattern.Functor.Applicative.Applicative (Pandora.Paradigm.Primary.Transformer.Continuation.Continuation r t)
- Pandora.Paradigm.Primary.Transformer.Continuation: instance Pandora.Pattern.Functor.Covariant.Covariant t => Pandora.Pattern.Functor.Covariant.Covariant (Pandora.Paradigm.Primary.Transformer.Continuation.Continuation r t)
- Pandora.Paradigm.Primary.Transformer.Continuation: instance Pandora.Pattern.Functor.Covariant.Covariant_ t (->) (->) => Pandora.Pattern.Functor.Bindable.Bindable (Pandora.Paradigm.Primary.Transformer.Continuation.Continuation r t) (->)
- Pandora.Paradigm.Primary.Transformer.Continuation: instance Pandora.Pattern.Functor.Covariant.Covariant_ t (->) (->) => Pandora.Pattern.Functor.Covariant.Covariant_ (Pandora.Paradigm.Primary.Transformer.Continuation.Continuation r t) (->) (->)
- Pandora.Paradigm.Primary.Transformer.Continuation: instance Pandora.Pattern.Functor.Covariant.Covariant_ t (->) (->) => Pandora.Pattern.Functor.Pointable.Pointable (Pandora.Paradigm.Primary.Transformer.Continuation.Continuation r t) (->)
- Pandora.Paradigm.Primary.Transformer.Day: instance (Pandora.Pattern.Functor.Applicative.Applicative t, Pandora.Pattern.Functor.Applicative.Applicative u) => Pandora.Pattern.Functor.Applicative.Applicative (Pandora.Paradigm.Primary.Transformer.Day.Day t u)
- Pandora.Paradigm.Primary.Transformer.Day: instance Pandora.Pattern.Functor.Covariant.Covariant (Pandora.Paradigm.Primary.Transformer.Day.Day t u)
- Pandora.Paradigm.Primary.Transformer.Day: instance Pandora.Pattern.Functor.Covariant.Covariant_ (Pandora.Paradigm.Primary.Transformer.Day.Day t u) (->) (->)
- 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.Instruction: instance Pandora.Pattern.Functor.Alternative.Alternative t => Pandora.Pattern.Functor.Alternative.Alternative (Pandora.Paradigm.Primary.Transformer.Instruction.Instruction t)
- Pandora.Paradigm.Primary.Transformer.Instruction: instance Pandora.Pattern.Functor.Avoidable.Avoidable t => Pandora.Pattern.Functor.Avoidable.Avoidable (Pandora.Paradigm.Primary.Transformer.Instruction.Instruction t)
- Pandora.Paradigm.Primary.Transformer.Instruction: instance Pandora.Pattern.Functor.Covariant.Covariant t => Pandora.Pattern.Functor.Applicative.Applicative (Pandora.Paradigm.Primary.Transformer.Instruction.Instruction t)
- Pandora.Paradigm.Primary.Transformer.Instruction: instance Pandora.Pattern.Functor.Covariant.Covariant t => Pandora.Pattern.Functor.Covariant.Covariant (Pandora.Paradigm.Primary.Transformer.Instruction.Instruction t)
- Pandora.Paradigm.Primary.Transformer.Instruction: instance Pandora.Pattern.Functor.Covariant.Covariant_ t (->) (->) => Pandora.Pattern.Functor.Bindable.Bindable (Pandora.Paradigm.Primary.Transformer.Instruction.Instruction t) (->)
- Pandora.Paradigm.Primary.Transformer.Instruction: instance Pandora.Pattern.Functor.Covariant.Covariant_ t (->) (->) => Pandora.Pattern.Functor.Covariant.Covariant_ (Pandora.Paradigm.Primary.Transformer.Instruction.Instruction t) (->) (->)
- Pandora.Paradigm.Primary.Transformer.Instruction: instance Pandora.Pattern.Functor.Covariant.Covariant_ t (->) (->) => Pandora.Pattern.Functor.Pointable.Pointable (Pandora.Paradigm.Primary.Transformer.Instruction.Instruction t) (->)
- Pandora.Paradigm.Primary.Transformer.Jack: instance Pandora.Pattern.Functor.Alternative.Alternative t => Pandora.Pattern.Functor.Alternative.Alternative (Pandora.Paradigm.Primary.Transformer.Jack.Jack t)
- Pandora.Paradigm.Primary.Transformer.Jack: instance Pandora.Pattern.Functor.Applicative.Applicative t => Pandora.Pattern.Functor.Applicative.Applicative (Pandora.Paradigm.Primary.Transformer.Jack.Jack t)
- Pandora.Paradigm.Primary.Transformer.Jack: instance Pandora.Pattern.Functor.Avoidable.Avoidable t => Pandora.Pattern.Functor.Avoidable.Avoidable (Pandora.Paradigm.Primary.Transformer.Jack.Jack t)
- Pandora.Paradigm.Primary.Transformer.Jack: instance Pandora.Pattern.Functor.Covariant.Covariant t => Pandora.Pattern.Functor.Covariant.Covariant (Pandora.Paradigm.Primary.Transformer.Jack.Jack t)
- Pandora.Paradigm.Primary.Transformer.Jack: instance Pandora.Pattern.Functor.Covariant.Covariant_ t (->) (->) => Pandora.Pattern.Functor.Covariant.Covariant_ (Pandora.Paradigm.Primary.Transformer.Jack.Jack t) (->) (->)
- Pandora.Paradigm.Primary.Transformer.Jack: instance Pandora.Pattern.Functor.Covariant.Covariant_ t (->) (->) => Pandora.Pattern.Functor.Pointable.Pointable (Pandora.Paradigm.Primary.Transformer.Jack.Jack t) (->)
- Pandora.Paradigm.Primary.Transformer.Jet: instance (forall (u :: * -> *). Pandora.Pattern.Functor.Avoidable.Avoidable u, Pandora.Pattern.Functor.Covariant.Covariant_ t (->) (->)) => Pandora.Pattern.Functor.Pointable.Pointable (Pandora.Paradigm.Primary.Transformer.Jet.Jet t) (->)
- Pandora.Paradigm.Primary.Transformer.Jet: instance Pandora.Pattern.Functor.Covariant.Covariant t => Pandora.Pattern.Functor.Covariant.Covariant (Pandora.Paradigm.Primary.Transformer.Jet.Jet t)
- Pandora.Paradigm.Primary.Transformer.Jet: instance Pandora.Pattern.Functor.Covariant.Covariant_ t (->) (->) => Pandora.Pattern.Functor.Covariant.Covariant_ (Pandora.Paradigm.Primary.Transformer.Jet.Jet t) (->) (->)
- Pandora.Paradigm.Primary.Transformer.Jet: instance Pandora.Pattern.Functor.Covariant.Covariant_ t (->) (->) => Pandora.Pattern.Functor.Extractable.Extractable (Pandora.Paradigm.Primary.Transformer.Jet.Jet t) (->)
- Pandora.Paradigm.Primary.Transformer.Kan: instance Pandora.Pattern.Functor.Contravariant.Contravariant_ (Pandora.Paradigm.Primary.Transformer.Kan.Kan 'Pandora.Paradigm.Primary.Functor.Wye.Left t u b) (->) (->)
- Pandora.Paradigm.Primary.Transformer.Kan: instance Pandora.Pattern.Functor.Covariant.Covariant_ (Pandora.Paradigm.Primary.Transformer.Kan.Kan 'Pandora.Paradigm.Primary.Functor.Wye.Right t u b) (->) (->)
- Pandora.Paradigm.Primary.Transformer.Outline: instance (Pandora.Pattern.Functor.Extractable.Extractable t (->), Pandora.Pattern.Functor.Pointable.Pointable t (->), Pandora.Pattern.Functor.Applicative.Applicative t) => Pandora.Paradigm.Controlflow.Effect.Interpreted.Interpreted (Pandora.Paradigm.Primary.Transformer.Outline.Outline t)
- Pandora.Paradigm.Primary.Transformer.Outline: instance Pandora.Pattern.Functor.Applicative.Applicative (Pandora.Paradigm.Primary.Transformer.Outline.Outline f)
- Pandora.Paradigm.Primary.Transformer.Outline: instance Pandora.Pattern.Functor.Covariant.Covariant (Pandora.Paradigm.Primary.Transformer.Outline.Outline t)
- Pandora.Paradigm.Primary.Transformer.Outline: instance Pandora.Pattern.Functor.Covariant.Covariant_ (Pandora.Paradigm.Primary.Transformer.Outline.Outline t) (->) (->)
- Pandora.Paradigm.Primary.Transformer.Reverse: instance Pandora.Pattern.Functor.Applicative.Semimonoidal t (Pandora.Paradigm.Primary.Algebraic.Product.:*:) (->) (->) => Pandora.Pattern.Functor.Applicative.Semimonoidal (Pandora.Paradigm.Primary.Transformer.Reverse.Reverse t) (Pandora.Paradigm.Primary.Algebraic.Product.:*:) (->) (->)
- Pandora.Paradigm.Primary.Transformer.Reverse: instance Pandora.Pattern.Functor.Contravariant.Contravariant t => Pandora.Pattern.Functor.Contravariant.Contravariant (Pandora.Paradigm.Primary.Transformer.Reverse.Reverse t)
- Pandora.Paradigm.Primary.Transformer.Reverse: instance Pandora.Pattern.Functor.Covariant.Covariant t => Pandora.Pattern.Functor.Covariant.Covariant (Pandora.Paradigm.Primary.Transformer.Reverse.Reverse t)
- Pandora.Paradigm.Primary.Transformer.Reverse: instance Pandora.Pattern.Functor.Covariant.Covariant_ t (->) (->) => Pandora.Pattern.Functor.Covariant.Covariant_ (Pandora.Paradigm.Primary.Transformer.Reverse.Reverse t) (->) (->)
- Pandora.Paradigm.Primary.Transformer.Tap: instance (Pandora.Pattern.Functor.Avoidable.Avoidable t, Pandora.Pattern.Functor.Covariant.Covariant_ t (->) (->)) => Pandora.Pattern.Functor.Pointable.Pointable (Pandora.Paradigm.Primary.Transformer.Tap.Tap t) (->)
- Pandora.Paradigm.Primary.Transformer.Tap: instance (Pandora.Pattern.Functor.Covariant.Covariant t, Pandora.Pattern.Functor.Covariant.Covariant_ t (->) (->)) => Pandora.Paradigm.Structure.Ability.Substructure.Substructure 'Pandora.Paradigm.Primary.Functor.Wye.Left (Pandora.Paradigm.Primary.Transformer.Tap.Tap ((t Pandora.Paradigm.Schemes.T_U.<:.:> t) Pandora.Core.Functor.:= (Pandora.Paradigm.Primary.Algebraic.Product.:*:)))
- Pandora.Paradigm.Primary.Transformer.Tap: instance (Pandora.Pattern.Functor.Covariant.Covariant t, Pandora.Pattern.Functor.Covariant.Covariant_ t (->) (->)) => Pandora.Paradigm.Structure.Ability.Substructure.Substructure 'Pandora.Paradigm.Primary.Functor.Wye.Right (Pandora.Paradigm.Primary.Transformer.Tap.Tap ((t Pandora.Paradigm.Schemes.T_U.<:.:> t) Pandora.Core.Functor.:= (Pandora.Paradigm.Primary.Algebraic.Product.:*:)))
- Pandora.Paradigm.Primary.Transformer.Tap: instance (Pandora.Pattern.Functor.Covariant.Covariant t, Pandora.Pattern.Functor.Covariant.Covariant_ t (->) (->)) => Pandora.Paradigm.Structure.Ability.Substructure.Substructure 'Pandora.Paradigm.Structure.Ability.Substructure.Root (Pandora.Paradigm.Primary.Transformer.Tap.Tap ((t Pandora.Paradigm.Schemes.T_U.<:.:> t) Pandora.Core.Functor.:= (Pandora.Paradigm.Primary.Algebraic.Product.:*:)))
- Pandora.Paradigm.Primary.Transformer.Tap: instance (Pandora.Pattern.Functor.Extendable.Extendable t (->), Pandora.Pattern.Functor.Covariant.Covariant_ t (->) (->)) => Pandora.Pattern.Functor.Extendable.Extendable (Pandora.Paradigm.Primary.Transformer.Tap.Tap t) (->)
- Pandora.Paradigm.Primary.Transformer.Tap: instance (Pandora.Pattern.Functor.Extractable.Extractable t (->), Pandora.Pattern.Functor.Alternative.Alternative t, Pandora.Pattern.Functor.Bindable.Bindable t (->)) => Pandora.Pattern.Functor.Bindable.Bindable (Pandora.Paradigm.Primary.Transformer.Tap.Tap t) (->)
- Pandora.Paradigm.Primary.Transformer.Tap: instance Pandora.Pattern.Functor.Applicative.Applicative t => Pandora.Pattern.Functor.Applicative.Applicative (Pandora.Paradigm.Primary.Transformer.Tap.Tap ((t Pandora.Paradigm.Schemes.T_U.<:.:> t) Pandora.Core.Functor.:= (Pandora.Paradigm.Primary.Algebraic.Product.:*:)))
- Pandora.Paradigm.Primary.Transformer.Tap: instance Pandora.Pattern.Functor.Applicative.Applicative t => Pandora.Pattern.Functor.Applicative.Applicative (Pandora.Paradigm.Primary.Transformer.Tap.Tap t)
- Pandora.Paradigm.Primary.Transformer.Tap: instance Pandora.Pattern.Functor.Covariant.Covariant t => Pandora.Pattern.Functor.Covariant.Covariant (Pandora.Paradigm.Primary.Transformer.Tap.Tap t)
- Pandora.Paradigm.Primary.Transformer.Tap: instance Pandora.Pattern.Functor.Covariant.Covariant_ t (->) (->) => Pandora.Pattern.Functor.Covariant.Covariant_ (Pandora.Paradigm.Primary.Transformer.Tap.Tap t) (->) (->)
- Pandora.Paradigm.Primary.Transformer.Tap: instance Pandora.Pattern.Functor.Covariant.Covariant_ t (->) (->) => Pandora.Pattern.Functor.Extractable.Extractable (Pandora.Paradigm.Primary.Transformer.Tap.Tap t) (->)
- Pandora.Paradigm.Primary.Transformer.Yoneda: instance Pandora.Pattern.Functor.Alternative.Alternative t => Pandora.Pattern.Functor.Alternative.Alternative (Pandora.Paradigm.Primary.Transformer.Yoneda.Yoneda t)
- Pandora.Paradigm.Primary.Transformer.Yoneda: instance Pandora.Pattern.Functor.Applicative.Applicative t => Pandora.Pattern.Functor.Applicative.Applicative (Pandora.Paradigm.Primary.Transformer.Yoneda.Yoneda t)
- Pandora.Paradigm.Primary.Transformer.Yoneda: instance Pandora.Pattern.Functor.Avoidable.Avoidable t => Pandora.Pattern.Functor.Avoidable.Avoidable (Pandora.Paradigm.Primary.Transformer.Yoneda.Yoneda t)
- Pandora.Paradigm.Primary.Transformer.Yoneda: instance Pandora.Pattern.Functor.Covariant.Covariant (Pandora.Paradigm.Primary.Transformer.Yoneda.Yoneda t)
- Pandora.Paradigm.Primary.Transformer.Yoneda: instance Pandora.Pattern.Functor.Covariant.Covariant_ (Pandora.Paradigm.Primary.Transformer.Yoneda.Yoneda t) (->) (->)
- Pandora.Paradigm.Schemes: instance (Pandora.Pattern.Functor.Covariant.Covariant ((Pandora.Paradigm.Schemes.TUT.<:<.>:>) t u t'), Pandora.Pattern.Functor.Covariant.Covariant ((Pandora.Paradigm.Schemes.TUT.<:<.>:>) v w v'), Pandora.Pattern.Functor.Adjoint.Adjoint t w (->) (->), Pandora.Pattern.Functor.Adjoint.Adjoint t' v' (->) (->), Pandora.Pattern.Functor.Adjoint.Adjoint t v (->) (->), Pandora.Pattern.Functor.Adjoint.Adjoint u v (->) (->), Pandora.Pattern.Functor.Adjoint.Adjoint v' t' (->) (->)) => Pandora.Pattern.Functor.Adjoint.Adjoint ((Pandora.Paradigm.Schemes.TUT.<:<.>:>) t u t') ((Pandora.Paradigm.Schemes.TUT.<:<.>:>) v w v') (->) (->)
- Pandora.Paradigm.Schemes: instance (Pandora.Pattern.Functor.Covariant.Covariant (t Pandora.Paradigm.Schemes.UT.<.:> v), Pandora.Pattern.Functor.Covariant.Covariant (w Pandora.Paradigm.Schemes.TU.<:.> u), Pandora.Pattern.Functor.Adjoint.Adjoint v u (->) (->), Pandora.Pattern.Functor.Adjoint.Adjoint t w (->) (->)) => Pandora.Pattern.Functor.Adjoint.Adjoint (t Pandora.Paradigm.Schemes.UT.<.:> v) (w Pandora.Paradigm.Schemes.TU.<:.> u) (->) (->)
- Pandora.Paradigm.Schemes: instance (Pandora.Pattern.Functor.Covariant.Covariant (t Pandora.Paradigm.Schemes.UT.<.:> v), Pandora.Pattern.Functor.Covariant.Covariant (w Pandora.Paradigm.Schemes.UT.<.:> u), Pandora.Pattern.Functor.Adjoint.Adjoint t u (->) (->), Pandora.Pattern.Functor.Adjoint.Adjoint v w (->) (->)) => Pandora.Pattern.Functor.Adjoint.Adjoint (t Pandora.Paradigm.Schemes.UT.<.:> v) (w Pandora.Paradigm.Schemes.UT.<.:> u) (->) (->)
- Pandora.Paradigm.Schemes: instance (Pandora.Pattern.Functor.Covariant.Covariant (v Pandora.Paradigm.Schemes.TU.<:.> t), Pandora.Pattern.Functor.Covariant.Covariant (u Pandora.Paradigm.Schemes.TU.<:.> w), Pandora.Pattern.Functor.Adjoint.Adjoint t u (->) (->), Pandora.Pattern.Functor.Adjoint.Adjoint v w (->) (->)) => Pandora.Pattern.Functor.Adjoint.Adjoint (v Pandora.Paradigm.Schemes.TU.<:.> t) (u Pandora.Paradigm.Schemes.TU.<:.> w) (->) (->)
- Pandora.Paradigm.Schemes: instance (Pandora.Pattern.Functor.Covariant.Covariant (v Pandora.Paradigm.Schemes.TU.<:.> t), Pandora.Pattern.Functor.Covariant.Covariant (w Pandora.Paradigm.Schemes.UT.<.:> u), Pandora.Pattern.Functor.Adjoint.Adjoint t u (->) (->), Pandora.Pattern.Functor.Adjoint.Adjoint v w (->) (->)) => Pandora.Pattern.Functor.Adjoint.Adjoint (v Pandora.Paradigm.Schemes.TU.<:.> t) (w Pandora.Paradigm.Schemes.UT.<.:> u) (->) (->)
- Pandora.Paradigm.Schemes.TU: instance (Pandora.Pattern.Functor.Applicative.Applicative t, Pandora.Pattern.Functor.Applicative.Applicative u) => Pandora.Pattern.Functor.Applicative.Applicative (t Pandora.Paradigm.Schemes.TU.<:.> u)
- Pandora.Paradigm.Schemes.TU: instance (Pandora.Pattern.Functor.Bindable.Bindable t (->), Pandora.Pattern.Functor.Distributive.Distributive t (->) (->), Pandora.Pattern.Functor.Covariant.Covariant_ u (->) (->), Pandora.Pattern.Functor.Bindable.Bindable u (->)) => Pandora.Pattern.Functor.Bindable.Bindable (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.Covariant.Covariant (t Pandora.Paradigm.Schemes.TU.<:.> u)
- Pandora.Paradigm.Schemes.TU: instance (Pandora.Pattern.Functor.Covariant.Covariant u, Pandora.Pattern.Functor.Alternative.Alternative t) => Pandora.Pattern.Functor.Alternative.Alternative (t Pandora.Paradigm.Schemes.TU.<:.> u)
- Pandora.Paradigm.Schemes.TU: instance (Pandora.Pattern.Functor.Covariant.Covariant u, Pandora.Pattern.Functor.Avoidable.Avoidable t) => Pandora.Pattern.Functor.Avoidable.Avoidable (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.Covariant.Covariant_ (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.TUT: instance (Pandora.Pattern.Functor.Covariant.Covariant t', Pandora.Pattern.Functor.Covariant.Covariant t, Pandora.Pattern.Functor.Adjoint.Adjoint t' t (->) (->), Pandora.Pattern.Functor.Extendable.Extendable u (->)) => Pandora.Pattern.Functor.Extendable.Extendable ((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 t', Pandora.Pattern.Functor.Covariant.Covariant u) => Pandora.Pattern.Functor.Covariant.Covariant ((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_ t' (->) (->), Pandora.Pattern.Functor.Adjoint.Adjoint t t' (->) (->), Pandora.Pattern.Functor.Extractable.Extractable u (->)) => Pandora.Pattern.Functor.Extractable.Extractable ((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_ t' (->) (->), Pandora.Pattern.Functor.Covariant.Covariant_ u (->) (->)) => Pandora.Pattern.Functor.Covariant.Covariant_ ((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_ t' (->) (->), Pandora.Pattern.Functor.Pointable.Pointable u (->), Pandora.Pattern.Functor.Adjoint.Adjoint t' t (->) (->)) => Pandora.Pattern.Functor.Pointable.Pointable ((t Pandora.Paradigm.Schemes.TUT.<:<.>:> t') Pandora.Core.Functor.:= u) (->)
- Pandora.Paradigm.Schemes.TUT: instance (forall (u :: * -> *). Pandora.Pattern.Functor.Covariant.Covariant u, Pandora.Pattern.Functor.Adjoint.Adjoint t t' (->) (->), Pandora.Pattern.Functor.Distributive.Distributive t' (->) (->)) => Pandora.Pattern.Transformer.Lowerable.Lowerable (t Pandora.Paradigm.Schemes.TUT.<:<.>:> t')
- Pandora.Paradigm.Schemes.TUT: instance (forall (u :: * -> *). Pandora.Pattern.Functor.Covariant.Covariant u, Pandora.Pattern.Functor.Adjoint.Adjoint t' t (->) (->), Pandora.Pattern.Functor.Distributive.Distributive t (->) (->)) => Pandora.Pattern.Transformer.Liftable.Liftable (t Pandora.Paradigm.Schemes.TUT.<:<.>:> t')
- Pandora.Paradigm.Schemes.T_U: instance (Pandora.Pattern.Functor.Divariant.Divariant p (->) (->) (->), Pandora.Pattern.Functor.Contravariant.Contravariant t, Pandora.Pattern.Functor.Covariant.Covariant u) => Pandora.Pattern.Functor.Covariant.Covariant ((t Pandora.Paradigm.Schemes.T_U.>:.:> u) Pandora.Core.Functor.:= p)
- Pandora.Paradigm.Schemes.T_U: instance (forall i. Pandora.Pattern.Functor.Covariant.Covariant (p i), Pandora.Pattern.Functor.Bivariant.Bivariant p (->) (->) (->), Pandora.Pattern.Functor.Contravariant.Contravariant t, Pandora.Pattern.Functor.Contravariant.Contravariant u) => Pandora.Pattern.Functor.Contravariant.Contravariant ((t Pandora.Paradigm.Schemes.T_U.>:.:< u) Pandora.Core.Functor.:= p)
- Pandora.Paradigm.Schemes.T_U: instance (forall i. Pandora.Pattern.Functor.Covariant.Covariant (p i), Pandora.Pattern.Functor.Bivariant.Bivariant p (->) (->) (->), Pandora.Pattern.Functor.Covariant.Covariant t, Pandora.Pattern.Functor.Covariant.Covariant u) => Pandora.Pattern.Functor.Covariant.Covariant ((t Pandora.Paradigm.Schemes.T_U.<:.:> u) Pandora.Core.Functor.:= p)
- Pandora.Paradigm.Schemes.T_U: instance (forall i. Pandora.Pattern.Functor.Covariant.Covariant_ (p i) (->) (->), Pandora.Pattern.Functor.Bivariant.Bivariant p (->) (->) (->), Pandora.Pattern.Functor.Covariant.Covariant_ t (->) (->), Pandora.Pattern.Functor.Covariant.Covariant_ u (->) (->)) => Pandora.Pattern.Functor.Covariant.Covariant_ ((t Pandora.Paradigm.Schemes.T_U.<:.:> u) Pandora.Core.Functor.:= p) (->) (->)
- Pandora.Paradigm.Schemes.UT: instance (Pandora.Pattern.Functor.Applicative.Applicative t, Pandora.Pattern.Functor.Applicative.Applicative u) => Pandora.Pattern.Functor.Applicative.Applicative (t Pandora.Paradigm.Schemes.UT.<.:> u)
- Pandora.Paradigm.Schemes.UT: instance (Pandora.Pattern.Functor.Covariant.Covariant t, Pandora.Pattern.Functor.Covariant.Covariant u) => Pandora.Pattern.Functor.Covariant.Covariant (t Pandora.Paradigm.Schemes.UT.<.:> u)
- Pandora.Paradigm.Schemes.UT: instance (Pandora.Pattern.Functor.Covariant.Covariant_ t (->) (->), Pandora.Pattern.Functor.Covariant.Covariant_ u (->) (->)) => Pandora.Pattern.Functor.Covariant.Covariant_ (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.Applicative.Semimonoidal u (Pandora.Paradigm.Primary.Algebraic.Product.:*:) (->) (->), Pandora.Pattern.Functor.Pointable.Pointable u (->), Pandora.Pattern.Functor.Bindable.Bindable u (->)) => Pandora.Pattern.Functor.Bindable.Bindable (t Pandora.Paradigm.Schemes.UT.<.:> u) (->)
- Pandora.Paradigm.Structure: instance (Pandora.Pattern.Functor.Covariant.Covariant t, Pandora.Pattern.Functor.Covariant.Covariant_ t (->) (->)) => Pandora.Paradigm.Structure.Ability.Substructure.Substructure 'Pandora.Paradigm.Primary.Functor.Wye.Left ((t Pandora.Paradigm.Schemes.T_U.<:.:> t) Pandora.Core.Functor.:= (Pandora.Paradigm.Primary.Algebraic.Product.:*:))
- Pandora.Paradigm.Structure: instance (Pandora.Pattern.Functor.Covariant.Covariant t, Pandora.Pattern.Functor.Covariant.Covariant_ t (->) (->)) => Pandora.Paradigm.Structure.Ability.Substructure.Substructure 'Pandora.Paradigm.Primary.Functor.Wye.Right ((t Pandora.Paradigm.Schemes.T_U.<:.:> t) Pandora.Core.Functor.:= (Pandora.Paradigm.Primary.Algebraic.Product.:*:))
- Pandora.Paradigm.Structure: instance (Pandora.Pattern.Functor.Covariant.Covariant t, Pandora.Pattern.Functor.Covariant.Covariant_ t (->) (->)) => Pandora.Paradigm.Structure.Ability.Substructure.Substructure 'Pandora.Paradigm.Structure.Ability.Substructure.Tail (Pandora.Paradigm.Primary.Transformer.Tap.Tap t)
- Pandora.Paradigm.Structure.Modification.Comprehension: instance (Pandora.Pattern.Functor.Avoidable.Avoidable t, Pandora.Pattern.Functor.Alternative.Alternative t) => Pandora.Pattern.Functor.Avoidable.Avoidable (Pandora.Paradigm.Structure.Modification.Comprehension.Comprehension t)
- Pandora.Paradigm.Structure.Modification.Comprehension: instance (Pandora.Pattern.Functor.Avoidable.Avoidable t, Pandora.Pattern.Functor.Pointable.Pointable t (->)) => Pandora.Pattern.Functor.Pointable.Pointable (Pandora.Paradigm.Structure.Modification.Comprehension.Comprehension t) (->)
- Pandora.Paradigm.Structure.Modification.Comprehension: instance (Pandora.Pattern.Functor.Covariant.Covariant t, Pandora.Pattern.Functor.Covariant.Covariant_ t (->) (->), Pandora.Pattern.Functor.Pointable.Pointable 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 (forall a. Pandora.Pattern.Object.Semigroup.Semigroup ((t Pandora.Paradigm.Schemes.TU.<:.> Pandora.Paradigm.Primary.Transformer.Construction.Construction t) Pandora.Core.Functor.:= a), Pandora.Pattern.Functor.Bindable.Bindable t (->), Pandora.Pattern.Functor.Pointable.Pointable t (->), Pandora.Pattern.Functor.Avoidable.Avoidable t) => Pandora.Pattern.Functor.Applicative.Applicative (Pandora.Paradigm.Structure.Modification.Comprehension.Comprehension t)
- Pandora.Paradigm.Structure.Modification.Comprehension: instance (forall a. Pandora.Pattern.Object.Semigroup.Semigroup ((t Pandora.Paradigm.Schemes.TU.<:.> Pandora.Paradigm.Primary.Transformer.Construction.Construction t) Pandora.Core.Functor.:= a), Pandora.Pattern.Functor.Pointable.Pointable t (->), Pandora.Pattern.Functor.Avoidable.Avoidable t, Pandora.Pattern.Functor.Bindable.Bindable t (->)) => Pandora.Pattern.Functor.Monad.Monad (Pandora.Paradigm.Structure.Modification.Comprehension.Comprehension t)
- Pandora.Paradigm.Structure.Modification.Comprehension: instance Pandora.Pattern.Functor.Alternative.Alternative t => Pandora.Pattern.Functor.Alternative.Alternative (Pandora.Paradigm.Structure.Modification.Comprehension.Comprehension t)
- Pandora.Paradigm.Structure.Modification.Comprehension: instance Pandora.Pattern.Functor.Covariant.Covariant (t Pandora.Paradigm.Schemes.TU.<:.> Pandora.Paradigm.Primary.Transformer.Construction.Construction t) => Pandora.Pattern.Functor.Covariant.Covariant (Pandora.Paradigm.Structure.Modification.Comprehension.Comprehension t)
- Pandora.Paradigm.Structure.Modification.Comprehension: instance Pandora.Pattern.Functor.Covariant.Covariant_ (t Pandora.Paradigm.Schemes.TU.<:.> Pandora.Paradigm.Primary.Transformer.Construction.Construction t) (->) (->) => Pandora.Pattern.Functor.Covariant.Covariant_ (Pandora.Paradigm.Structure.Modification.Comprehension.Comprehension t) (->) (->)
- Pandora.Paradigm.Structure.Modification.Prefixed: instance Pandora.Pattern.Functor.Alternative.Alternative t => Pandora.Pattern.Functor.Alternative.Alternative (Pandora.Paradigm.Structure.Modification.Prefixed.Prefixed t k)
- Pandora.Paradigm.Structure.Modification.Prefixed: instance Pandora.Pattern.Functor.Avoidable.Avoidable t => Pandora.Pattern.Functor.Avoidable.Avoidable (Pandora.Paradigm.Structure.Modification.Prefixed.Prefixed t k)
- Pandora.Paradigm.Structure.Modification.Prefixed: instance Pandora.Pattern.Functor.Covariant.Covariant t => Pandora.Paradigm.Structure.Ability.Morphable.Morphable ('Pandora.Paradigm.Structure.Ability.Morphable.Into t) (Pandora.Paradigm.Structure.Modification.Prefixed.Prefixed t k)
- Pandora.Paradigm.Structure.Modification.Prefixed: instance Pandora.Pattern.Functor.Covariant.Covariant t => Pandora.Pattern.Functor.Covariant.Covariant (Pandora.Paradigm.Structure.Modification.Prefixed.Prefixed t k)
- Pandora.Paradigm.Structure.Modification.Prefixed: instance Pandora.Pattern.Functor.Covariant.Covariant_ t (->) (->) => Pandora.Pattern.Functor.Covariant.Covariant_ (Pandora.Paradigm.Structure.Modification.Prefixed.Prefixed t k) (->) (->)
- Pandora.Paradigm.Structure.Some.Binary: instance Pandora.Pattern.Functor.Covariant.Covariant Pandora.Paradigm.Structure.Some.Binary.Biforked
- Pandora.Paradigm.Structure.Some.Binary: instance Pandora.Pattern.Functor.Covariant.Covariant_ Pandora.Paradigm.Structure.Some.Binary.Biforked (->) (->)
- Pandora.Paradigm.Structure.Some.List: instance Pandora.Pattern.Functor.Applicative.Applicative (Pandora.Paradigm.Primary.Transformer.Tap.Tap ((Pandora.Paradigm.Structure.Modification.Comprehension.Comprehension Pandora.Paradigm.Primary.Functor.Maybe.Maybe Pandora.Paradigm.Schemes.T_U.<:.:> Pandora.Paradigm.Structure.Modification.Comprehension.Comprehension Pandora.Paradigm.Primary.Functor.Maybe.Maybe) Pandora.Core.Functor.:= (Pandora.Paradigm.Primary.Algebraic.Product.:*:)))
- Pandora.Paradigm.Structure.Some.Rose: instance Pandora.Paradigm.Structure.Ability.Substructure.Substructure 'Pandora.Paradigm.Primary.Functor.Maybe.Just Pandora.Paradigm.Structure.Some.Rose.Rose
- Pandora.Paradigm.Structure.Some.Rose: instance Pandora.Paradigm.Structure.Ability.Substructure.Substructure 'Pandora.Paradigm.Structure.Ability.Substructure.Root Pandora.Paradigm.Structure.Some.Rose.Rose
- Pandora.Paradigm.Structure.Some.Rose: instance Pandora.Pattern.Object.Setoid.Setoid k => Pandora.Paradigm.Structure.Ability.Morphable.Morphable ('Pandora.Paradigm.Structure.Ability.Morphable.Vary 'Pandora.Paradigm.Structure.Ability.Morphable.Element) (Pandora.Paradigm.Structure.Modification.Prefixed.Prefixed (Pandora.Paradigm.Primary.Transformer.Construction.Construction Pandora.Paradigm.Structure.Some.List.List) k)
- Pandora.Paradigm.Structure.Some.Rose: instance Pandora.Pattern.Object.Setoid.Setoid k => Pandora.Paradigm.Structure.Ability.Morphable.Morphable ('Pandora.Paradigm.Structure.Ability.Morphable.Vary 'Pandora.Paradigm.Structure.Ability.Morphable.Element) (Pandora.Paradigm.Structure.Modification.Prefixed.Prefixed Pandora.Paradigm.Structure.Some.Rose.Rose k)
- Pandora.Pattern.Category: (.) :: Category m => m b c -> m a b -> m a c
- Pandora.Pattern.Category: infixr 9 .
- Pandora.Pattern.Functor: (<***+>) :: (Applicative t, Applicative u, Applicative v, Alternative w) => ((t :. (u :. (v :. w))) := a) -> ((t :. (u :. (v :. w))) := a) -> (t :. (u :. (v :. w))) := a
- Pandora.Pattern.Functor: (<**+>) :: (Applicative t, Applicative u, Alternative v) => ((t :. (u :. v)) := a) -> ((t :. (u :. v)) := a) -> (t :. (u :. v)) := a
- Pandora.Pattern.Functor: (<*+>) :: (Applicative t, Alternative u) => ((t :. u) := a) -> ((t :. u) := a) -> (t :. u) := a
- Pandora.Pattern.Functor.Alternative: (<+>) :: Alternative t => t a -> t a -> t a
- Pandora.Pattern.Functor.Alternative: alter :: Alternative t => t a -> t a -> t a
- Pandora.Pattern.Functor.Alternative: class Covariant t => Alternative t
- Pandora.Pattern.Functor.Alternative: infixl 3 <+>
- Pandora.Pattern.Functor.Applicative: (*>) :: Applicative t => t a -> t b -> t b
- Pandora.Pattern.Functor.Applicative: (<%>) :: Applicative t => t a -> t (a -> b) -> t b
- Pandora.Pattern.Functor.Applicative: (<*) :: Applicative t => t a -> t b -> t a
- Pandora.Pattern.Functor.Applicative: (<****>) :: (Applicative t, Applicative u, Applicative v, Applicative w) => ((t :. (u :. (v :. w))) := (a -> b)) -> ((t :. (u :. (v :. w))) := a) -> (t :. (u :. (v :. w))) := b
- Pandora.Pattern.Functor.Applicative: (<***>) :: (Applicative t, Applicative u, Applicative v) => ((t :. (u :. v)) := (a -> b)) -> ((t :. (u :. v)) := a) -> (t :. (u :. v)) := b
- Pandora.Pattern.Functor.Applicative: (<**>) :: (Applicative t, Applicative u) => ((t :. u) := (a -> b)) -> ((t :. u) := a) -> (t :. u) := b
- Pandora.Pattern.Functor.Applicative: (<*>) :: Applicative t => t (a -> b) -> t a -> t b
- Pandora.Pattern.Functor.Applicative: apply :: Applicative t => t (a -> b) -> t a -> t b
- Pandora.Pattern.Functor.Applicative: class Covariant t => Applicative t
- Pandora.Pattern.Functor.Applicative: class (Covariant_ t source target, Bivariant v source source target) => Semimonoidal t v source target
- Pandora.Pattern.Functor.Applicative: forever :: Applicative t => t a -> t b
- Pandora.Pattern.Functor.Applicative: infixl 1 <****>
- Pandora.Pattern.Functor.Applicative: infixl 2 <***>
- Pandora.Pattern.Functor.Applicative: infixl 3 <**>
- Pandora.Pattern.Functor.Applicative: infixl 4 <*>
- Pandora.Pattern.Functor.Applicative: multiply :: Semimonoidal t v source target => source (v a b) r -> target (v (t a) (t b)) (t r)
- Pandora.Pattern.Functor.Avoidable: class Alternative t => Avoidable t
- Pandora.Pattern.Functor.Avoidable: empty :: Avoidable t => t a
- Pandora.Pattern.Functor.Contravariant: ($<) :: Contravariant t => t b -> b -> t a
- Pandora.Pattern.Functor.Contravariant: (>$$$$<) :: (Contravariant t, Contravariant u, Contravariant v, Contravariant w) => (a -> b) -> ((t :. (u :. (v :. w))) := a) -> (t :. (u :. (v :. w))) := b
- Pandora.Pattern.Functor.Contravariant: (>$$$<) :: (Contravariant t, Contravariant u, Contravariant v) => (a -> b) -> ((t :. (u :. v)) := b) -> (t :. (u :. v)) := a
- Pandora.Pattern.Functor.Contravariant: (>$$<) :: (Contravariant t, Contravariant u) => (a -> b) -> ((t :. u) := a) -> (t :. u) := b
- Pandora.Pattern.Functor.Contravariant: (>$) :: Contravariant t => b -> t b -> t a
- Pandora.Pattern.Functor.Contravariant: (>$<) :: Contravariant t => (a -> b) -> t b -> t a
- Pandora.Pattern.Functor.Contravariant: (>&&&&<) :: (Contravariant t, Contravariant u, Contravariant v, Contravariant w) => ((t :. (u :. (v :. w))) := a) -> (a -> b) -> (t :. (u :. (v :. w))) := b
- Pandora.Pattern.Functor.Contravariant: (>&&&<) :: (Contravariant t, Contravariant u, Contravariant v) => ((t :. (u :. v)) := b) -> (a -> b) -> (t :. (u :. v)) := a
- Pandora.Pattern.Functor.Contravariant: (>&&<) :: (Contravariant t, Contravariant u) => ((t :. u) := a) -> (a -> b) -> (t :. u) := b
- Pandora.Pattern.Functor.Contravariant: (>&<) :: Contravariant t => t b -> (a -> b) -> t a
- Pandora.Pattern.Functor.Contravariant: class (Category source, Category target) => Contravariant_ t source target
- Pandora.Pattern.Functor.Contravariant: contramap :: Contravariant t => (a -> b) -> t b -> t a
- Pandora.Pattern.Functor.Contravariant: full :: Contravariant t => t () -> t a
- Pandora.Pattern.Functor.Covariant: ($$$$>) :: (Covariant t, Covariant u, Covariant v, Covariant w) => ((t :. (u :. (v :. w))) := a) -> b -> (t :. (u :. (v :. w))) := b
- Pandora.Pattern.Functor.Covariant: ($$$>) :: (Covariant t, Covariant u, Covariant v) => ((t :. (u :. v)) := a) -> b -> (t :. (u :. v)) := b
- Pandora.Pattern.Functor.Covariant: ($$>) :: (Covariant t, Covariant u) => ((t :. u) := a) -> b -> (t :. u) := b
- Pandora.Pattern.Functor.Covariant: ($>) :: Covariant t => t a -> b -> t b
- Pandora.Pattern.Functor.Covariant: (.#..) :: (Covariant t, t ~ v a, Category v) => v c d -> ((v a :. v b) := c) -> (v a :. v b) := d
- Pandora.Pattern.Functor.Covariant: (.#...) :: (Covariant t, t ~ v a, t ~ v b, Category v, Covariant (v a), Covariant (v b)) => v d e -> ((v a :. (v b :. v c)) := d) -> (v a :. (v b :. v c)) := e
- Pandora.Pattern.Functor.Covariant: (.#....) :: (Covariant t, t ~ v a, t ~ v b, t ~ v c, Category v, Covariant (v a), Covariant (v b), Covariant (v c)) => v e f -> ((v a :. (v b :. (v c :. v d))) := e) -> (v a :. (v b :. (v c :. v d))) := f
- Pandora.Pattern.Functor.Covariant: (<$$$$) :: (Covariant t, Covariant u, Covariant v, Covariant w) => b -> ((t :. (u :. (v :. w))) := a) -> (t :. (u :. (v :. w))) := b
- Pandora.Pattern.Functor.Covariant: (<$$$$>) :: (Covariant t, Covariant u, Covariant v, Covariant w) => (a -> b) -> ((t :. (u :. (v :. w))) := a) -> (t :. (u :. (v :. w))) := b
- Pandora.Pattern.Functor.Covariant: (<$$$) :: (Covariant t, Covariant u, Covariant v) => b -> ((t :. (u :. v)) := a) -> (t :. (u :. v)) := b
- Pandora.Pattern.Functor.Covariant: (<$$$>) :: (Covariant t, Covariant u, Covariant v) => (a -> b) -> ((t :. (u :. v)) := a) -> (t :. (u :. v)) := b
- Pandora.Pattern.Functor.Covariant: (<$$) :: (Covariant t, Covariant u) => b -> ((t :. u) := a) -> (t :. u) := b
- Pandora.Pattern.Functor.Covariant: (<$$>) :: (Covariant t, Covariant u) => (a -> b) -> ((t :. u) := a) -> (t :. u) := b
- Pandora.Pattern.Functor.Covariant: (<$) :: Covariant t => a -> t b -> t a
- Pandora.Pattern.Functor.Covariant: (<$>) :: Covariant t => (a -> b) -> t a -> t b
- Pandora.Pattern.Functor.Covariant: (<&&&&>) :: (Covariant t, Covariant u, Covariant v, Covariant w) => ((t :. (u :. (v :. w))) := a) -> (a -> b) -> (t :. (u :. (v :. w))) := b
- Pandora.Pattern.Functor.Covariant: (<&&&>) :: (Covariant t, Covariant u, Covariant v) => ((t :. (u :. v)) := a) -> (a -> b) -> (t :. (u :. v)) := b
- Pandora.Pattern.Functor.Covariant: (<&&>) :: (Covariant t, Covariant u) => ((t :. u) := a) -> (a -> b) -> (t :. u) := b
- Pandora.Pattern.Functor.Covariant: (<&>) :: Covariant t => t a -> (a -> b) -> t b
- Pandora.Pattern.Functor.Covariant: class (Category source, Category target) => Covariant_ t source target
- Pandora.Pattern.Functor.Covariant: comap :: Covariant t => (a -> b) -> t a -> t b
- Pandora.Pattern.Functor.Covariant: infixl 1 <$$$$>
- Pandora.Pattern.Functor.Covariant: infixl 2 <$$$>
- Pandora.Pattern.Functor.Covariant: infixr 7 .#..
- Pandora.Pattern.Functor.Covariant: loeb :: Covariant t => t (a <:= t) -> t a
- Pandora.Pattern.Functor.Covariant: void :: Covariant t => t a -> t ()
- Pandora.Pattern.Functor.Determinable: class Contravariant t => Determinable t
- Pandora.Pattern.Functor.Determinable: determine :: Determinable t => t a
- Pandora.Pattern.Functor.Divisible: (>*<) :: Divisible t => t b -> t c -> t (b :*: c)
- Pandora.Pattern.Functor.Divisible: class Contravariant t => Divisible t
- Pandora.Pattern.Functor.Divisible: class Bivariant v source source target => Divisible_ t v source target
- Pandora.Pattern.Functor.Divisible: divide :: Divisible_ t v source target => source r (v a b) -> target (v (t a) (t b)) (t r)
- Pandora.Pattern.Functor.Divisible: infixr 5 >*<
+ 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.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.Transformer.Comonadic: instance Pandora.Pattern.Functor.Covariant.Covariant (Pandora.Paradigm.Controlflow.Effect.Interpreted.Schematic Pandora.Pattern.Functor.Comonad.Comonad t u) (->) (->) => Pandora.Pattern.Functor.Covariant.Covariant (t Pandora.Paradigm.Controlflow.Effect.Transformer.Comonadic.:< u) (->) (->)
+ Pandora.Paradigm.Controlflow.Effect.Transformer.Comonadic: instance Pandora.Pattern.Functor.Semimonoidal.Semimonoidal (Pandora.Paradigm.Controlflow.Effect.Interpreted.Schematic Pandora.Pattern.Functor.Comonad.Comonad t u) (->) (Pandora.Paradigm.Primary.Algebraic.Product.:*:) (Pandora.Paradigm.Primary.Algebraic.Product.:*:) => Pandora.Pattern.Functor.Semimonoidal.Semimonoidal (t Pandora.Paradigm.Controlflow.Effect.Transformer.Comonadic.:< u) (->) (Pandora.Paradigm.Primary.Algebraic.Product.:*:) (Pandora.Paradigm.Primary.Algebraic.Product.:*:)
+ 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.Pointable.Pointable (t Pandora.Paradigm.Controlflow.Effect.Transformer.Monadic.:> 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.Covariant.Covariant (Pandora.Paradigm.Controlflow.Effect.Interpreted.Schematic Pandora.Pattern.Functor.Monad.Monad t u) (->) (->) => Pandora.Pattern.Functor.Covariant.Covariant (t Pandora.Paradigm.Controlflow.Effect.Transformer.Monadic.:> u) (->) (->)
+ Pandora.Paradigm.Controlflow.Effect.Transformer.Monadic: instance Pandora.Pattern.Functor.Semimonoidal.Semimonoidal (Pandora.Paradigm.Controlflow.Effect.Interpreted.Schematic Pandora.Pattern.Functor.Monad.Monad t u) (->) (Pandora.Paradigm.Primary.Algebraic.Product.:*:) (Pandora.Paradigm.Primary.Algebraic.Product.:*:) => Pandora.Pattern.Functor.Semimonoidal.Semimonoidal (t Pandora.Paradigm.Controlflow.Effect.Transformer.Monadic.:> u) (->) (Pandora.Paradigm.Primary.Algebraic.Product.:*:) (Pandora.Paradigm.Primary.Algebraic.Product.:*:)
+ Pandora.Paradigm.Inventory.Accumulator: instance Pandora.Pattern.Functor.Covariant.Covariant (Pandora.Paradigm.Inventory.Accumulator.Accumulator e) (->) (->)
+ Pandora.Paradigm.Inventory.Accumulator: instance Pandora.Pattern.Object.Semigroup.Semigroup e => Pandora.Pattern.Functor.Semimonoidal.Semimonoidal (Pandora.Paradigm.Inventory.Accumulator.Accumulator e) (->) (Pandora.Paradigm.Primary.Algebraic.Product.:*:) (Pandora.Paradigm.Primary.Algebraic.Product.:*:)
+ Pandora.Paradigm.Inventory.Environment: instance Pandora.Pattern.Functor.Contravariant.Contravariant (Pandora.Paradigm.Primary.Transformer.Flip.Flip Pandora.Paradigm.Inventory.Environment.Environment a) (->) (->)
+ Pandora.Paradigm.Inventory.Environment: instance Pandora.Pattern.Functor.Covariant.Covariant (Pandora.Paradigm.Inventory.Environment.Environment e) (->) (->)
+ Pandora.Paradigm.Inventory.Environment: instance Pandora.Pattern.Functor.Semimonoidal.Semimonoidal (Pandora.Paradigm.Inventory.Environment.Environment e) (->) (Pandora.Paradigm.Primary.Algebraic.Product.:*:) (Pandora.Paradigm.Primary.Algebraic.Product.:*:)
+ Pandora.Paradigm.Inventory.Equipment: instance Pandora.Pattern.Functor.Covariant.Covariant (Pandora.Paradigm.Inventory.Equipment.Equipment e) (->) (->)
+ Pandora.Paradigm.Inventory.Imprint: instance Pandora.Pattern.Functor.Contravariant.Contravariant (Pandora.Paradigm.Primary.Transformer.Flip.Flip Pandora.Paradigm.Inventory.Imprint.Imprint a) (->) (->)
+ Pandora.Paradigm.Inventory.Imprint: instance Pandora.Pattern.Functor.Covariant.Covariant (Pandora.Paradigm.Inventory.Imprint.Imprint e) (->) (->)
+ Pandora.Paradigm.Inventory.Optics: instance Pandora.Pattern.Semigroupoid.Semigroupoid (Pandora.Paradigm.Inventory.Optics.Lens Pandora.Paradigm.Primary.Functor.Identity.Identity)
+ Pandora.Paradigm.Inventory.Optics: instance Pandora.Pattern.Semigroupoid.Semigroupoid (Pandora.Paradigm.Inventory.Optics.Lens Pandora.Paradigm.Primary.Functor.Maybe.Maybe)
+ Pandora.Paradigm.Inventory.State: instance Pandora.Pattern.Functor.Covariant.Covariant (Pandora.Paradigm.Inventory.State.State s) (->) (->)
+ Pandora.Paradigm.Inventory.State: instance Pandora.Pattern.Functor.Semimonoidal.Semimonoidal (Pandora.Paradigm.Inventory.State.State s) (->) (Pandora.Paradigm.Primary.Algebraic.Product.:*:) (Pandora.Paradigm.Primary.Algebraic.Product.:*:)
+ Pandora.Paradigm.Inventory.Store: instance Pandora.Pattern.Functor.Covariant.Covariant (Pandora.Paradigm.Inventory.Store.Store s) (->) (->)
+ Pandora.Paradigm.Primary: instance Pandora.Pattern.Semigroupoid.Semigroupoid (Pandora.Paradigm.Primary.Transformer.Flip.Flip (->))
+ Pandora.Paradigm.Primary.Algebraic: ($$$>-) :: (Covariant t (->) (->), Covariant u (->) (->), Covariant v (->) (->)) => t (u (v a)) -> b -> t (u (v b))
+ Pandora.Paradigm.Primary.Algebraic: ($$>-) :: (Covariant t (->) (->), Covariant u (->) (->)) => t (u a) -> b -> t (u b)
+ Pandora.Paradigm.Primary.Algebraic: ($>-) :: Covariant t (->) (->) => t a -> b -> t b
+ Pandora.Paradigm.Primary.Algebraic: (*>-) :: Applicative_ t => t a -> t b -> t b
+ Pandora.Paradigm.Primary.Algebraic: (-+-) :: Alternative_ t => t a -> t b -> ((a :+: b) -> r) -> t r
+ Pandora.Paradigm.Primary.Algebraic: forever_ :: Applicative_ t => t a -> t b
+ Pandora.Paradigm.Primary.Algebraic: instance Pandora.Pattern.Functor.Semimonoidal.Semimonoidal ((->) e) (->) (Pandora.Paradigm.Primary.Algebraic.Product.:*:) (Pandora.Paradigm.Primary.Algebraic.Product.:*:)
+ Pandora.Paradigm.Primary.Algebraic: instance Pandora.Pattern.Functor.Semimonoidal.Semimonoidal ((Pandora.Paradigm.Primary.Algebraic.Sum.:+:) e) (->) (Pandora.Paradigm.Primary.Algebraic.Product.:*:) (Pandora.Paradigm.Primary.Algebraic.Sum.:+:)
+ Pandora.Paradigm.Primary.Algebraic: type Alternative_ t = (Endofunctor Covariant t (->), Semimonoidal t (->) (:*:) (:+:))
+ Pandora.Paradigm.Primary.Algebraic: type Applicative_ t = (Endofunctor Covariant t (->), Semimonoidal t (->) (:*:) (:*:))
+ Pandora.Paradigm.Primary.Algebraic.Exponential: infixr 7 -.#..-
+ Pandora.Paradigm.Primary.Algebraic.Exponential: instance Pandora.Pattern.Functor.Contravariant.Contravariant (Pandora.Paradigm.Primary.Transformer.Flip.Flip (->) a) (->) (->)
+ Pandora.Paradigm.Primary.Algebraic.Exponential: instance Pandora.Pattern.Functor.Covariant.Covariant ((->) a) (->) (->)
+ Pandora.Paradigm.Primary.Algebraic.Exponential: instance Pandora.Pattern.Semigroupoid.Semigroupoid (->)
+ Pandora.Paradigm.Primary.Algebraic.Product: instance Pandora.Pattern.Functor.Covariant.Covariant ((Pandora.Paradigm.Primary.Algebraic.Product.:*:) s) (->) (->)
+ Pandora.Paradigm.Primary.Algebraic.Product: instance Pandora.Pattern.Functor.Covariant.Covariant (Pandora.Paradigm.Primary.Transformer.Flip.Flip (Pandora.Paradigm.Primary.Algebraic.Product.:*:) a) (->) (->)
+ Pandora.Paradigm.Primary.Algebraic.Product: instance Pandora.Pattern.Functor.Semimonoidal.Semimonoidal t (->) (Pandora.Paradigm.Primary.Algebraic.Product.:*:) (Pandora.Paradigm.Primary.Algebraic.Product.:*:) => Pandora.Pattern.Functor.Semimonoidal.Semimonoidal ((t Pandora.Paradigm.Schemes.T_U.<:.:> t) Pandora.Core.Functor.:= (Pandora.Paradigm.Primary.Algebraic.Product.:*:)) (->) (Pandora.Paradigm.Primary.Algebraic.Product.:*:) (Pandora.Paradigm.Primary.Algebraic.Product.:*:)
+ Pandora.Paradigm.Primary.Algebraic.Sum: Adoption :: a -> (:+:) s a
+ Pandora.Paradigm.Primary.Algebraic.Sum: Option :: s -> (:+:) s a
+ Pandora.Paradigm.Primary.Algebraic.Sum: data (:+:) s a
+ Pandora.Paradigm.Primary.Algebraic.Sum: infixr 0 :+:
+ Pandora.Paradigm.Primary.Algebraic.Sum: instance Pandora.Pattern.Functor.Bivariant.Bivariant (Pandora.Paradigm.Primary.Algebraic.Sum.:+:) (->) (->) (->)
+ Pandora.Paradigm.Primary.Algebraic.Sum: instance Pandora.Pattern.Functor.Covariant.Covariant ((Pandora.Paradigm.Primary.Algebraic.Sum.:+:) s) (->) (->)
+ Pandora.Paradigm.Primary.Algebraic.Sum: instance Pandora.Pattern.Functor.Covariant.Covariant (Pandora.Paradigm.Primary.Transformer.Flip.Flip (Pandora.Paradigm.Primary.Algebraic.Sum.:+:) a) (->) (->)
+ Pandora.Paradigm.Primary.Algebraic.Sum: instance Pandora.Pattern.Functor.Pointable.Pointable ((Pandora.Paradigm.Primary.Algebraic.Sum.:+:) e) (->)
+ Pandora.Paradigm.Primary.Functor.Conclusion: instance Pandora.Pattern.Functor.Covariant.Covariant (Pandora.Paradigm.Primary.Functor.Conclusion.Conclusion e) (->) (->)
+ Pandora.Paradigm.Primary.Functor.Conclusion: instance Pandora.Pattern.Functor.Covariant.Covariant (Pandora.Paradigm.Primary.Transformer.Flip.Flip Pandora.Paradigm.Primary.Functor.Conclusion.Conclusion e) (->) (->)
+ Pandora.Paradigm.Primary.Functor.Conclusion: instance Pandora.Pattern.Functor.Semimonoidal.Semimonoidal (Pandora.Paradigm.Primary.Functor.Conclusion.Conclusion e) (->) (Pandora.Paradigm.Primary.Algebraic.Product.:*:) (Pandora.Paradigm.Primary.Algebraic.Product.:*:)
+ Pandora.Paradigm.Primary.Functor.Conclusion: instance Pandora.Pattern.Object.Semigroup.Semigroup e => Pandora.Pattern.Functor.Semimonoidal.Semimonoidal (Pandora.Paradigm.Primary.Functor.Conclusion.Conclusion e) (->) (Pandora.Paradigm.Primary.Algebraic.Product.:*:) (Pandora.Paradigm.Primary.Algebraic.Sum.:+:)
+ Pandora.Paradigm.Primary.Functor.Constant: instance Pandora.Pattern.Functor.Contravariant.Contravariant (Pandora.Paradigm.Primary.Functor.Constant.Constant a) (->) (->)
+ Pandora.Paradigm.Primary.Functor.Constant: instance Pandora.Pattern.Functor.Covariant.Covariant (Pandora.Paradigm.Primary.Functor.Constant.Constant a) (->) (->)
+ Pandora.Paradigm.Primary.Functor.Constant: instance Pandora.Pattern.Functor.Covariant.Covariant (Pandora.Paradigm.Primary.Transformer.Flip.Flip Pandora.Paradigm.Primary.Functor.Constant.Constant b) (->) (->)
+ Pandora.Paradigm.Primary.Functor.Convergence: instance Pandora.Pattern.Functor.Contravariant.Contravariant (Pandora.Paradigm.Primary.Functor.Convergence.Convergence r) (->) (->)
+ Pandora.Paradigm.Primary.Functor.Edges: instance Pandora.Pattern.Functor.Covariant.Covariant Pandora.Paradigm.Primary.Functor.Edges.Edges (->) (->)
+ Pandora.Paradigm.Primary.Functor.Identity: instance Pandora.Pattern.Functor.Covariant.Covariant Pandora.Paradigm.Primary.Functor.Identity.Identity (->) (->)
+ Pandora.Paradigm.Primary.Functor.Maybe: instance Pandora.Pattern.Functor.Covariant.Covariant Pandora.Paradigm.Primary.Functor.Maybe.Maybe (->) (->)
+ Pandora.Paradigm.Primary.Functor.Maybe: instance Pandora.Pattern.Functor.Semimonoidal.Semimonoidal Pandora.Paradigm.Primary.Functor.Maybe.Maybe (->) (Pandora.Paradigm.Primary.Algebraic.Product.:*:) (Pandora.Paradigm.Primary.Algebraic.Product.:*:)
+ Pandora.Paradigm.Primary.Functor.Maybe: instance Pandora.Pattern.Functor.Semimonoidal.Semimonoidal Pandora.Paradigm.Primary.Functor.Maybe.Maybe (->) (Pandora.Paradigm.Primary.Algebraic.Product.:*:) (Pandora.Paradigm.Primary.Algebraic.Sum.:+:)
+ Pandora.Paradigm.Primary.Functor.Predicate: instance Pandora.Pattern.Functor.Contravariant.Contravariant Pandora.Paradigm.Primary.Functor.Predicate.Predicate (->) (->)
+ Pandora.Paradigm.Primary.Functor.Proxy: instance Pandora.Pattern.Functor.Contravariant.Contravariant Pandora.Paradigm.Primary.Functor.Proxy.Proxy (->) (->)
+ Pandora.Paradigm.Primary.Functor.Proxy: instance Pandora.Pattern.Functor.Covariant.Covariant Pandora.Paradigm.Primary.Functor.Proxy.Proxy (->) (->)
+ Pandora.Paradigm.Primary.Functor.Tagged: instance Pandora.Pattern.Functor.Covariant.Covariant (Pandora.Paradigm.Primary.Transformer.Flip.Flip Pandora.Paradigm.Primary.Functor.Tagged.Tagged a) (->) (->)
+ Pandora.Paradigm.Primary.Functor.Tagged: instance forall k (tag :: k). Pandora.Pattern.Functor.Covariant.Covariant (Pandora.Paradigm.Primary.Functor.Tagged.Tagged tag) (->) (->)
+ Pandora.Paradigm.Primary.Functor.These: instance Pandora.Pattern.Functor.Covariant.Covariant (Pandora.Paradigm.Primary.Functor.These.These e) (->) (->)
+ Pandora.Paradigm.Primary.Functor.Validation: instance Pandora.Pattern.Functor.Covariant.Covariant (Pandora.Paradigm.Primary.Functor.Validation.Validation e) (->) (->)
+ Pandora.Paradigm.Primary.Functor.Validation: instance Pandora.Pattern.Functor.Covariant.Covariant (Pandora.Paradigm.Primary.Transformer.Flip.Flip Pandora.Paradigm.Primary.Functor.Validation.Validation a) (->) (->)
+ Pandora.Paradigm.Primary.Functor.Validation: instance Pandora.Pattern.Object.Semigroup.Semigroup e => Pandora.Pattern.Functor.Semimonoidal.Semimonoidal (Pandora.Paradigm.Primary.Functor.Validation.Validation e) (->) (Pandora.Paradigm.Primary.Algebraic.Product.:*:) (Pandora.Paradigm.Primary.Algebraic.Product.:*:)
+ Pandora.Paradigm.Primary.Functor.Validation: instance Pandora.Pattern.Object.Semigroup.Semigroup e => Pandora.Pattern.Functor.Semimonoidal.Semimonoidal (Pandora.Paradigm.Primary.Functor.Validation.Validation e) (->) (Pandora.Paradigm.Primary.Algebraic.Product.:*:) (Pandora.Paradigm.Primary.Algebraic.Sum.:+:)
+ Pandora.Paradigm.Primary.Functor.Wedge: instance Pandora.Pattern.Functor.Covariant.Covariant (Pandora.Paradigm.Primary.Functor.Wedge.Wedge e) (->) (->)
+ Pandora.Paradigm.Primary.Functor.Wye: instance Pandora.Pattern.Functor.Covariant.Covariant Pandora.Paradigm.Primary.Functor.Wye.Wye (->) (->)
+ Pandora.Paradigm.Primary.Transformer.Backwards: instance (Pandora.Pattern.Functor.Semimonoidal.Semimonoidal t (->) (Pandora.Paradigm.Primary.Algebraic.Product.:*:) (Pandora.Paradigm.Primary.Algebraic.Product.:*:), Pandora.Pattern.Functor.Covariant.Covariant t (->) (->)) => Pandora.Pattern.Functor.Semimonoidal.Semimonoidal (Pandora.Paradigm.Primary.Transformer.Backwards.Backwards t) (->) (Pandora.Paradigm.Primary.Algebraic.Product.:*:) (Pandora.Paradigm.Primary.Algebraic.Product.:*:)
+ Pandora.Paradigm.Primary.Transformer.Backwards: instance Pandora.Pattern.Functor.Contravariant.Contravariant t (->) (->) => Pandora.Pattern.Functor.Contravariant.Contravariant (Pandora.Paradigm.Primary.Transformer.Backwards.Backwards t) (->) (->)
+ Pandora.Paradigm.Primary.Transformer.Backwards: instance Pandora.Pattern.Functor.Covariant.Covariant t (->) (->) => Pandora.Pattern.Functor.Covariant.Covariant (Pandora.Paradigm.Primary.Transformer.Backwards.Backwards t) (->) (->)
+ Pandora.Paradigm.Primary.Transformer.Construction: instance (Pandora.Pattern.Functor.Covariant.Covariant t (->) (->), Pandora.Pattern.Functor.Semimonoidal.Semimonoidal t (->) (Pandora.Paradigm.Primary.Algebraic.Product.:*:) (Pandora.Paradigm.Primary.Algebraic.Product.:*:)) => Pandora.Pattern.Functor.Semimonoidal.Semimonoidal (Pandora.Paradigm.Primary.Transformer.Construction.Construction t) (->) (Pandora.Paradigm.Primary.Algebraic.Product.:*:) (Pandora.Paradigm.Primary.Algebraic.Product.:*:)
+ Pandora.Paradigm.Primary.Transformer.Construction: instance (Pandora.Pattern.Object.Monoid.Monoid a, forall b. Pandora.Pattern.Object.Semigroup.Semigroup b => Pandora.Pattern.Object.Monoid.Monoid (t b), Pandora.Pattern.Functor.Covariant.Covariant t (->) (->)) => Pandora.Pattern.Object.Monoid.Monoid (Pandora.Paradigm.Primary.Transformer.Construction.Construction t a)
+ Pandora.Paradigm.Primary.Transformer.Construction: instance (Pandora.Pattern.Object.Semigroup.Semigroup a, forall b. Pandora.Pattern.Object.Semigroup.Semigroup b => Pandora.Pattern.Object.Semigroup.Semigroup (t b), Pandora.Pattern.Functor.Covariant.Covariant t (->) (->)) => Pandora.Pattern.Object.Semigroup.Semigroup (Pandora.Paradigm.Primary.Transformer.Construction.Construction t a)
+ Pandora.Paradigm.Primary.Transformer.Construction: instance (Pandora.Pattern.Object.Setoid.Setoid a, forall b. Pandora.Pattern.Object.Setoid.Setoid b => Pandora.Pattern.Object.Setoid.Setoid (t b), Pandora.Pattern.Functor.Covariant.Covariant t (->) (->)) => Pandora.Pattern.Object.Setoid.Setoid (Pandora.Paradigm.Primary.Transformer.Construction.Construction t a)
+ Pandora.Paradigm.Primary.Transformer.Construction: instance Pandora.Pattern.Functor.Covariant.Covariant t (->) (->) => Pandora.Pattern.Functor.Comonad.Comonad (Pandora.Paradigm.Primary.Transformer.Construction.Construction t) (->)
+ Pandora.Paradigm.Primary.Transformer.Construction: instance Pandora.Pattern.Functor.Covariant.Covariant t (->) (->) => Pandora.Pattern.Functor.Covariant.Covariant (Pandora.Paradigm.Primary.Transformer.Construction.Construction t) (->) (->)
+ Pandora.Paradigm.Primary.Transformer.Construction: instance Pandora.Pattern.Functor.Covariant.Covariant t (->) (->) => Pandora.Pattern.Functor.Extendable.Extendable (Pandora.Paradigm.Primary.Transformer.Construction.Construction t) (->)
+ Pandora.Paradigm.Primary.Transformer.Construction: instance Pandora.Pattern.Functor.Covariant.Covariant t (->) (->) => Pandora.Pattern.Functor.Extractable.Extractable (Pandora.Paradigm.Primary.Transformer.Construction.Construction t) (->)
+ Pandora.Paradigm.Primary.Transformer.Continuation: instance Pandora.Pattern.Functor.Covariant.Covariant t (->) (->) => Pandora.Pattern.Functor.Bindable.Bindable (Pandora.Paradigm.Primary.Transformer.Continuation.Continuation r t) (->)
+ Pandora.Paradigm.Primary.Transformer.Continuation: instance Pandora.Pattern.Functor.Covariant.Covariant t (->) (->) => Pandora.Pattern.Functor.Covariant.Covariant (Pandora.Paradigm.Primary.Transformer.Continuation.Continuation r t) (->) (->)
+ Pandora.Paradigm.Primary.Transformer.Continuation: instance Pandora.Pattern.Functor.Covariant.Covariant t (->) (->) => Pandora.Pattern.Functor.Pointable.Pointable (Pandora.Paradigm.Primary.Transformer.Continuation.Continuation r t) (->)
+ Pandora.Paradigm.Primary.Transformer.Day: Day_ :: target (category (source a b) r) (target (t a) (u b)) -> Day_ category source target t u r
+ Pandora.Paradigm.Primary.Transformer.Day: data Day_ category source target t u r
+ Pandora.Paradigm.Primary.Transformer.Day: instance Pandora.Pattern.Functor.Covariant.Covariant (Pandora.Paradigm.Primary.Transformer.Day.Day t u) (->) (->)
+ Pandora.Paradigm.Primary.Transformer.Instruction: instance (Pandora.Pattern.Functor.Covariant.Covariant t (->) (->), Pandora.Pattern.Functor.Semimonoidal.Semimonoidal t (->) (Pandora.Paradigm.Primary.Algebraic.Product.:*:) (Pandora.Paradigm.Primary.Algebraic.Product.:*:)) => Pandora.Pattern.Functor.Semimonoidal.Semimonoidal (Pandora.Paradigm.Primary.Transformer.Instruction.Instruction t) (->) (Pandora.Paradigm.Primary.Algebraic.Product.:*:) (Pandora.Paradigm.Primary.Algebraic.Product.:*:)
+ 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.Instruction: instance Pandora.Pattern.Functor.Covariant.Covariant t (->) (->) => Pandora.Pattern.Functor.Bindable.Bindable (Pandora.Paradigm.Primary.Transformer.Instruction.Instruction t) (->)
+ Pandora.Paradigm.Primary.Transformer.Instruction: instance Pandora.Pattern.Functor.Covariant.Covariant t (->) (->) => Pandora.Pattern.Functor.Covariant.Covariant (Pandora.Paradigm.Primary.Transformer.Instruction.Instruction t) (->) (->)
+ Pandora.Paradigm.Primary.Transformer.Instruction: instance Pandora.Pattern.Functor.Covariant.Covariant t (->) (->) => Pandora.Pattern.Functor.Pointable.Pointable (Pandora.Paradigm.Primary.Transformer.Instruction.Instruction t) (->)
+ Pandora.Paradigm.Primary.Transformer.Jack: instance Pandora.Pattern.Functor.Covariant.Covariant t (->) (->) => Pandora.Pattern.Functor.Covariant.Covariant (Pandora.Paradigm.Primary.Transformer.Jack.Jack t) (->) (->)
+ Pandora.Paradigm.Primary.Transformer.Jack: instance Pandora.Pattern.Functor.Covariant.Covariant t (->) (->) => Pandora.Pattern.Functor.Pointable.Pointable (Pandora.Paradigm.Primary.Transformer.Jack.Jack t) (->)
+ Pandora.Paradigm.Primary.Transformer.Jet: instance Pandora.Pattern.Functor.Covariant.Covariant t (->) (->) => Pandora.Pattern.Functor.Covariant.Covariant (Pandora.Paradigm.Primary.Transformer.Jet.Jet t) (->) (->)
+ Pandora.Paradigm.Primary.Transformer.Jet: instance Pandora.Pattern.Functor.Covariant.Covariant t (->) (->) => Pandora.Pattern.Functor.Extractable.Extractable (Pandora.Paradigm.Primary.Transformer.Jet.Jet t) (->)
+ Pandora.Paradigm.Primary.Transformer.Kan: instance Pandora.Pattern.Functor.Contravariant.Contravariant (Pandora.Paradigm.Primary.Transformer.Kan.Kan 'Pandora.Paradigm.Primary.Functor.Wye.Left t u b) (->) (->)
+ Pandora.Paradigm.Primary.Transformer.Kan: instance Pandora.Pattern.Functor.Covariant.Covariant (Pandora.Paradigm.Primary.Transformer.Kan.Kan 'Pandora.Paradigm.Primary.Functor.Wye.Right t u b) (->) (->)
+ Pandora.Paradigm.Primary.Transformer.Outline: instance Pandora.Pattern.Functor.Covariant.Covariant (Pandora.Paradigm.Primary.Transformer.Outline.Outline t) (->) (->)
+ Pandora.Paradigm.Primary.Transformer.Reverse: instance Pandora.Pattern.Functor.Contravariant.Contravariant t (->) (->) => Pandora.Pattern.Functor.Contravariant.Contravariant (Pandora.Paradigm.Primary.Transformer.Reverse.Reverse t) (->) (->)
+ Pandora.Paradigm.Primary.Transformer.Reverse: instance Pandora.Pattern.Functor.Covariant.Covariant t (->) (->) => Pandora.Pattern.Functor.Covariant.Covariant (Pandora.Paradigm.Primary.Transformer.Reverse.Reverse t) (->) (->)
+ Pandora.Paradigm.Primary.Transformer.Tap: instance (Pandora.Pattern.Functor.Extendable.Extendable t (->), Pandora.Pattern.Functor.Covariant.Covariant t (->) (->)) => Pandora.Pattern.Functor.Extendable.Extendable (Pandora.Paradigm.Primary.Transformer.Tap.Tap t) (->)
+ Pandora.Paradigm.Primary.Transformer.Tap: instance Pandora.Pattern.Functor.Covariant.Covariant t (->) (->) => Pandora.Paradigm.Structure.Ability.Substructure.Substructure 'Pandora.Paradigm.Primary.Functor.Wye.Left (Pandora.Paradigm.Primary.Transformer.Tap.Tap ((t Pandora.Paradigm.Schemes.T_U.<:.:> t) Pandora.Core.Functor.:= (Pandora.Paradigm.Primary.Algebraic.Product.:*:)))
+ Pandora.Paradigm.Primary.Transformer.Tap: instance Pandora.Pattern.Functor.Covariant.Covariant t (->) (->) => Pandora.Paradigm.Structure.Ability.Substructure.Substructure 'Pandora.Paradigm.Primary.Functor.Wye.Right (Pandora.Paradigm.Primary.Transformer.Tap.Tap ((t Pandora.Paradigm.Schemes.T_U.<:.:> t) Pandora.Core.Functor.:= (Pandora.Paradigm.Primary.Algebraic.Product.:*:)))
+ Pandora.Paradigm.Primary.Transformer.Tap: instance Pandora.Pattern.Functor.Covariant.Covariant t (->) (->) => Pandora.Paradigm.Structure.Ability.Substructure.Substructure 'Pandora.Paradigm.Structure.Ability.Substructure.Root (Pandora.Paradigm.Primary.Transformer.Tap.Tap ((t Pandora.Paradigm.Schemes.T_U.<:.:> t) Pandora.Core.Functor.:= (Pandora.Paradigm.Primary.Algebraic.Product.:*:)))
+ Pandora.Paradigm.Primary.Transformer.Tap: instance Pandora.Pattern.Functor.Covariant.Covariant t (->) (->) => Pandora.Pattern.Functor.Covariant.Covariant (Pandora.Paradigm.Primary.Transformer.Tap.Tap t) (->) (->)
+ Pandora.Paradigm.Primary.Transformer.Tap: instance Pandora.Pattern.Functor.Covariant.Covariant t (->) (->) => Pandora.Pattern.Functor.Extractable.Extractable (Pandora.Paradigm.Primary.Transformer.Tap.Tap t) (->)
+ Pandora.Paradigm.Primary.Transformer.Tap: instance Pandora.Pattern.Functor.Semimonoidal.Semimonoidal t (->) (Pandora.Paradigm.Primary.Algebraic.Product.:*:) (Pandora.Paradigm.Primary.Algebraic.Product.:*:) => Pandora.Pattern.Functor.Semimonoidal.Semimonoidal (Pandora.Paradigm.Primary.Transformer.Tap.Tap ((t Pandora.Paradigm.Schemes.T_U.<:.:> t) Pandora.Core.Functor.:= (Pandora.Paradigm.Primary.Algebraic.Product.:*:))) (->) (Pandora.Paradigm.Primary.Algebraic.Product.:*:) (Pandora.Paradigm.Primary.Algebraic.Product.:*:)
+ Pandora.Paradigm.Primary.Transformer.Tap: instance Pandora.Pattern.Functor.Semimonoidal.Semimonoidal t (->) (Pandora.Paradigm.Primary.Algebraic.Product.:*:) (Pandora.Paradigm.Primary.Algebraic.Product.:*:) => Pandora.Pattern.Functor.Semimonoidal.Semimonoidal (Pandora.Paradigm.Primary.Transformer.Tap.Tap t) (->) (Pandora.Paradigm.Primary.Algebraic.Product.:*:) (Pandora.Paradigm.Primary.Algebraic.Product.:*:)
+ Pandora.Paradigm.Primary.Transformer.Yoneda: instance Pandora.Pattern.Functor.Covariant.Covariant (Pandora.Paradigm.Primary.Transformer.Yoneda.Yoneda t) (->) (->)
+ Pandora.Paradigm.Schemes: instance (Pandora.Pattern.Functor.Covariant.Covariant ((Pandora.Paradigm.Schemes.TUT.<:<.>:>) t u t') (->) (->), Pandora.Pattern.Functor.Covariant.Covariant ((Pandora.Paradigm.Schemes.TUT.<:<.>:>) v w v') (->) (->), Pandora.Pattern.Functor.Adjoint.Adjoint t w (->) (->), Pandora.Pattern.Functor.Adjoint.Adjoint t' v' (->) (->), Pandora.Pattern.Functor.Adjoint.Adjoint t v (->) (->), Pandora.Pattern.Functor.Adjoint.Adjoint u v (->) (->), Pandora.Pattern.Functor.Adjoint.Adjoint v' t' (->) (->)) => Pandora.Pattern.Functor.Adjoint.Adjoint ((Pandora.Paradigm.Schemes.TUT.<:<.>:>) t u t') ((Pandora.Paradigm.Schemes.TUT.<:<.>:>) v w v') (->) (->)
+ Pandora.Paradigm.Schemes: instance (Pandora.Pattern.Functor.Covariant.Covariant (t Pandora.Paradigm.Schemes.UT.<.:> v) (->) (->), Pandora.Pattern.Functor.Covariant.Covariant (w Pandora.Paradigm.Schemes.TU.<:.> u) (->) (->), Pandora.Pattern.Functor.Adjoint.Adjoint v u (->) (->), Pandora.Pattern.Functor.Adjoint.Adjoint t w (->) (->)) => Pandora.Pattern.Functor.Adjoint.Adjoint (t Pandora.Paradigm.Schemes.UT.<.:> v) (w Pandora.Paradigm.Schemes.TU.<:.> u) (->) (->)
+ Pandora.Paradigm.Schemes: instance (Pandora.Pattern.Functor.Covariant.Covariant (t Pandora.Paradigm.Schemes.UT.<.:> v) (->) (->), Pandora.Pattern.Functor.Covariant.Covariant (w Pandora.Paradigm.Schemes.UT.<.:> u) (->) (->), Pandora.Pattern.Functor.Adjoint.Adjoint t u (->) (->), Pandora.Pattern.Functor.Adjoint.Adjoint v w (->) (->)) => Pandora.Pattern.Functor.Adjoint.Adjoint (t Pandora.Paradigm.Schemes.UT.<.:> v) (w Pandora.Paradigm.Schemes.UT.<.:> u) (->) (->)
+ Pandora.Paradigm.Schemes: instance (Pandora.Pattern.Functor.Covariant.Covariant (v Pandora.Paradigm.Schemes.TU.<:.> t) (->) (->), Pandora.Pattern.Functor.Covariant.Covariant (u Pandora.Paradigm.Schemes.TU.<:.> w) (->) (->), Pandora.Pattern.Functor.Adjoint.Adjoint t u (->) (->), Pandora.Pattern.Functor.Adjoint.Adjoint v w (->) (->)) => Pandora.Pattern.Functor.Adjoint.Adjoint (v Pandora.Paradigm.Schemes.TU.<:.> t) (u Pandora.Paradigm.Schemes.TU.<:.> w) (->) (->)
+ Pandora.Paradigm.Schemes: instance (Pandora.Pattern.Functor.Covariant.Covariant (v Pandora.Paradigm.Schemes.TU.<:.> t) (->) (->), Pandora.Pattern.Functor.Covariant.Covariant (w Pandora.Paradigm.Schemes.UT.<.:> u) (->) (->), Pandora.Pattern.Functor.Adjoint.Adjoint t u (->) (->), Pandora.Pattern.Functor.Adjoint.Adjoint v w (->) (->)) => Pandora.Pattern.Functor.Adjoint.Adjoint (v Pandora.Paradigm.Schemes.TU.<:.> t) (w Pandora.Paradigm.Schemes.UT.<.:> u) (->) (->)
+ Pandora.Paradigm.Schemes.TU: instance (Pandora.Pattern.Functor.Bindable.Bindable t (->), Pandora.Pattern.Functor.Distributive.Distributive t (->) (->), Pandora.Pattern.Functor.Covariant.Covariant u (->) (->), Pandora.Pattern.Functor.Bindable.Bindable u (->)) => Pandora.Pattern.Functor.Bindable.Bindable (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.Covariant.Covariant (t Pandora.Paradigm.Schemes.TU.<:.> u) (->) (->)
+ Pandora.Paradigm.Schemes.TU: instance (Pandora.Pattern.Functor.Covariant.Covariant t (->) (->), Pandora.Pattern.Functor.Semimonoidal.Semimonoidal t (->) (Pandora.Paradigm.Primary.Algebraic.Product.:*:) (Pandora.Paradigm.Primary.Algebraic.Product.:*:), Pandora.Pattern.Functor.Semimonoidal.Semimonoidal u (->) (Pandora.Paradigm.Primary.Algebraic.Product.:*:) (Pandora.Paradigm.Primary.Algebraic.Product.:*:)) => Pandora.Pattern.Functor.Semimonoidal.Semimonoidal (t Pandora.Paradigm.Schemes.TU.<:.> u) (->) (Pandora.Paradigm.Primary.Algebraic.Product.:*:) (Pandora.Paradigm.Primary.Algebraic.Product.:*:)
+ 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.TUT: instance (Pandora.Pattern.Functor.Adjoint.Adjoint t t' (->) (->), Pandora.Pattern.Functor.Distributive.Distributive t' (->) (->)) => Pandora.Pattern.Transformer.Lowerable.Lowerable (t Pandora.Paradigm.Schemes.TUT.<:<.>:> t')
+ Pandora.Paradigm.Schemes.TUT: instance (Pandora.Pattern.Functor.Adjoint.Adjoint t' t (->) (->), Pandora.Pattern.Functor.Distributive.Distributive t (->) (->)) => Pandora.Pattern.Transformer.Liftable.Liftable (t Pandora.Paradigm.Schemes.TUT.<:<.>:> t')
+ Pandora.Paradigm.Schemes.TUT: instance (Pandora.Pattern.Functor.Adjoint.Adjoint t' t (->) (->), Pandora.Pattern.Functor.Extendable.Extendable u (->)) => Pandora.Pattern.Functor.Extendable.Extendable ((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 t' (->) (->), Pandora.Pattern.Functor.Adjoint.Adjoint t t' (->) (->), Pandora.Pattern.Functor.Extractable.Extractable u (->)) => Pandora.Pattern.Functor.Extractable.Extractable ((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 t' (->) (->), Pandora.Pattern.Functor.Covariant.Covariant u (->) (->)) => Pandora.Pattern.Functor.Covariant.Covariant ((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 t' (->) (->), Pandora.Pattern.Functor.Covariant.Covariant u (->) (->), Pandora.Pattern.Functor.Semimonoidal.Semimonoidal t (->) (Pandora.Paradigm.Primary.Algebraic.Product.:*:) (Pandora.Paradigm.Primary.Algebraic.Product.:*:), Pandora.Pattern.Functor.Semimonoidal.Semimonoidal u (->) (Pandora.Paradigm.Primary.Algebraic.Product.:*:) (Pandora.Paradigm.Primary.Algebraic.Product.:*:), Pandora.Pattern.Functor.Semimonoidal.Semimonoidal t' (->) (Pandora.Paradigm.Primary.Algebraic.Product.:*:) (Pandora.Paradigm.Primary.Algebraic.Product.:*:)) => Pandora.Pattern.Functor.Semimonoidal.Semimonoidal ((t Pandora.Paradigm.Schemes.TUT.<:<.>:> t') Pandora.Core.Functor.:= u) (->) (Pandora.Paradigm.Primary.Algebraic.Product.:*:) (Pandora.Paradigm.Primary.Algebraic.Product.:*:)
+ Pandora.Paradigm.Schemes.TUT: instance (Pandora.Pattern.Functor.Covariant.Covariant t (->) (->), Pandora.Pattern.Functor.Covariant.Covariant t' (->) (->), Pandora.Pattern.Functor.Pointable.Pointable u (->), Pandora.Pattern.Functor.Adjoint.Adjoint t' t (->) (->)) => Pandora.Pattern.Functor.Pointable.Pointable ((t Pandora.Paradigm.Schemes.TUT.<:<.>:> t') Pandora.Core.Functor.:= u) (->)
+ Pandora.Paradigm.Schemes.T_U: instance (Pandora.Pattern.Functor.Divariant.Divariant p (->) (->) (->), Pandora.Pattern.Functor.Contravariant.Contravariant t (->) (->), Pandora.Pattern.Functor.Covariant.Covariant u (->) (->)) => Pandora.Pattern.Functor.Covariant.Covariant ((t Pandora.Paradigm.Schemes.T_U.>:.:> u) Pandora.Core.Functor.:= p) (->) (->)
+ Pandora.Paradigm.Schemes.T_U: instance (forall i. Pandora.Pattern.Functor.Covariant.Covariant (p i) (->) (->), Pandora.Pattern.Functor.Bivariant.Bivariant p (->) (->) (->), Pandora.Pattern.Functor.Contravariant.Contravariant t (->) (->), Pandora.Pattern.Functor.Contravariant.Contravariant u (->) (->)) => Pandora.Pattern.Functor.Contravariant.Contravariant ((t Pandora.Paradigm.Schemes.T_U.>:.:< u) Pandora.Core.Functor.:= p) (->) (->)
+ Pandora.Paradigm.Schemes.T_U: instance (forall i. Pandora.Pattern.Functor.Covariant.Covariant (p i) (->) (->), Pandora.Pattern.Functor.Bivariant.Bivariant p (->) (->) (->), Pandora.Pattern.Functor.Covariant.Covariant t (->) (->), Pandora.Pattern.Functor.Covariant.Covariant u (->) (->)) => Pandora.Pattern.Functor.Covariant.Covariant ((t Pandora.Paradigm.Schemes.T_U.<:.:> u) Pandora.Core.Functor.:= p) (->) (->)
+ Pandora.Paradigm.Schemes.UT: instance (Pandora.Pattern.Functor.Covariant.Covariant t (->) (->), Pandora.Pattern.Functor.Covariant.Covariant u (->) (->)) => Pandora.Pattern.Functor.Covariant.Covariant (t Pandora.Paradigm.Schemes.UT.<.:> u) (->) (->)
+ Pandora.Paradigm.Schemes.UT: instance (Pandora.Pattern.Functor.Covariant.Covariant u (->) (->), Pandora.Pattern.Functor.Semimonoidal.Semimonoidal t (->) (Pandora.Paradigm.Primary.Algebraic.Product.:*:) (Pandora.Paradigm.Primary.Algebraic.Product.:*:), Pandora.Pattern.Functor.Semimonoidal.Semimonoidal u (->) (Pandora.Paradigm.Primary.Algebraic.Product.:*:) (Pandora.Paradigm.Primary.Algebraic.Product.:*:)) => Pandora.Pattern.Functor.Semimonoidal.Semimonoidal (t Pandora.Paradigm.Schemes.UT.<.:> u) (->) (Pandora.Paradigm.Primary.Algebraic.Product.:*:) (Pandora.Paradigm.Primary.Algebraic.Product.:*:)
+ Pandora.Paradigm.Schemes.UT: instance (Pandora.Pattern.Functor.Traversable.Traversable t (->) (->), Pandora.Pattern.Functor.Bindable.Bindable t (->), Pandora.Pattern.Functor.Semimonoidal.Semimonoidal u (->) (Pandora.Paradigm.Primary.Algebraic.Product.:*:) (Pandora.Paradigm.Primary.Algebraic.Product.:*:), Pandora.Pattern.Functor.Pointable.Pointable u (->), Pandora.Pattern.Functor.Bindable.Bindable u (->)) => Pandora.Pattern.Functor.Bindable.Bindable (t Pandora.Paradigm.Schemes.UT.<.:> u) (->)
+ Pandora.Paradigm.Structure: instance Pandora.Pattern.Functor.Covariant.Covariant t (->) (->) => Pandora.Paradigm.Structure.Ability.Substructure.Substructure 'Pandora.Paradigm.Primary.Functor.Wye.Left ((t Pandora.Paradigm.Schemes.T_U.<:.:> t) Pandora.Core.Functor.:= (Pandora.Paradigm.Primary.Algebraic.Product.:*:))
+ Pandora.Paradigm.Structure: instance Pandora.Pattern.Functor.Covariant.Covariant t (->) (->) => Pandora.Paradigm.Structure.Ability.Substructure.Substructure 'Pandora.Paradigm.Primary.Functor.Wye.Right ((t Pandora.Paradigm.Schemes.T_U.<:.:> t) Pandora.Core.Functor.:= (Pandora.Paradigm.Primary.Algebraic.Product.:*:))
+ Pandora.Paradigm.Structure: instance Pandora.Pattern.Functor.Covariant.Covariant t (->) (->) => Pandora.Paradigm.Structure.Ability.Substructure.Substructure 'Pandora.Paradigm.Structure.Ability.Substructure.Tail (Pandora.Paradigm.Primary.Transformer.Tap.Tap t)
+ Pandora.Paradigm.Structure.Modification.Comprehension: instance (Pandora.Pattern.Functor.Covariant.Covariant t (->) (->), Pandora.Pattern.Functor.Pointable.Pointable 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 t (->) (Pandora.Paradigm.Primary.Algebraic.Product.:*:) (Pandora.Paradigm.Primary.Algebraic.Product.:*:)) => Pandora.Pattern.Functor.Semimonoidal.Semimonoidal (Pandora.Paradigm.Structure.Modification.Comprehension.Comprehension t) (->) (Pandora.Paradigm.Primary.Algebraic.Product.:*:) (Pandora.Paradigm.Primary.Algebraic.Product.:*:)
+ Pandora.Paradigm.Structure.Modification.Comprehension: instance Pandora.Pattern.Functor.Covariant.Covariant (t Pandora.Paradigm.Schemes.TU.<:.> Pandora.Paradigm.Primary.Transformer.Construction.Construction t) (->) (->) => Pandora.Pattern.Functor.Covariant.Covariant (Pandora.Paradigm.Structure.Modification.Comprehension.Comprehension t) (->) (->)
+ Pandora.Paradigm.Structure.Modification.Prefixed: instance Pandora.Pattern.Functor.Covariant.Covariant t (->) (->) => Pandora.Paradigm.Structure.Ability.Morphable.Morphable ('Pandora.Paradigm.Structure.Ability.Morphable.Into t) (Pandora.Paradigm.Structure.Modification.Prefixed.Prefixed t k)
+ Pandora.Paradigm.Structure.Modification.Prefixed: instance Pandora.Pattern.Functor.Covariant.Covariant t (->) (->) => Pandora.Pattern.Functor.Covariant.Covariant (Pandora.Paradigm.Structure.Modification.Prefixed.Prefixed t k) (->) (->)
+ Pandora.Paradigm.Structure.Some.Binary: instance Pandora.Pattern.Functor.Covariant.Covariant 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.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.Pattern.Functor.Semimonoidal.Semimonoidal (Pandora.Paradigm.Primary.Transformer.Tap.Tap ((Pandora.Paradigm.Structure.Modification.Comprehension.Comprehension Pandora.Paradigm.Primary.Functor.Maybe.Maybe Pandora.Paradigm.Schemes.T_U.<:.:> Pandora.Paradigm.Structure.Modification.Comprehension.Comprehension Pandora.Paradigm.Primary.Functor.Maybe.Maybe) Pandora.Core.Functor.:= (Pandora.Paradigm.Primary.Algebraic.Product.:*:))) (->) (Pandora.Paradigm.Primary.Algebraic.Product.:*:) (Pandora.Paradigm.Primary.Algebraic.Product.:*:)
+ Pandora.Pattern.Functor: type family Endofunctor constraint functor category
+ Pandora.Pattern.Functor.Covariant: (-<$$$$>-) :: forall t u v w category a b. (Covariant t category category, Covariant u category category, Covariant v category category, Covariant w category category) => category a b -> category (t (u (v (w a)))) (t (u (v (w b))))
+ Pandora.Pattern.Functor.Semimonoidal: class Semigroupoid p => Semimonoidal t p source target
+ Pandora.Pattern.Functor.Semimonoidal: multiply_ :: Semimonoidal t p source target => p (source (t a) (t b)) (t (target a b))
+ Pandora.Pattern.Semigroupoid: (.) :: Semigroupoid m => m b c -> m a b -> m a c
+ Pandora.Pattern.Semigroupoid: class Semigroupoid (m :: * -> * -> *)
+ Pandora.Pattern.Semigroupoid: infixr 9 .
- Pandora.Paradigm.Controlflow.Effect.Adaptable: type Lifting t u = (Monadic t, Liftable (Schematic Monad t), Covariant_ 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 Lowering t u = (Comonadic t, Lowerable (Schematic Comonad t), Covariant u (->) (->))
- Pandora.Paradigm.Controlflow.Effect.Interpreted: (-=:) :: (Liftable t, Interpreted (t u), Interpreted (t v), Covariant u, Covariant_ u (->) (->)) => (t u a -> t v b) -> u a -> Primary (t v) b
+ Pandora.Paradigm.Controlflow.Effect.Interpreted: (-=:) :: (Liftable t, Interpreted (t u), Interpreted (t v), Covariant u (->) (->)) => (t u a -> t v b) -> u a -> Primary (t v) b
- Pandora.Paradigm.Controlflow.Effect.Interpreted: (<$$$$||=) :: (Interpreted t, Covariant j, Covariant k, Covariant l, Covariant m, Interpreted u) => (Primary t a -> Primary u b) -> ((j :. (k :. (l :. m))) := t a) -> (j :. (k :. (l :. m))) := u b
+ Pandora.Paradigm.Controlflow.Effect.Interpreted: (<$$$$||=) :: (Interpreted t, Covariant j (->) (->), Covariant k (->) (->), Covariant l (->) (->), Covariant m (->) (->), Interpreted u) => (Primary t a -> Primary u b) -> ((j :. (k :. (l :. m))) := t a) -> (j :. (k :. (l :. m))) := u b
- Pandora.Paradigm.Controlflow.Effect.Interpreted: (<$$$||=) :: (Interpreted t, Covariant j, Covariant k, Covariant l, Interpreted u) => (Primary t a -> Primary u b) -> ((j :. (k :. l)) := t a) -> (j :. (k :. l)) := u b
+ Pandora.Paradigm.Controlflow.Effect.Interpreted: (<$$$||=) :: (Interpreted t, Covariant j (->) (->), Covariant k (->) (->), Covariant l (->) (->), Interpreted u) => (Primary t a -> Primary u b) -> ((j :. (k :. l)) := t a) -> (j :. (k :. l)) := u b
- Pandora.Paradigm.Controlflow.Effect.Interpreted: (<$$||=) :: (Interpreted t, Covariant j, Covariant k, Interpreted u) => (Primary t a -> Primary u b) -> ((j :. k) := t a) -> (j :. k) := u b
+ Pandora.Paradigm.Controlflow.Effect.Interpreted: (<$$||=) :: (Interpreted t, Covariant j (->) (->), Covariant k (->) (->), Interpreted u) => (Primary t a -> Primary u b) -> ((j :. k) := t a) -> (j :. k) := u b
- Pandora.Paradigm.Controlflow.Effect.Interpreted: (<$||=) :: (Interpreted t, Covariant j, Interpreted u) => (Primary t a -> Primary u b) -> (j := t a) -> j := u b
+ Pandora.Paradigm.Controlflow.Effect.Interpreted: (<$||=) :: (Interpreted t, Covariant j (->) (->), Interpreted u) => (Primary t a -> Primary u b) -> (j := t a) -> j := u b
- Pandora.Paradigm.Controlflow.Effect.Interpreted: (=||$$$$>) :: (Interpreted t, Covariant j, Covariant k, Covariant l, Covariant m, Interpreted u) => (t a -> u b) -> ((j :. (k :. (l :. m))) := Primary t a) -> (j :. (k :. (l :. m))) := Primary u b
+ Pandora.Paradigm.Controlflow.Effect.Interpreted: (=||$$$$>) :: (Interpreted t, Covariant j (->) (->), Covariant k (->) (->), Covariant l (->) (->), Covariant m (->) (->), Interpreted u) => (t a -> u b) -> ((j :. (k :. (l :. m))) := Primary t a) -> (j :. (k :. (l :. m))) := Primary u b
- Pandora.Paradigm.Controlflow.Effect.Interpreted: (=||$$$>) :: (Interpreted t, Covariant j, Covariant k, Covariant l, Interpreted u) => (t a -> u b) -> ((j :. (k :. l)) := Primary t a) -> (j :. (k :. l)) := Primary u b
+ Pandora.Paradigm.Controlflow.Effect.Interpreted: (=||$$$>) :: (Interpreted t, Covariant j (->) (->), Covariant k (->) (->), Covariant l (->) (->), Interpreted u) => (t a -> u b) -> ((j :. (k :. l)) := Primary t a) -> (j :. (k :. l)) := Primary u b
- Pandora.Paradigm.Controlflow.Effect.Interpreted: (=||$$>) :: (Interpreted t, Covariant j, Covariant k, Interpreted u) => (t a -> u b) -> ((j :. k) := Primary t a) -> (j :. k) := Primary u b
+ Pandora.Paradigm.Controlflow.Effect.Interpreted: (=||$$>) :: (Interpreted t, Covariant j (->) (->), Covariant k (->) (->), Interpreted u) => (t a -> u b) -> ((j :. k) := Primary t a) -> (j :. k) := Primary u b
- Pandora.Paradigm.Controlflow.Effect.Interpreted: (=||$>) :: (Interpreted t, Covariant j, Interpreted u) => (t a -> u b) -> (j := Primary t a) -> j := Primary u b
+ Pandora.Paradigm.Controlflow.Effect.Interpreted: (=||$>) :: (Interpreted t, Covariant j (->) (->), Interpreted u) => (t a -> u b) -> (j := Primary t a) -> j := Primary u b
- Pandora.Paradigm.Controlflow.Observable: (*:~*) :: Applicative t => Observable t a r -> (a -> t r) -> t r
+ Pandora.Paradigm.Controlflow.Observable: (*:~*) :: Applicative_ t => Observable t a r -> (a -> t r) -> t r
- Pandora.Paradigm.Controlflow.Observable: (*:~.) :: Applicative t => Observable t a r -> (a -> t r) -> t r
+ Pandora.Paradigm.Controlflow.Observable: (*:~.) :: Applicative_ t => Observable t a r -> (a -> t r) -> t r
- Pandora.Paradigm.Controlflow.Observable: (.:~*) :: Applicative t => Observable t a r -> (a -> t r) -> t r
+ Pandora.Paradigm.Controlflow.Observable: (.:~*) :: Applicative_ t => Observable t a r -> (a -> t r) -> t r
- Pandora.Paradigm.Controlflow.Observable: follow :: Applicative t => Observable t a r -> (a -> t r) -> t r
+ Pandora.Paradigm.Controlflow.Observable: follow :: Applicative_ t => Observable t a r -> (a -> t r) -> t r
- Pandora.Paradigm.Controlflow.Observable: subscribe :: Applicative t => Observable t a r -> (a -> t r) -> t r
+ Pandora.Paradigm.Controlflow.Observable: subscribe :: Applicative_ t => Observable t a r -> (a -> t r) -> t r
- Pandora.Paradigm.Controlflow.Observable: watch :: Applicative t => Observable t a r -> (a -> t r) -> t r
+ Pandora.Paradigm.Controlflow.Observable: watch :: Applicative_ t => Observable t a r -> (a -> t r) -> t r
- Pandora.Paradigm.Inventory: (~<>) :: Covariant mode => Stateful src t => Lens mode src tgt -> (mode tgt -> mode tgt) -> t src
+ Pandora.Paradigm.Inventory: (~<>) :: Stateful src t => Lens mode src tgt -> (mode tgt -> mode tgt) -> t src
- Pandora.Paradigm.Inventory.Optics: over :: Covariant available => Lens available source target -> (available target -> available target) -> source -> source
+ Pandora.Paradigm.Inventory.Optics: over :: Lens available source target -> (available target -> available target) -> source -> source
- Pandora.Paradigm.Inventory.State: type Memorable s t = (Pointable t (->), Semimonoidal t (:*:) (->) (->), Stateful s t)
+ Pandora.Paradigm.Inventory.State: type Memorable s t = (Pointable t (->), Semimonoidal t (->) (:*:) (:*:), Stateful s t)
- Pandora.Paradigm.Primary.Algebraic: (-<*>-) :: forall a b t. Semimonoidal t (:*:) (->) (->) => t (a -> b) -> t a -> t b
+ Pandora.Paradigm.Primary.Algebraic: (-<*>-) :: Applicative_ t => t (a -> b) -> t a -> t b
- Pandora.Paradigm.Primary.Algebraic.Exponential: (-.#..-) :: (Covariant_ (v a) (->) target, Category v) => v c d -> target (v a (v b c)) (v a (v b d))
+ Pandora.Paradigm.Primary.Algebraic.Exponential: (-.#..-) :: (Covariant (v a) (->) target, Semigroupoid v) => v c d -> target (v a (v b c)) (v a (v b d))
- Pandora.Paradigm.Primary.Functor.Fix: ana :: Covariant t => (a :=> t) -> a -> Fix t
+ Pandora.Paradigm.Primary.Functor.Fix: ana :: Covariant t (->) (->) => (a :=> t) -> a -> Fix t
- Pandora.Paradigm.Primary.Functor.Fix: cata :: Covariant t => (a <:= t) -> Fix t -> a
+ Pandora.Paradigm.Primary.Functor.Fix: cata :: Covariant t (->) (->) => (a <:= t) -> Fix t -> a
- Pandora.Paradigm.Primary.Functor.Fix: hylo :: Covariant t => (b <:= t) -> (a :=> t) -> a -> b
+ Pandora.Paradigm.Primary.Functor.Fix: hylo :: Covariant t (->) (->) => (b <:= t) -> (a :=> t) -> a -> b
- Pandora.Paradigm.Primary.Transformer.Construction: (.-+) :: Covariant t => (a :=> t) -> a :=> Construction t
+ Pandora.Paradigm.Primary.Transformer.Construction: (.-+) :: Covariant t (->) (->) => (a :=> t) -> a :=> Construction t
- Pandora.Paradigm.Structure.Ability.Substructure: sub :: (Substructure segment structure, Covariant structure, Covariant_ structure (->) (->)) => (structure #=@ Substance segment structure) := Available segment structure
+ Pandora.Paradigm.Structure.Ability.Substructure: sub :: (Substructure segment structure, Covariant structure (->) (->)) => (structure #=@ Substance segment structure) := Available segment structure
- Pandora.Pattern.Category: class Category (m :: * -> * -> *)
+ Pandora.Pattern.Category: class Semigroupoid m => Category m
- Pandora.Pattern.Functor.Adjoint: class (Covariant_ t target source, Covariant_ u source target) => Adjoint t u source target
+ Pandora.Pattern.Functor.Adjoint: class (Covariant t target source, Covariant u source target) => Adjoint t u source target
- Pandora.Pattern.Functor.Bindable: class Covariant_ t source source => Bindable t source
+ Pandora.Pattern.Functor.Bindable: class Covariant t source source => Bindable t source
- Pandora.Pattern.Functor.Bivariant: class (forall i. Covariant_ (v i) left target, forall i. Covariant_ (Flip v i) right target) => Bivariant v left right target
+ Pandora.Pattern.Functor.Bivariant: class (forall i. Covariant (v i) left target, forall i. Covariant (Flip v i) right target) => Bivariant v left right target
- Pandora.Pattern.Functor.Contravariant: (->$<-) :: Contravariant_ t source target => source a b -> target (t b) (t a)
+ Pandora.Pattern.Functor.Contravariant: (->$<-) :: Contravariant t source target => source a b -> target (t b) (t a)
- Pandora.Pattern.Functor.Contravariant: class Contravariant (t :: * -> *)
+ Pandora.Pattern.Functor.Contravariant: class (Category source, Category target) => Contravariant t source target
- Pandora.Pattern.Functor.Covariant: (-<$$$>-) :: forall t u v source target a b. (Covariant_ u source source, Covariant_ t source target, Covariant_ v target target) => source a b -> target (v (t (u a))) (v (t (u b)))
+ Pandora.Pattern.Functor.Covariant: (-<$$$>-) :: forall t u v category a b. (Covariant t category category, Covariant u category category, Covariant v category category) => category a b -> category (t (u (v a))) (t (u (v b)))
- Pandora.Pattern.Functor.Covariant: (-<$$>-) :: forall t u category a b. (Covariant_ u category category, Covariant_ t category category) => category a b -> category (t (u a)) (t (u b))
+ Pandora.Pattern.Functor.Covariant: (-<$$>-) :: forall t u category a b. (Covariant u category category, Covariant t category category) => category a b -> category (t (u a)) (t (u b))
- Pandora.Pattern.Functor.Covariant: (-<$$>>-) :: forall t u source target a b. (Covariant_ u source target, Covariant_ t target target) => source a b -> target (t (u a)) (t (u b))
+ Pandora.Pattern.Functor.Covariant: (-<$$>>-) :: forall t u source target a b. (Covariant u source target, Covariant t target target) => source a b -> target (t (u a)) (t (u b))
- Pandora.Pattern.Functor.Covariant: (-<$>-) :: Covariant_ t source target => source a b -> target (t a) (t b)
+ Pandora.Pattern.Functor.Covariant: (-<$>-) :: Covariant t source target => source a b -> target (t a) (t b)
- Pandora.Pattern.Functor.Covariant: (-<<$$>-) :: forall t u source target a b. (Covariant_ u source source, Covariant_ t source target) => source a b -> target (t (u a)) (t (u b))
+ Pandora.Pattern.Functor.Covariant: (-<<$$>-) :: forall t u source target a b. (Covariant u source source, Covariant t source target) => source a b -> target (t (u a)) (t (u b))
- Pandora.Pattern.Functor.Covariant: class Covariant (t :: * -> *)
+ Pandora.Pattern.Functor.Covariant: class (Semigroupoid source, Semigroupoid target) => Covariant t source target
- Pandora.Pattern.Functor.Distributive: (-<<) :: (Distributive t source target, Covariant_ u source target) => source a (t b) -> target (u a) (t (u b))
+ Pandora.Pattern.Functor.Distributive: (-<<) :: (Distributive t source target, Covariant u source target) => source a (t b) -> target (u a) (t (u b))
- Pandora.Pattern.Functor.Distributive: class Covariant_ t source target => Distributive t source target
+ Pandora.Pattern.Functor.Distributive: class Covariant t source target => Distributive t source target
- Pandora.Pattern.Functor.Divariant: class (forall i. Contravariant_ (Flip v i) left target, forall i. Covariant_ (v i) right target) => Divariant v left right target
+ Pandora.Pattern.Functor.Divariant: class (forall i. Contravariant (Flip v i) left target, forall i. Covariant (v i) right target) => Divariant v left right target
- Pandora.Pattern.Functor.Extendable: class Covariant_ t source source => Extendable t source
+ Pandora.Pattern.Functor.Extendable: class Covariant t source source => Extendable t source
- Pandora.Pattern.Functor.Extractable: class Covariant_ t source source => Extractable t source
+ Pandora.Pattern.Functor.Extractable: class Covariant t source source => Extractable t source
- Pandora.Pattern.Functor.Monad: class (Covariant_ t (->) (->), Pointable t (->), Bindable t (->)) => Monad t
+ Pandora.Pattern.Functor.Monad: class (Covariant t (->) (->), Pointable t (->), Bindable t (->)) => Monad t
- Pandora.Pattern.Functor.Pointable: class Covariant_ t source source => Pointable t source
+ Pandora.Pattern.Functor.Pointable: class Covariant t source source => Pointable t source
- Pandora.Pattern.Functor.Traversable: (-<<-<<-) :: forall t u v category a b. (Traversable t category category, Covariant_ u category category, Pointable u category, Semimonoidal u (:*:) category category, Traversable v category category) => category a (u b) -> category (v (t a)) (u (v (t b)))
+ Pandora.Pattern.Functor.Traversable: (-<<-<<-) :: forall t u v category a b. (Traversable t category category, Covariant u category category, Pointable u category, Semimonoidal u category (:*:) (:*:), Traversable v category category) => category a (u b) -> category (v (t a)) (u (v (t b)))
- Pandora.Pattern.Functor.Traversable: (<<-) :: (Traversable t source target, Covariant_ u source target, Pointable u target, Semimonoidal u (:*:) source target) => source a (u b) -> target (t a) (u (t b))
+ Pandora.Pattern.Functor.Traversable: (<<-) :: (Traversable t source target, Covariant u source target, Pointable u target, Semimonoidal u target (:*:) (:*:)) => source a (u b) -> target (t a) (u (t b))
- Pandora.Pattern.Functor.Traversable: class Covariant_ t source target => Traversable t source target
+ Pandora.Pattern.Functor.Traversable: class Covariant t source target => Traversable t source target
- Pandora.Pattern.Transformer.Hoistable: (/|\) :: (Hoistable t, Covariant_ u (->) (->)) => (u ~> v) -> t u ~> t v
+ Pandora.Pattern.Transformer.Hoistable: (/|\) :: (Hoistable t, Covariant u (->) (->)) => (u ~> v) -> t u ~> t v
- Pandora.Pattern.Transformer.Hoistable: hoist :: (Hoistable t, Covariant_ u (->) (->)) => (u ~> v) -> t u ~> t v
+ Pandora.Pattern.Transformer.Hoistable: hoist :: (Hoistable t, Covariant u (->) (->)) => (u ~> v) -> t u ~> t v
- Pandora.Pattern.Transformer.Liftable: lift :: (Liftable t, Covariant_ u (->) (->)) => u ~> t u
+ Pandora.Pattern.Transformer.Liftable: lift :: (Liftable t, Covariant u (->) (->)) => u ~> t u
- Pandora.Pattern.Transformer.Lowerable: lower :: (Lowerable t, Covariant_ u (->) (->)) => t u ~> u
+ Pandora.Pattern.Transformer.Lowerable: lower :: (Lowerable t, Covariant u (->) (->)) => t u ~> u
Files
- CHANGELOG.md +32/−0
- Pandora/Paradigm/Controlflow/Effect/Adaptable.hs +45/−73
- Pandora/Paradigm/Controlflow/Effect/Interpreted.hs +19/−19
- Pandora/Paradigm/Controlflow/Effect/Transformer/Comonadic.hs +8/−13
- Pandora/Paradigm/Controlflow/Effect/Transformer/Monadic.hs +9/−18
- Pandora/Paradigm/Controlflow/Observable.hs +14/−13
- Pandora/Paradigm/Controlflow/Pipeline.hs +2/−1
- Pandora/Paradigm/Inventory.hs +3/−3
- Pandora/Paradigm/Inventory/Accumulator.hs +8/−14
- Pandora/Paradigm/Inventory/Environment.hs +12/−12
- Pandora/Paradigm/Inventory/Equipment.hs +5/−7
- Pandora/Paradigm/Inventory/Imprint.hs +6/−8
- Pandora/Paradigm/Inventory/Optics.hs +14/−8
- Pandora/Paradigm/Inventory/State.hs +14/−19
- Pandora/Paradigm/Inventory/Store.hs +6/−8
- Pandora/Paradigm/Primary.hs +15/−19
- Pandora/Paradigm/Primary/Algebraic.hs +37/−7
- Pandora/Paradigm/Primary/Algebraic/Exponential.hs +11/−14
- Pandora/Paradigm/Primary/Algebraic/Product.hs +6/−9
- Pandora/Paradigm/Primary/Algebraic/Sum.hs +29/−0
- Pandora/Paradigm/Primary/Functor/Conclusion.hs +16/−24
- Pandora/Paradigm/Primary/Functor/Constant.hs +8/−10
- Pandora/Paradigm/Primary/Functor/Convergence.hs +3/−12
- Pandora/Paradigm/Primary/Functor/Edges.hs +2/−8
- Pandora/Paradigm/Primary/Functor/Endo.hs +2/−1
- Pandora/Paradigm/Primary/Functor/Fix.hs +7/−7
- Pandora/Paradigm/Primary/Functor/Identity.hs +5/−11
- Pandora/Paradigm/Primary/Functor/Maybe.hs +14/−27
- Pandora/Paradigm/Primary/Functor/Predicate.hs +5/−27
- Pandora/Paradigm/Primary/Functor/Proxy.hs +5/−16
- Pandora/Paradigm/Primary/Functor/Tagged.hs +5/−11
- Pandora/Paradigm/Primary/Functor/These.hs +2/−7
- Pandora/Paradigm/Primary/Functor/Validation.hs +15/−24
- Pandora/Paradigm/Primary/Functor/Wedge.hs +2/−7
- Pandora/Paradigm/Primary/Functor/Wye.hs +2/−8
- Pandora/Paradigm/Primary/Linear/Vector.hs +6/−5
- Pandora/Paradigm/Primary/Transformer/Backwards.hs +11/−13
- Pandora/Paradigm/Primary/Transformer/Construction.hs +16/−30
- Pandora/Paradigm/Primary/Transformer/Continuation.hs +6/−12
- Pandora/Paradigm/Primary/Transformer/Day.hs +6/−12
- Pandora/Paradigm/Primary/Transformer/Instruction.hs +13/−25
- Pandora/Paradigm/Primary/Transformer/Jack.hs +5/−25
- Pandora/Paradigm/Primary/Transformer/Jet.hs +3/−11
- Pandora/Paradigm/Primary/Transformer/Kan.hs +6/−5
- Pandora/Paradigm/Primary/Transformer/Outline.hs +5/−20
- Pandora/Paradigm/Primary/Transformer/Reverse.hs +7/−14
- Pandora/Paradigm/Primary/Transformer/Tap.hs +15/−26
- Pandora/Paradigm/Primary/Transformer/Yoneda.hs +6/−21
- Pandora/Paradigm/Schemes.hs +8/−6
- Pandora/Paradigm/Schemes/TU.hs +11/−20
- Pandora/Paradigm/Schemes/TUT.hs +15/−24
- Pandora/Paradigm/Schemes/T_U.hs +7/−10
- Pandora/Paradigm/Schemes/UT.hs +12/−14
- Pandora/Paradigm/Structure.hs +15/−15
- Pandora/Paradigm/Structure/Ability/Measurable.hs +1/−1
- Pandora/Paradigm/Structure/Ability/Monotonic.hs +2/−3
- Pandora/Paradigm/Structure/Ability/Morphable.hs +2/−1
- Pandora/Paradigm/Structure/Ability/Substructure.hs +3/−3
- Pandora/Paradigm/Structure/Interface/Set.hs +2/−1
- Pandora/Paradigm/Structure/Modification/Comprehension.hs +12/−29
- Pandora/Paradigm/Structure/Modification/Prefixed.hs +6/−16
- Pandora/Paradigm/Structure/Some/Binary.hs +15/−19
- Pandora/Paradigm/Structure/Some/List.hs +27/−28
- Pandora/Paradigm/Structure/Some/Rose.hs +41/−43
- Pandora/Paradigm/Structure/Some/Splay.hs +9/−8
- Pandora/Paradigm/Structure/Some/Stream.hs +4/−3
- Pandora/Pattern.hs +1/−0
- Pandora/Pattern/Category.hs +3/−4
- Pandora/Pattern/Functor.hs +7/−17
- Pandora/Pattern/Functor/Adjoint.hs +2/−2
- Pandora/Pattern/Functor/Alternative.hs +0/−20
- Pandora/Pattern/Functor/Applicative.hs +0/−51
- Pandora/Pattern/Functor/Avoidable.hs +0/−13
- Pandora/Pattern/Functor/Bindable.hs +2/−2
- Pandora/Pattern/Functor/Bivariant.hs +2/−2
- Pandora/Pattern/Functor/Contravariant.hs +3/−44
- Pandora/Pattern/Functor/Covariant.hs +18/−95
- Pandora/Pattern/Functor/Determinable.hs +0/−7
- Pandora/Pattern/Functor/Distributive.hs +3/−3
- Pandora/Pattern/Functor/Divariant.hs +3/−10
- Pandora/Pattern/Functor/Divisible.hs +0/−14
- Pandora/Pattern/Functor/Extendable.hs +2/−3
- Pandora/Pattern/Functor/Extractable.hs +2/−2
- Pandora/Pattern/Functor/Monad.hs +2/−2
- Pandora/Pattern/Functor/Pointable.hs +2/−2
- Pandora/Pattern/Functor/Semimonoidal.hs +6/−0
- Pandora/Pattern/Functor/Traversable.hs +6/−6
- Pandora/Pattern/Semigroupoid.hs +11/−0
- Pandora/Pattern/Transformer/Hoistable.hs +3/−3
- Pandora/Pattern/Transformer/Liftable.hs +2/−2
- Pandora/Pattern/Transformer/Lowerable.hs +2/−2
- pandora.cabal +5/−7
CHANGELOG.md view
@@ -517,3 +517,35 @@ * Rename experimental `Applicative_` to `Semimonoidal` # 0.4.5+* Define `Endofunctor` type family+* Define `Sum` module in `Algebraic` with `:+:` type+* Define experimental `Day_` transformer+* Define experimental `Semimonoidal_` typeclass+* Define `Semigroupoid` typeclass as generalization of `Category`+* Define `Applicative_` and `Alternative_` type class aliases of `Semimonoidal_`+* Define experimental `-*-` method of `Semonoidal_` typeclass+* Define experimental `-+-` method of `Semonoidal_` typeclass+* Use experimental `Semimonoidal_` as superclass of `Traversable`+* Remove `-<*>-` method of `Semimonoidal` typeclass+* Remove `Semimonoidal` typeclass+* Rename `Semimonoidal_` typeclass to `Semimonoidal`+* Rename `-*-` method of `Semimonoidal` to `-<*>-`+* Use `Semigroupoid` as superclass for `Semimonoidal`+* Define `*>-` and `forever_` methods of `Applicative_` typeclass+* Remove `<+*>`, `<**+>`, `<***+>` methods+* Remove `Applicative` typeclass+* Remove `satisfy` method of `Predicate`+* Remove `Alternative` typeclass+* Remove `Avoidable` typeclass+* Change `-<$$$>-`: works with endofunctors+* Define `-<$$$$>-` operator of `Covariant_` typeclass+* Use experimental `Covariant_` in `Interpreted`+* Define `$>-`, `$$>-`, `$$$>-` methods of `Covariant_` typeclass+* Remove `Covariant` typeclass+* Rename experimental `Covariant_` to `Covariant`+* Remove `Determinable` typeclass+* Remove `Divisible_` typeclass+* Remove `Contravariant` typeclass+* Rename experimental `Contravariant_` to `Contravariant`++# 0.4.6
Pandora/Paradigm/Controlflow/Effect/Adaptable.hs view
@@ -3,8 +3,9 @@ module Pandora.Paradigm.Controlflow.Effect.Adaptable where import Pandora.Core.Functor (type (~>))-import Pandora.Pattern.Category (identity, (.))-import Pandora.Pattern.Functor.Covariant (Covariant, Covariant_)+import Pandora.Pattern.Semigroupoid ((.))+import Pandora.Pattern.Category (identity)+import Pandora.Pattern.Functor.Covariant (Covariant) import Pandora.Pattern.Functor.Pointable (Pointable) import Pandora.Pattern.Functor.Extractable (Extractable) import Pandora.Pattern.Functor.Comonad (Comonad)@@ -17,8 +18,8 @@ {-# 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 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, Pointable u (->)) type Bringable t u = (Comonadic t, Extractable u (->)) @@ -39,7 +40,7 @@ instance ( Liftable (Schematic Monad t)- , Covariant_ (Schematic Monad u v) (->) (->)+ , Covariant (Schematic Monad u v) (->) (->) , Wrappable u v ) => Adaptable u (t :> u :> v) where adapt = lift . wrap@@ -293,12 +294,12 @@ ) => Adaptable (t :< u :< v :< w :< x :< y :< z :< f :< h) f where adapt = bring . lower . lower . lower . lower . lower . lower . lower -instance (Covariant u, Covariant_ u (->) (->), Hoistable ((:>) t), Adaptable u u') => Adaptable (t :> u) (t :> u') where+instance (Covariant u (->) (->), Hoistable ((:>) t), Adaptable u u') => Adaptable (t :> u) (t :> u') where adapt = hoist adapt instance- ( Covariant_ v (->) (->)- , Covariant_ (Schematic Monad u v) (->) (->)+ ( Covariant v (->) (->)+ , Covariant (Schematic Monad u v) (->) (->) , Hoistable ((:>) (t :> u)) , Hoistable (Schematic Monad t) , Hoistable (Schematic Monad u)@@ -307,12 +308,12 @@ adapt = hoist (hoist adapt) instance- ( Covariant_ u (->) (->)- , Covariant_ v (->) (->)- , Covariant_ w (->) (->)- , Covariant_ (Schematic Monad u v) (->) (->)- , Covariant_ (Schematic Monad u (v :> w)) (->) (->)- , Covariant_ (Schematic Monad v w) (->) (->)+ ( 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)@@ -322,10 +323,10 @@ adapt = hoist (hoist (hoist adapt)) instance- ( Covariant_ x (->) (->)- , Covariant_ (Schematic Monad u (v :> (w :> x))) (->) (->)- , Covariant_ (Schematic Monad v (w :> x)) (->) (->)- , Covariant_ (Schematic Monad w x) (->) (->)+ ( 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)@@ -336,11 +337,11 @@ adapt = hoist (hoist (hoist (hoist adapt))) 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) (->) (->)+ ( 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)@@ -352,12 +353,12 @@ adapt = hoist (hoist (hoist (hoist (hoist adapt)))) instance- ( Covariant z, 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) (->) (->)+ ( 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)@@ -371,32 +372,13 @@ adapt = hoist (hoist (hoist (hoist (hoist adapt)))) instance- ( Covariant f, Covariant_ f (->) (->)- , Covariant (Schematic Monad u v)- , Covariant (Schematic Monad u (v :> w))- , Covariant (Schematic Monad u (v :> (w :> x)))- , Covariant (Schematic Monad u (v :> (w :> (x :> y))))- , Covariant (Schematic Monad u (v :> (w :> (x :> (y :> z)))))- , Covariant (Schematic Monad u (v :> (w :> (x :> (y :> (z :> f))))))- , Covariant_ (Schematic Monad u (v :> (w :> (x :> (y :> (z :> f)))))) (->) (->)- , Covariant (Schematic Monad v (w :> x))- , Covariant (Schematic Monad v (w :> (x :> y)))- , Covariant (Schematic Monad v (w :> (x :> (y :> z))))- , Covariant (Schematic Monad v (w :> (x :> (y :> (z :> f)))))- , Covariant_ (Schematic Monad v (w :> (x :> (y :> (z :> f))))) (->) (->)- , Covariant (Schematic Monad w (x :> y))- , Covariant (Schematic Monad w (x :> (y :> z)))- , Covariant (Schematic Monad w (x :> (y :> (z :> f))))- , Covariant_ (Schematic Monad w (x :> (y :> (z :> f)))) (->) (->)- , Covariant (Schematic Monad x y)- , Covariant (Schematic Monad x (y :> z))- , Covariant (Schematic Monad x (y :> (z :> f)))- , Covariant_ (Schematic Monad x (y :> (z :> f))) (->) (->)- , Covariant (Schematic Monad y z)- , Covariant (Schematic Monad y (z :> f))- , Covariant_ (Schematic Monad y (z :> f)) (->) (->)- , Covariant (Schematic Monad z f)- , Covariant_ (Schematic Monad z f) (->) (->)+ ( 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)@@ -411,24 +393,14 @@ adapt = hoist (hoist (hoist (hoist (hoist (hoist adapt))))) instance- ( Covariant h, 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)- , Covariant (Schematic Monad x (y :> z))- , Covariant (Schematic Monad x (y :> (z :> f)))- , Covariant (Schematic Monad x (y :> (z :> (f :> h))))- , Covariant_ (Schematic Monad x (y :> (z :> (f :> h)))) (->) (->)- , Covariant (Schematic Monad y z)- , Covariant (Schematic Monad y (z :> f))- , Covariant (Schematic Monad y (z :> (f :> h)))- , Covariant_ (Schematic Monad y (z :> (f :> h))) (->) (->)- , Covariant (Schematic Monad z f)- , Covariant (Schematic Monad z (f :> h))- , Covariant_ (Schematic Monad z (f :> h)) (->) (->)- , Covariant (Schematic Monad f h)- , Covariant_ (Schematic Monad f h) (->) (->)+ ( 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)
Pandora/Paradigm/Controlflow/Effect/Interpreted.hs view
@@ -1,8 +1,8 @@ module Pandora.Paradigm.Controlflow.Effect.Interpreted where import Pandora.Core.Functor (type (:.), type (:=))-import Pandora.Pattern.Category ((.))-import Pandora.Pattern.Functor.Covariant (Covariant ((<$>), (<$$>), (<$$$>), (<$$$$>)), Covariant_)+import Pandora.Pattern.Semigroupoid ((.))+import Pandora.Pattern.Functor.Covariant (Covariant ((-<$>-)), (-<$$>-), (-<$$$>-), (-<$$$$>-)) import Pandora.Pattern.Transformer.Liftable (Liftable (lift)) import Pandora.Paradigm.Primary.Algebraic.Exponential () @@ -22,38 +22,38 @@ (=||) :: Interpreted u => (t a -> u b) -> Primary t a -> Primary u b (=||) f = run . f . unite - (<$||=) :: (Covariant j, Interpreted u)+ (<$||=) :: (Covariant j (->) (->), Interpreted u) => (Primary t a -> Primary u b) -> j := t a -> j := u b- f <$||= x = (f ||=) <$> x+ f <$||= x = (f ||=) -<$>- x - (<$$||=) :: (Covariant j, Covariant k, Interpreted u)+ (<$$||=) :: (Covariant j (->) (->), Covariant k (->) (->), Interpreted u) => (Primary t a -> Primary u b) -> j :. k := t a -> j :. k := u b- f <$$||= x = (f ||=) <$$> x+ f <$$||= x = (f ||=) -<$$>- x - (<$$$||=) :: (Covariant j, Covariant k, Covariant l, Interpreted u)+ (<$$$||=) :: (Covariant j (->) (->), Covariant k (->) (->), Covariant l (->) (->), Interpreted u) => (Primary t a -> Primary u b) -> j :. k :. l := t a -> j :. k :. l := u b- f <$$$||= x = (f ||=) <$$$> x+ f <$$$||= x = (f ||=) -<$$$>- x - (<$$$$||=) :: (Covariant j, Covariant k, Covariant l, Covariant m, Interpreted u)+ (<$$$$||=) :: (Covariant j (->) (->), Covariant k (->) (->), Covariant l (->) (->), Covariant m (->) (->), Interpreted u) => (Primary t a -> Primary u b) -> j :. k :. l :. m := t a -> j :. k :. l :. m := u b- f <$$$$||= x = (f ||=) <$$$$> x+ f <$$$$||= x = (f ||=) -<$$$$>- x - (=||$>) :: (Covariant j, Interpreted u)+ (=||$>) :: (Covariant j (->) (->), Interpreted u) => (t a -> u b) -> j := Primary t a -> j := Primary u b- f =||$> x = (f =||) <$> x+ f =||$> x = (f =||) -<$>- x - (=||$$>) :: (Covariant j, Covariant k, Interpreted u)+ (=||$$>) :: (Covariant j (->) (->), Covariant k (->) (->), Interpreted u) => (t a -> u b) -> j :. k := Primary t a -> j :. k := Primary u b- f =||$$> x = (f =||) <$$> x+ f =||$$> x = (f =||) -<$$>- x - (=||$$$>) :: (Covariant j, Covariant k, Covariant l, Interpreted u)+ (=||$$$>) :: (Covariant j (->) (->), Covariant k (->) (->), Covariant l (->) (->), Interpreted u) => (t a -> u b) -> j :. k :. l := Primary t a -> j :. k :. l := Primary u b- f =||$$$> x = (f =||) <$$$> x+ f =||$$$> x = (f =||) -<$$$>- x - (=||$$$$>) :: (Covariant j, Covariant k, Covariant l, Covariant m, Interpreted u)+ (=||$$$$>) :: (Covariant j (->) (->), Covariant k (->) (->), Covariant l (->) (->), Covariant m (->) (->), Interpreted u) => (t a -> u b) -> j :. k :. l :. m := Primary t a -> j :. k :. l :. m := Primary u b- f =||$$$$> x = (f =||) <$$$$> x+ f =||$$$$> x = (f =||) -<$$$$>- x -(-=:) :: (Liftable t, Interpreted (t u), Interpreted (t v), Covariant u, Covariant_ u (->) (->))+(-=:) :: (Liftable t, Interpreted (t u), Interpreted (t v), Covariant u (->) (->)) => (t u a -> t v b) -> u a -> Primary (t v) b (-=:) f = run . f . lift
Pandora/Paradigm/Controlflow/Effect/Transformer/Comonadic.hs view
@@ -3,12 +3,12 @@ module Pandora.Paradigm.Controlflow.Effect.Transformer.Comonadic (Comonadic (..), (:<) (..)) where import Pandora.Core.Functor (type (~>))-import Pandora.Pattern.Category ((.), ($))-import Pandora.Pattern.Functor.Covariant (Covariant ((<$>)), Covariant_ ((-<$>-)))+import Pandora.Pattern.Semigroupoid ((.))+import Pandora.Pattern.Category (($))+import Pandora.Pattern.Functor.Covariant (Covariant ((-<$>-))) import Pandora.Pattern.Functor.Pointable (Pointable (point)) import Pandora.Pattern.Functor.Extractable (Extractable (extract))-import Pandora.Pattern.Functor.Applicative (Applicative ((<*>)))-import Pandora.Pattern.Functor.Alternative (Alternative ((<+>)))+import Pandora.Pattern.Functor.Semimonoidal (Semimonoidal (multiply_)) import Pandora.Pattern.Functor.Distributive (Distributive ((-<<))) import Pandora.Pattern.Functor.Traversable (Traversable ((<<-))) import Pandora.Pattern.Functor.Bindable (Bindable ((=<<)))@@ -16,6 +16,7 @@ import Pandora.Pattern.Functor.Comonad (Comonad) import Pandora.Pattern.Transformer.Lowerable (Lowerable (lower)) import Pandora.Pattern.Transformer.Hoistable (Hoistable ((/|\)))+import Pandora.Paradigm.Primary.Algebraic.Product ((:*:)((:*:))) import Pandora.Paradigm.Controlflow.Effect.Interpreted (Schematic, Interpreted (Primary, run, unite)) class Interpreted t => Comonadic t where@@ -25,10 +26,7 @@ infixr 3 :< newtype (:<) t u a = TC { tc :: Schematic Comonad t u a } -instance Covariant (Schematic Comonad t u) => Covariant (t :< u) where- f <$> TC x = TC $ f <$> x--instance Covariant_ (Schematic Comonad t u) (->) (->) => Covariant_ (t :< u) (->) (->) where+instance Covariant (Schematic Comonad t u) (->) (->) => Covariant (t :< u) (->) (->) where f -<$>- TC x = TC $ f -<$>- x instance Pointable (Schematic Comonad t u) (->) => Pointable (t :< u) (->) where@@ -37,11 +35,8 @@ instance Extractable (Schematic Comonad t u) (->) => Extractable (t :< u) (->) where extract = extract . tc -instance Applicative (Schematic Comonad t u) => Applicative (t :< u) where- TC f <*> TC x = TC $ f <*> x--instance Alternative (Schematic Comonad t u) => Alternative (t :< u) where- TC x <+> TC y = TC $ x <+> y+instance Semimonoidal (Schematic Comonad t u) (->) (:*:) (:*:) => Semimonoidal (t :< u) (->) (:*:) (:*:) where+ multiply_ (TC f :*: TC x) = TC $ multiply_ $ f :*: x instance Traversable (Schematic Comonad t u) (->) (->) => Traversable (t :< u) (->) (->) where f <<- TC x = TC -<$>- f <<- x
Pandora/Paradigm/Controlflow/Effect/Transformer/Monadic.hs view
@@ -3,13 +3,12 @@ module Pandora.Paradigm.Controlflow.Effect.Transformer.Monadic (Monadic (..), (:>) (..)) where import Pandora.Core.Functor (type (~>))-import Pandora.Pattern.Category ((.), ($))-import Pandora.Pattern.Functor.Covariant (Covariant ((<$>)), Covariant_ ((-<$>-)))+import Pandora.Pattern.Semigroupoid ((.))+import Pandora.Pattern.Category (($))+import Pandora.Pattern.Functor.Covariant (Covariant ((-<$>-))) import Pandora.Pattern.Functor.Pointable (Pointable (point)) import Pandora.Pattern.Functor.Extractable (Extractable (extract))-import Pandora.Pattern.Functor.Applicative (Applicative ((<*>)))-import Pandora.Pattern.Functor.Alternative (Alternative ((<+>)))-import Pandora.Pattern.Functor.Avoidable (Avoidable (empty))+import Pandora.Pattern.Functor.Semimonoidal (Semimonoidal (multiply_)) import Pandora.Pattern.Functor.Distributive (Distributive ((-<<))) import Pandora.Pattern.Functor.Traversable (Traversable ((<<-))) import Pandora.Pattern.Functor.Bindable (Bindable ((=<<)))@@ -17,6 +16,7 @@ import Pandora.Pattern.Functor.Monad (Monad) import Pandora.Pattern.Transformer.Liftable (Liftable (lift)) import Pandora.Pattern.Transformer.Hoistable (Hoistable ((/|\)))+import Pandora.Paradigm.Primary.Algebraic.Product ((:*:)((:*:))) import Pandora.Paradigm.Controlflow.Effect.Interpreted (Schematic, Interpreted (Primary, run, unite)) class Interpreted t => Monadic t where@@ -26,10 +26,7 @@ infixr 3 :> newtype (:>) t u a = TM { tm :: Schematic Monad t u a } -instance Covariant (Schematic Monad t u) => Covariant (t :> u) where- f <$> TM x = TM $ f <$> x--instance Covariant_ (Schematic Monad t u) (->) (->) => Covariant_ (t :> u) (->) (->) where+instance Covariant (Schematic Monad t u) (->) (->) => Covariant (t :> u) (->) (->) where f -<$>- TM x = TM $ f -<$>- x instance Pointable (Schematic Monad t u) (->) => Pointable (t :> u) (->) where@@ -38,14 +35,8 @@ instance Extractable (Schematic Monad t u) (->) => Extractable (t :> u) (->) where extract = extract . tm -instance Applicative (Schematic Monad t u) => Applicative (t :> u) where- TM f <*> TM x = TM $ f <*> x--instance Alternative (Schematic Monad t u) => Alternative (t :> u) where- TM x <+> TM y = TM $ x <+> y--instance Avoidable (Schematic Monad t u) => Avoidable (t :> u) where- empty = TM empty+instance Semimonoidal (Schematic Monad t u) (->) (:*:) (:*:) => Semimonoidal (t :> u) (->) (:*:) (:*:) where+ multiply_ (TM f :*: TM x) = TM $ multiply_ $ f :*: x instance Traversable (Schematic Monad t u) (->) (->) => Traversable (t :> u) (->) (->) where f <<- TM x = TM -<$>- f <<- x@@ -59,7 +50,7 @@ instance Extendable (Schematic Monad t u) (->) => Extendable (t :> u) (->) where f <<= TM x = TM $ f . TM <<= x -instance (Covariant_ (Schematic Monad t u) (->) (->), Pointable (t :> u) (->), Bindable (t :> u) (->)) => Monad (t :> u) where+instance (Covariant (Schematic Monad t u) (->) (->), Pointable (t :> u) (->), Bindable (t :> u) (->)) => Monad (t :> u) where instance Liftable (Schematic Monad t) => Liftable ((:>) t) where lift = TM . lift
Pandora/Paradigm/Controlflow/Observable.hs view
@@ -1,8 +1,9 @@ module Pandora.Paradigm.Controlflow.Observable (Observable, observe, notify, follow, subscribe, watch, (.:~.), (.:~*), (*:~.), (*:~*)) where -import Pandora.Pattern.Category ((.), ($), (#))-import Pandora.Pattern.Functor.Applicative (Applicative (forever))+import Pandora.Pattern.Semigroupoid ((.))+import Pandora.Pattern.Category (($), (#))+import Pandora.Paradigm.Primary.Algebraic (Applicative_, forever_) import Pandora.Paradigm.Primary.Transformer.Continuation (Continuation (Continuation)) import Pandora.Paradigm.Controlflow.Effect.Interpreted (run) @@ -22,26 +23,26 @@ (.:~.) :: Observable t a r -> (a -> t r) -> t r (.:~.) = notify --- | Listen only first event, call back forever-follow :: Applicative t => Observable t a r -> (a -> t r) -> t r-follow r action = captured $ run r # Capture . forever . action+-- | Listen only first event, call back forever_+follow :: Applicative_ t => Observable t a r -> (a -> t r) -> t r+follow r action = captured $ run r # Capture . forever_ . action -- | Infix version of 'follow'-(.:~*) :: Applicative t => Observable t a r -> (a -> t r) -> t r+(.:~*) :: Applicative_ t => Observable t a r -> (a -> t r) -> t r (.:~*) = follow -- | Listen all events from action, call back just once-subscribe :: Applicative t => Observable t a r -> (a -> t r) -> t r-subscribe r action = forever $ captured $ run r # Capture . action+subscribe :: Applicative_ t => Observable t a r -> (a -> t r) -> t r+subscribe r action = forever_ $ captured $ run r # Capture . action -- | Infix version of 'subscribe'-(*:~.) :: Applicative t => Observable t a r -> (a -> t r) -> t r+(*:~.) :: Applicative_ t => Observable t a r -> (a -> t r) -> t r (*:~.) = subscribe --- | Listen all events from action, call back forever-watch :: Applicative t => Observable t a r -> (a -> t r) -> t r-watch r action = forever $ captured $ run r # Capture . forever . action+-- | Listen all events from action, call back forever_+watch :: Applicative_ t => Observable t a r -> (a -> t r) -> t r+watch r action = forever_ $ captured $ run r # Capture . forever_ . action -- | Infix version of 'watch'-(*:~*) :: Applicative t => Observable t a r -> (a -> t r) -> t r+(*:~*) :: Applicative_ t => Observable t a r -> (a -> t r) -> t r (*:~*) = watch
Pandora/Paradigm/Controlflow/Pipeline.hs view
@@ -1,6 +1,7 @@ module Pandora.Paradigm.Controlflow.Pipeline (Pipeline, await, yield, finish, impact, (=*=), pipeline) where -import Pandora.Pattern.Category (($), (.), (#))+import Pandora.Pattern.Semigroupoid ((.))+import Pandora.Pattern.Category (($), (#)) import Pandora.Pattern.Functor.Pointable (Pointable (point)) import Pandora.Pattern.Functor.Bindable (Bindable ((=<<))) import Pandora.Paradigm.Primary.Algebraic.Exponential ((!.), (!..))
Pandora/Paradigm/Inventory.hs view
@@ -12,8 +12,8 @@ import Pandora.Paradigm.Inventory.Accumulator as Exports import Pandora.Core.Functor (type (~>))-import Pandora.Pattern.Category ((.), ($), (#), identity)-import Pandora.Pattern.Functor.Covariant (Covariant)+import Pandora.Pattern.Semigroupoid ((.))+import Pandora.Pattern.Category (($), (#), identity) import Pandora.Pattern.Functor.Adjoint (Adjoint ((-|), (|-))) import Pandora.Pattern.Functor.Extractable (extract) import Pandora.Pattern.Functor.Bivariant ((<->))@@ -45,7 +45,7 @@ (=<>) :: Stateful src t => Lens mode src tgt -> mode tgt -> t src lens =<> new = modify $ set lens new -(~<>) :: Covariant mode => Stateful src t => Lens mode src tgt -> (mode tgt -> mode tgt) -> t src+(~<>) :: Stateful src t => Lens mode src tgt -> (mode tgt -> mode tgt) -> t src lens ~<> f = modify $ over lens f magnify :: forall bg ls t . (Accessible ls bg, Stateful bg t) => t ls
Pandora/Paradigm/Inventory/Accumulator.hs view
@@ -2,10 +2,11 @@ module Pandora.Paradigm.Inventory.Accumulator (Accumulator (..), Accumulated, gather) where -import Pandora.Pattern.Category ((.), ($), (#))-import Pandora.Pattern.Functor.Covariant (Covariant ((<$>)), Covariant_ ((-<$>-)))+import Pandora.Pattern.Semigroupoid ((.))+import Pandora.Pattern.Category (($), (#))+import Pandora.Pattern.Functor.Covariant (Covariant ((-<$>-))) import Pandora.Pattern.Functor.Pointable (Pointable (point))-import Pandora.Pattern.Functor.Applicative (Applicative ((<*>)))+import Pandora.Pattern.Functor.Semimonoidal (Semimonoidal (multiply_)) import Pandora.Pattern.Functor.Bindable (Bindable ((=<<))) import Pandora.Pattern.Functor.Monad (Monad) import Pandora.Pattern.Object.Monoid (Monoid (zero))@@ -18,15 +19,12 @@ newtype Accumulator e a = Accumulator (e :*: a) -instance Covariant (Accumulator e) where- f <$> Accumulator x = Accumulator $ f <$> x--instance Covariant_ (Accumulator e) (->) (->) where+instance Covariant (Accumulator e) (->) (->) where f -<$>- Accumulator x = Accumulator $ f -<$>- x -instance Semigroup e => Applicative (Accumulator e) where- f <*> v = Accumulator $ k # run f # run v where- k ~(e :*: g) ~(e' :*: w) = e + e' :*: g w+instance Semigroup e => Semimonoidal (Accumulator e) (->) (:*:) (:*:) where+ multiply_ (x :*: y) = Accumulator $ k # run x # run y where+ k ~(ex :*: x') ~(ey :*: y') = ex + ey :*: x' :*: y' instance Monoid e => Pointable (Accumulator e) (->) where point = Accumulator . (zero :*:)@@ -46,10 +44,6 @@ wrap = TM . UT . point . run type Accumulated e t = Adaptable (Accumulator e) t--instance {-# OVERLAPS #-} (Semigroup e, Applicative u) => Applicative ((:*:) e <.:> u) where- UT f <*> UT x = UT $ k <$> f <*> x where- k ~(u :*: g) ~(v :*: y) = u + v :*: g y instance {-# OVERLAPS #-} (Pointable u (->), Monoid e) => Pointable ((:*:) e <.:> u) (->) where point = UT . point . (zero :*:)
Pandora/Paradigm/Inventory/Environment.hs view
@@ -2,16 +2,19 @@ module Pandora.Paradigm.Inventory.Environment (Environment (..), Configured, env) where -import Pandora.Pattern.Category (identity, (.), ($))-import Pandora.Pattern.Functor.Covariant (Covariant ((<$>)), Covariant_ ((-<$>-)))-import Pandora.Pattern.Functor.Contravariant (Contravariant_ ((->$<-)))+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.Pointable (Pointable (point))-import Pandora.Pattern.Functor.Applicative (Applicative ((<*>)))+import Pandora.Pattern.Functor.Semimonoidal (Semimonoidal (multiply_)) import Pandora.Pattern.Functor.Distributive (Distributive ((-<<))) import Pandora.Pattern.Functor.Bindable (Bindable ((=<<))) import Pandora.Pattern.Functor.Monad (Monad) import Pandora.Pattern.Functor.Divariant (Divariant ((>->))) import Pandora.Paradigm.Primary.Algebraic.Exponential ((!.), (%))+import Pandora.Paradigm.Primary.Algebraic ()+import Pandora.Paradigm.Primary.Algebraic.Product ((:*:) ((:*:))) import Pandora.Paradigm.Primary.Transformer.Flip (Flip (Flip)) import Pandora.Paradigm.Controlflow.Effect.Interpreted (Schematic, Interpreted (Primary, run, unite)) import Pandora.Paradigm.Controlflow.Effect.Transformer.Monadic (Monadic (wrap), (:>) (TM))@@ -20,20 +23,17 @@ newtype Environment e a = Environment (e -> a) -instance Covariant (Environment e) where- f <$> Environment x = Environment $ f . x--instance Covariant_ (Environment e) (->) (->) where+instance Covariant (Environment e) (->) (->) where f -<$>- Environment x = Environment $ f . x -instance Contravariant_ (Flip Environment a) (->) (->) where+instance Contravariant (Flip Environment a) (->) (->) where f ->$<- Flip (Environment g) = Flip . Environment $ g . f instance Pointable (Environment e) (->) where point x = Environment (x !.) -instance Applicative (Environment e) where- f <*> x = Environment $ run f <*> run x+instance Semimonoidal (Environment e) (->) (:*:) (:*:) where+ multiply_ (x :*: y) = unite $ multiply_ $ run x :*: run y instance Distributive (Environment e) (->) (->) where f -<< g = Environment $ (run -<$>- f) -<< g@@ -54,7 +54,7 @@ type instance Schematic Monad (Environment e) = (<:.>) ((->) e) instance Monadic (Environment e) where- wrap x = TM . TU $ point <$> run x+ wrap x = TM . TU $ point @_ @(->) -<$>- run x type Configured e = Adaptable (Environment e)
Pandora/Paradigm/Inventory/Equipment.hs view
@@ -2,8 +2,9 @@ module Pandora.Paradigm.Inventory.Equipment (Equipment (..), retrieve) where -import Pandora.Pattern.Category ((.), ($))-import Pandora.Pattern.Functor.Covariant (Covariant ((<$>)), Covariant_ ((-<$>-)))+import Pandora.Pattern.Semigroupoid ((.))+import Pandora.Pattern.Category (($))+import Pandora.Pattern.Functor.Covariant (Covariant ((-<$>-))) import Pandora.Pattern.Functor.Extractable (Extractable (extract)) import Pandora.Pattern.Functor.Traversable (Traversable ((<<-))) import Pandora.Pattern.Functor.Extendable (Extendable ((<<=)))@@ -17,10 +18,7 @@ newtype Equipment e a = Equipment (e :*: a) -instance Covariant (Equipment e) where- f <$> Equipment x = Equipment $ f <$> x--instance Covariant_ (Equipment e) (->) (->) where+instance Covariant (Equipment e) (->) (->) where f -<$>- Equipment x = Equipment $ f -<$>- x instance Extractable (Equipment e) (->) where@@ -40,7 +38,7 @@ type instance Schematic Comonad (Equipment e) = (<:.>) ((:*:) e) instance Comonadic (Equipment e) where- bring (TC (TU x)) = Equipment $ extract <$> x+ bring (TC (TU x)) = Equipment $ extract @_ @(->) -<$>- x type Equipped e t = Adaptable t (Equipment e)
Pandora/Paradigm/Inventory/Imprint.hs view
@@ -2,9 +2,10 @@ module Pandora.Paradigm.Inventory.Imprint (Imprint (..), Traceable) where -import Pandora.Pattern.Category ((.), ($))-import Pandora.Pattern.Functor.Covariant (Covariant ((<$>)), Covariant_ ((-<$>-)))-import Pandora.Pattern.Functor.Contravariant (Contravariant_ ((->$<-)))+import Pandora.Pattern.Semigroupoid ((.))+import Pandora.Pattern.Category (($))+import Pandora.Pattern.Functor.Covariant (Covariant ((-<$>-)))+import Pandora.Pattern.Functor.Contravariant (Contravariant ((->$<-))) import Pandora.Pattern.Functor.Extractable (Extractable (extract)) import Pandora.Pattern.Functor.Distributive (Distributive ((-<<))) import Pandora.Pattern.Functor.Extendable (Extendable ((<<=)))@@ -21,13 +22,10 @@ newtype Imprint e a = Imprint (e -> a) -instance Covariant (Imprint e) where- f <$> Imprint x = Imprint $ f . x--instance Covariant_ (Imprint e) (->) (->) where+instance Covariant (Imprint e) (->) (->) where f -<$>- Imprint g = Imprint $ f . g -instance Contravariant_ (Flip Imprint a) (->) (->) where+instance Contravariant (Flip Imprint a) (->) (->) where f ->$<- Flip (Imprint g) = Flip . Imprint $ g . f instance Distributive (Imprint e) (->) (->) where
Pandora/Paradigm/Inventory/Optics.hs view
@@ -3,8 +3,9 @@ module Pandora.Paradigm.Inventory.Optics where import Pandora.Core.Impliable (Impliable (Arguments, imply))-import Pandora.Pattern.Category (Category (identity, (.), ($), (#)))-import Pandora.Pattern.Functor.Covariant (Covariant ((<$>), (<$)))+import Pandora.Pattern.Semigroupoid (Semigroupoid ((.)))+import Pandora.Pattern.Category (Category (identity, ($), (#)))+import Pandora.Pattern.Functor.Covariant (Covariant ((-<$>-))) import Pandora.Pattern.Functor.Extractable (Extractable (extract)) import Pandora.Pattern.Functor.Invariant (Invariant ((<$<))) import Pandora.Pattern.Functor.Divariant ((>->))@@ -13,6 +14,7 @@ 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 (($>-)) import Pandora.Paradigm.Primary.Functor.Identity (Identity (Identity)) import Pandora.Paradigm.Primary.Functor.Maybe (Maybe (Just, Nothing)) import Pandora.Paradigm.Primary.Transformer.Flip (Flip (Flip))@@ -26,14 +28,16 @@ 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+ P_Q_T to . P_Q_T from = P_Q_T $ \source -> (to . extract @Identity . position $ from source) $>- source+ instance Category (Lens Identity) where identity = imply @(Convex Lens _ _) identity ((%) (!.))- P_Q_T to . P_Q_T from = P_Q_T $ \source -> source <$ (to . extract @Identity . position $ from source) instance Impliable (P_Q_T (->) Store Identity source target) where type Arguments (P_Q_T (->) Store Identity source target) =@@ -48,12 +52,14 @@ (source -> Maybe target) -> (source -> Maybe target -> source) -> Lens Maybe source target imply getter setter = P_Q_T $ \source -> Store $ getter source :*: setter source -instance Category (Lens Maybe) where- identity = imply @(Obscure Lens _ _) # Just # resolve identity+instance Semigroupoid (Lens Maybe) where P_Q_T to . P_Q_T from = P_Q_T $ \source -> case position # from source of Nothing -> Store $ Nothing :*: (source !.)- Just between -> source <$ to between+ Just between -> to between $>- source +instance Category (Lens Maybe) where+ identity = imply @(Obscure Lens _ _) # Just # resolve identity+ -- Lens as natural transformation type (#=@) source target available = forall a . Lens available (source a) (target a) @@ -66,7 +72,7 @@ set lens new = look new . run lens -- | Modify focused target value-over :: Covariant available => Lens available source target -> (available target -> available target) -> source -> source+over :: Lens available source target -> (available target -> available target) -> source -> source over lens f = extract . retrofit f . run lens -- | Representable based lens
Pandora/Paradigm/Inventory/State.hs view
@@ -3,11 +3,12 @@ module Pandora.Paradigm.Inventory.State where import Pandora.Core.Functor (type (:.), type (:=))-import Pandora.Pattern.Category (identity, (.), ($))-import Pandora.Pattern.Functor.Covariant (Covariant ((<$>)), Covariant_ ((-<$>-)))+import Pandora.Pattern.Semigroupoid ((.))+import Pandora.Pattern.Category (identity, ($))+import Pandora.Pattern.Functor.Covariant (Covariant ((-<$>-))) import Pandora.Pattern.Functor.Invariant (Invariant ((<$<))) import Pandora.Pattern.Functor.Pointable (Pointable (point))-import Pandora.Pattern.Functor.Applicative (Applicative ((<*>)), Semimonoidal (multiply))+import Pandora.Pattern.Functor.Semimonoidal (Semimonoidal (multiply_)) import Pandora.Pattern.Functor.Traversable (Traversable ((<<-))) import Pandora.Pattern.Functor.Bindable (Bindable ((=<<))) import Pandora.Pattern.Functor.Monad (Monad)@@ -19,25 +20,19 @@ import Pandora.Paradigm.Controlflow.Effect.Interpreted (Interpreted (Primary, run, unite, (||=)), Schematic) import Pandora.Paradigm.Controlflow.Effect.Transformer.Monadic (Monadic (wrap), (:>) (TM)) import Pandora.Paradigm.Schemes.TUT (TUT (TUT), type (<:<.>:>))-import Pandora.Paradigm.Primary.Algebraic ((:*:) ((:*:)), (%), (!.), (-<*>-), delta)+import Pandora.Paradigm.Primary.Algebraic ((:*:) ((:*:)), (*>-), delta) -- | Effectful computation with a variable newtype State s a = State ((->) s :. (:*:) s := a) -instance Covariant (State s) where- f <$> x = State $ (<$>) f . run x--instance Covariant_ (State s) (->) (->) where+instance Covariant (State s) (->) (->) where f -<$>- x = State $ (-<$>-) f . run x -instance Applicative (State s) where- f <*> x = State $ ((<$>) |-) . (run x <-> identity @(->)) . run f--instance Semimonoidal (State s) (:*:) (->) (->) where- multiply f (State g :*: State h) = State $ \s -> - let old :*: x = g s in- let new :*: y = h old in- new :*: f (x :*: y)+instance Semimonoidal (State s) (->) (:*:) (:*:) where+ multiply_ (State g :*: State h) = State $ \s -> + let old :*: x = g s in + let new :*: y = h old in+ new :*: x :*: y instance Pointable (State s) (->) where point = State . (identity @(->) -|)@@ -58,7 +53,7 @@ type instance Schematic Monad (State s) = (->) s <:<.>:> (:*:) s instance Monadic (State s) where- wrap x = TM . TUT $ point <$> run x+ wrap x = TM . TUT $ point @_ @(->) -<$>- run x type Stateful s = Adaptable (State s) @@ -77,7 +72,7 @@ reconcile :: (Bindable t (->), Stateful s t, Adaptable u t) => (s -> u s) -> t s reconcile f = replace =<< adapt . f =<< current -type Memorable s t = (Pointable t (->), Semimonoidal t (:*:) (->) (->), Stateful s t)+type Memorable s t = (Pointable t (->), Semimonoidal 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 = (modify . op <<- struct) *>- current
Pandora/Paradigm/Inventory/Store.hs view
@@ -3,8 +3,9 @@ module Pandora.Paradigm.Inventory.Store where import Pandora.Core (type (:.), type (:=), type (<:=), type (~>))-import Pandora.Pattern.Category (identity, (.), ($))-import Pandora.Pattern.Functor.Covariant (Covariant ((<$>), (<$$>), (.#..)), Covariant_ ((-<$>-)), (-<$$>-))+import Pandora.Pattern.Semigroupoid ((.))+import Pandora.Pattern.Category (identity, ($))+import Pandora.Pattern.Functor.Covariant (Covariant ((-<$>-)), (-<$$>-)) import Pandora.Pattern.Functor.Invariant (Invariant ((<$<))) import Pandora.Pattern.Functor.Extractable (Extractable (extract)) import Pandora.Pattern.Functor.Extendable (Extendable ((<<=)))@@ -12,7 +13,7 @@ import Pandora.Pattern.Functor.Bivariant ((<->)) import Pandora.Pattern.Functor.Divariant ((>->)) import Pandora.Pattern.Functor.Adjoint ((-|), (|-))-import Pandora.Paradigm.Primary.Algebraic.Exponential ((%))+import Pandora.Paradigm.Primary.Algebraic.Exponential ((%), (-.#..-)) import Pandora.Paradigm.Primary.Algebraic.Product ((:*:) ((:*:)), attached) import Pandora.Paradigm.Primary.Algebraic () import Pandora.Paradigm.Primary.Transformer.Flip (Flip (Flip))@@ -24,17 +25,14 @@ -- | Context based computation on value newtype Store s a = Store ((:*:) s :. (->) s := a) -instance Covariant (Store s) where- f <$> Store x = Store $ f <$$> x--instance Covariant_ (Store s) (->) (->) where+instance Covariant (Store s) (->) (->) where f -<$>- Store x = Store $ f -<$$>- x instance Extractable (Store s) (->) where extract = (($) |-) . run 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
Pandora/Paradigm/Primary.hs view
@@ -9,29 +9,25 @@ import Pandora.Paradigm.Primary.Algebraic as Exports import Pandora.Core.Functor (type (:=))-import Pandora.Pattern.Category (Category ((.), ($), (#), identity))-import Pandora.Pattern.Functor.Covariant (Covariant ((<$>)))-import Pandora.Pattern.Functor.Contravariant (Contravariant ((>$<)))+import Pandora.Pattern.Semigroupoid (Semigroupoid ((.)))+import Pandora.Pattern.Category (Category (($), (#), identity))+import Pandora.Pattern.Functor.Covariant (Covariant ((-<$>-))) import Pandora.Pattern.Functor.Adjoint (Adjoint ((|-), (-|))) import Pandora.Pattern.Functor.Extractable (Extractable (extract)) import Pandora.Pattern.Transformer.Liftable (lift) import Pandora.Pattern.Transformer.Lowerable (lower)-import Pandora.Paradigm.Controlflow.Effect.Interpreted (run, (||=))+import Pandora.Paradigm.Controlflow.Effect.Interpreted (run) import Pandora.Paradigm.Inventory.Store (Store (Store)) import Pandora.Paradigm.Schemes (TU (TU), P_Q_T (P_Q_T), type (<:.>), type (<:.:>)) import Pandora.Paradigm.Structure.Ability.Monotonic (Monotonic (resolve)) import Pandora.Paradigm.Structure.Ability.Morphable (Morphable (Morphing, morphing), Morph (Into), premorph) import Pandora.Paradigm.Structure.Ability.Substructure (Substructure (Available, Substance, substructure)) -instance Category (Flip (->)) where- identity = Flip identity+instance Semigroupoid (Flip (->)) where Flip f . Flip g = Flip $ \x -> g (f x) -instance Contravariant (Flip (->) r) where- f >$< g = (<$> f) ||= g--instance Covariant (Flip (:*:) a) where- f <$> (Flip (x :*: y)) = Flip $ f x :*: y+instance Category (Flip (->)) where+ identity = Flip identity instance Extractable (Flip (:*:) a) (->) where extract (Flip (x :*: _)) = x@@ -103,16 +99,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,22 +1,30 @@ {-# OPTIONS_GHC -fno-warn-orphans #-} -module Pandora.Paradigm.Primary.Algebraic (module Exports, (-<*>-)) where+module Pandora.Paradigm.Primary.Algebraic (module Exports, Applicative_, Alternative_, ($>-), ($$>-), ($$$>-), (-<*>-), (*>-), forever_, (-+-)) where import Pandora.Paradigm.Primary.Algebraic.Exponential as Exports import Pandora.Paradigm.Primary.Algebraic.Product as Exports+import Pandora.Paradigm.Primary.Algebraic.Sum as Exports import Pandora.Pattern.Category (($))-import Pandora.Pattern.Functor.Covariant (Covariant_ ((-<$>-)))+import Pandora.Pattern.Functor (Endofunctor)+import Pandora.Pattern.Functor.Covariant (Covariant ((-<$>-)), (-<$$>-), (-<$$$>-)) import Pandora.Pattern.Functor.Extractable (Extractable (extract))-import Pandora.Pattern.Functor.Applicative (Semimonoidal (multiply))+import Pandora.Pattern.Functor.Semimonoidal (Semimonoidal (multiply_)) import Pandora.Pattern.Functor.Traversable (Traversable ((<<-))) import Pandora.Pattern.Functor.Adjoint (Adjoint ((-|), (|-))) infixl 4 -<*>- -instance Semimonoidal ((->) e) (:*:) (->) (->) where- multiply f (g :*: h) = \x -> f $ g x :*: h x+($>-) :: Covariant t (->) (->) => t a -> b -> t b+x $>- r = (r !.) -<$>- x +($$>-) :: (Covariant t (->) (->), Covariant u (->) (->)) => t (u a) -> b -> t (u b)+x $$>- r = (r !.) -<$$>- x++($$$>-) :: (Covariant t (->) (->), Covariant u (->) (->), Covariant v (->) (->)) => t (u (v a)) -> b -> t (u (v b))+x $$$>- r = (r !.) -<$$$>- x+ instance Traversable ((:*:) s) (->) (->) where f <<- x = (attached x :*:) -<$>- f (extract x) @@ -26,5 +34,27 @@ (|-) :: (a -> s -> b) -> (s :*: a) -> b f |- ~(s :*: x) = f x s -(-<*>-) :: forall a b t . (Semimonoidal t (:*:) (->) (->)) => t (a -> b) -> t a -> t b-(-<*>-) = (%) ((-|) @((:*:) (t (a -> b))) (multiply @t @(:*:) @(->) @(->) ((&) |-)))+instance Semimonoidal ((->) e) (->) (:*:) (:*:) where+ multiply_ :: ((e -> a) :*: (e -> b)) -> e -> (a :*: b)+ multiply_ (g :*: h) = \x -> g x :*: h x++instance Semimonoidal ((:+:) e) (->) (:*:) (:+:) where+ multiply_ :: ((e :+: a) :*: (e :+: b)) -> e :+: a :+: b+ multiply_ (Option _ :*: Option e') = Option e'+ multiply_ (Option _ :*: Adoption y) = Adoption $ Adoption y+ multiply_ (Adoption x :*: _) = Adoption $ Option x++type Applicative_ t = (Endofunctor Covariant t (->), Semimonoidal t (->) (:*:) (:*:))+type Alternative_ t = (Endofunctor Covariant t (->), Semimonoidal t (->) (:*:) (:+:))++(-<*>-) :: Applicative_ t => t (a -> b) -> t a -> t b+f -<*>- x = (|-) @_ @_ @(->) @(->) (&) -<$>- multiply_ @_ @_ @_ @(:*:) (f :*: x)++forever_ :: Applicative_ t => t a -> t b+forever_ x = let r = x *>- r in r++(*>-) :: Applicative_ t => t a -> t b -> t b+x *>- y = ((!.) %) -<$>- x -<*>- y++(-+-) :: Alternative_ t => t a -> t b -> (a :+: b -> r) -> t r+x -+- y = \f -> f -<$>- multiply_ (x :*: y)
Pandora/Paradigm/Primary/Algebraic/Exponential.hs view
@@ -2,10 +2,10 @@ module Pandora.Paradigm.Primary.Algebraic.Exponential where -import Pandora.Pattern.Category (Category ((.), ($), (#), identity))-import Pandora.Pattern.Functor.Covariant (Covariant ((<$>)), Covariant_ ((-<$>-)))-import Pandora.Pattern.Functor.Contravariant (Contravariant_ ((->$<-)))-import Pandora.Pattern.Functor.Applicative (Applicative ((<*>)))+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.Distributive (Distributive ((-<<))) import Pandora.Pattern.Functor.Pointable (Pointable (point)) import Pandora.Pattern.Functor.Bindable (Bindable ((=<<)))@@ -16,25 +16,22 @@ import Pandora.Paradigm.Primary.Transformer.Flip (Flip (Flip)) infixr 2 !.+infixr 7 -.#..- infixr 9 % infixl 1 & -instance Category (->) where- identity x = x+instance Semigroupoid (->) where f . g = \x -> f (g x) -instance Covariant ((->) a) where- (<$>) = (.)+instance Category (->) where+ identity x = x -instance Covariant_ ((->) a) (->) (->) where+instance Covariant ((->) a) (->) (->) where (-<$>-) = (.) -instance Contravariant_ (Flip (->) a) (->) (->) where+instance Contravariant (Flip (->) a) (->) (->) where f ->$<- Flip g = Flip $ g . f -instance Applicative ((->) e) where- (<*>) f g x = f x $ g x- instance Distributive ((->) e) (->) (->) where f -<< g = \e -> (f % e) -<$>- g @@ -58,7 +55,7 @@ instance Ringoid r => Ringoid (e -> r) where f * g = \e -> f e * g e -(-.#..-) :: (Covariant_ (v a) (->) target, Category v) => v c d -> target (v a (v b c)) (v a (v b d))+(-.#..-) :: (Covariant (v a) (->) target, Semigroupoid v) => v c d -> target (v a (v b c)) (v a (v b d)) (-.#..-) f = (-<$>-) (f .) {-# INLINE (!.) #-}
Pandora/Paradigm/Primary/Algebraic/Product.hs view
@@ -2,8 +2,8 @@ import Pandora.Core.Functor (type (:=)) import Pandora.Pattern.Category (($), (#))-import Pandora.Pattern.Functor.Covariant (Covariant ((<$>)), Covariant_ ((-<$>-)))-import Pandora.Pattern.Functor.Applicative (Applicative ((<*>)))+import Pandora.Pattern.Functor.Covariant (Covariant ((-<$>-)))+import Pandora.Pattern.Functor.Semimonoidal (Semimonoidal (multiply_)) import Pandora.Pattern.Functor.Extractable (Extractable (extract)) import Pandora.Pattern.Functor.Extendable (Extendable ((<<=))) import Pandora.Pattern.Functor.Comonad (Comonad)@@ -23,13 +23,10 @@ data (:*:) s a = s :*: a -instance Covariant ((:*:) s) where- f <$> x = attached x :*: f # extract x--instance Covariant_ ((:*:) s) (->) (->) where+instance Covariant ((:*:) s) (->) (->) where f -<$>- x = attached x :*: f # extract x -instance Covariant_ (Flip (:*:) a) (->) (->) where+instance Covariant (Flip (:*:) a) (->) (->) where f -<$>- (Flip (x :*: y)) = Flip $ f x :*: y instance Extractable ((:*:) a) (->) where@@ -69,8 +66,8 @@ instance (Group s, Group a) => Group (s :*: a) where invert x = invert # attached x :*: invert # extract x -instance {-# OVERLAPS #-} Applicative t => Applicative (t <:.:> t := (:*:)) where- T_U (lfs :*: rfs) <*> T_U (ls :*: rs) = T_U $ lfs <*> ls :*: rfs <*> rs+instance {-# OVERLAPS #-} Semimonoidal t (->) (:*:) (:*:) => Semimonoidal (t <:.:> t := (:*:)) (->) (:*:) (:*:) where+ multiply_ (T_U (xls :*: xrs) :*: T_U (yls :*: yrs)) = T_U $ multiply_ (xls :*: yls) :*: multiply_ (xrs :*: yrs) delta :: a -> a :*: a delta x = x :*: x
+ Pandora/Paradigm/Primary/Algebraic/Sum.hs view
@@ -0,0 +1,29 @@+module Pandora.Paradigm.Primary.Algebraic.Sum where++import Pandora.Pattern.Semigroupoid ((.))+import Pandora.Pattern.Category (($))+import Pandora.Pattern.Functor.Covariant (Covariant ((-<$>-)))+import Pandora.Pattern.Functor.Pointable (Pointable (point))+import Pandora.Pattern.Functor.Bivariant (Bivariant ((<->)))+import Pandora.Paradigm.Primary.Algebraic.Exponential ()+import Pandora.Paradigm.Primary.Transformer.Flip (Flip (Flip))++infixr 0 :+:++data (:+:) s a = Option s | Adoption a++instance Covariant ((:+:) s) (->) (->) where+ _ -<$>- Option s = Option s+ f -<$>- Adoption x = Adoption $ f x++instance Pointable ((:+:) e) (->) where+ point = Adoption++instance Bivariant (:+:) (->) (->) (->) where+ f <-> g = \case+ Option s -> Option $ f s+ Adoption x -> Adoption $ g x++instance Covariant (Flip (:+:) a) (->) (->) where+ _ -<$>- Flip (Adoption x) = Flip $ Adoption x+ f -<$>- Flip (Option y) = Flip . Option $ f y
Pandora/Paradigm/Primary/Functor/Conclusion.hs view
@@ -1,11 +1,12 @@ module Pandora.Paradigm.Primary.Functor.Conclusion where import Pandora.Core.Functor (type (~>))-import Pandora.Pattern.Category (identity, (.), ($), (#))-import Pandora.Pattern.Functor.Covariant (Covariant ((<$>)), Covariant_ ((-<$>-)))+import Pandora.Pattern.Semigroupoid ((.))+import Pandora.Pattern.Category (identity, ($), (#))+import Pandora.Pattern.Functor (Endofunctor)+import Pandora.Pattern.Functor.Covariant (Covariant ((-<$>-))) import Pandora.Pattern.Functor.Pointable (Pointable (point))-import Pandora.Pattern.Functor.Alternative (Alternative ((<+>)))-import Pandora.Pattern.Functor.Applicative (Semimonoidal (multiply))+import Pandora.Pattern.Functor.Semimonoidal (Semimonoidal (multiply_)) import Pandora.Pattern.Functor.Traversable (Traversable ((<<-))) import Pandora.Pattern.Functor.Bindable (Bindable ((=<<))) import Pandora.Pattern.Functor.Monad (Monad)@@ -16,6 +17,7 @@ import Pandora.Paradigm.Primary.Object.Boolean (Boolean (False)) import Pandora.Paradigm.Primary.Object.Ordering (Ordering (Less, Greater)) import Pandora.Paradigm.Primary.Algebraic.Product ((:*:) ((:*:)))+import Pandora.Paradigm.Primary.Algebraic.Sum ((:+:) (Option, Adoption)) import Pandora.Paradigm.Primary.Transformer.Flip (Flip (Flip)) import Pandora.Paradigm.Controlflow.Effect.Interpreted (Schematic, Interpreted (Primary, run, unite)) import Pandora.Paradigm.Controlflow.Effect.Transformer.Monadic (Monadic (wrap), (:>) (TM))@@ -24,38 +26,28 @@ data Conclusion e a = Failure e | Success a -instance Covariant (Conclusion e) where- f <$> Success x = Success $ f x- _ <$> Failure y = Failure y--instance Covariant_ (Conclusion e) (->) (->) where+instance Covariant (Conclusion e) (->) (->) where f -<$>- Success x = Success $ f x _ -<$>- Failure y = Failure y -instance Covariant_ (Flip Conclusion e) (->) (->) where+instance Covariant (Flip Conclusion e) (->) (->) where _ -<$>- Flip (Success x) = Flip $ Success x f -<$>- Flip (Failure y) = Flip . Failure $ f y instance Pointable (Conclusion e) (->) where point = Success -instance Semimonoidal (Conclusion e) (:*:) (->) (->) where- multiply f (Success x :*: Success y) = Success . f $ x :*: y- multiply _ (Failure x :*: _) = Failure x- multiply _ (_ :*: Failure x) = Failure x--instance Semimonoidal (Conclusion e) Conclusion (->) (->) where- multiply f (Failure (Success x)) = Success . f $ Failure x- multiply f (Success (Success y)) = Success . f $ Success y- multiply _ (Failure (Failure e)) = Failure e- multiply _ (Success (Failure e)) = Failure e+instance Semimonoidal (Conclusion e) (->) (:*:) (:*:) where+ multiply_ (Success x :*: Success y) = Success $ x :*: y+ multiply_ (Failure x :*: _) = Failure x+ multiply_ (_ :*: Failure x) = Failure x -instance Alternative (Conclusion e) where- Failure _ <+> x = x- Success x <+> _ = Success x+instance Semigroup e => Semimonoidal (Conclusion e) (->) (:*:) (:+:) where+ multiply_ (Failure _ :*: x) = Adoption -<$>- x+ multiply_ (Success x :*: _) = Option -<$>- Success x instance Traversable (Conclusion e) (->) (->) where- (<<-) :: (Covariant_ u (->) (->), Pointable u (->), Semimonoidal u (:*:) (->) (->))+ (<<-) :: (Endofunctor Covariant u (->), Pointable u (->), Semimonoidal u (->) (:*:) (:*:)) => (a -> u b) -> Conclusion e a -> u (Conclusion e b) _ <<- Failure y = point $ Failure y f <<- Success x = Success -<$>- f x
Pandora/Paradigm/Primary/Functor/Constant.hs view
@@ -1,8 +1,9 @@ module Pandora.Paradigm.Primary.Functor.Constant where -import Pandora.Pattern.Category ((.), ($))-import Pandora.Pattern.Functor.Covariant (Covariant ((<$>)), Covariant_ ((-<$>-)))-import Pandora.Pattern.Functor.Contravariant (Contravariant ((>$<)))+import Pandora.Pattern.Semigroupoid ((.))+import Pandora.Pattern.Category (($))+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 ((==)))@@ -19,17 +20,14 @@ newtype Constant a b = Constant a -instance Covariant (Constant a) where- _ <$> Constant x = Constant x--instance Covariant_ (Constant a) (->) (->) where+instance Covariant (Constant a) (->) (->) where _ -<$>- Constant x = Constant x -instance Covariant_ (Flip Constant b) (->) (->) where+instance Covariant (Flip Constant b) (->) (->) where f -<$>- Flip (Constant x) = Flip . Constant $ f x -instance Contravariant (Constant a) where- _ >$< Constant x = Constant x+instance Contravariant (Constant a) (->) (->) where+ _ ->$<- Constant x = Constant x instance Invariant (Constant a) where _ <$< _ = \(Constant x) -> Constant x
Pandora/Paradigm/Primary/Functor/Convergence.hs view
@@ -1,19 +1,10 @@ module Pandora.Paradigm.Primary.Functor.Convergence where import Pandora.Pattern.Category (($), (#))-import Pandora.Pattern.Functor.Contravariant (Contravariant ((>$<)), Contravariant_ ((->$<-)))-import Pandora.Pattern.Functor.Divisible (Divisible ((>*<)))-import Pandora.Pattern.Object.Ringoid (Ringoid ((*)))-import Pandora.Paradigm.Primary.Algebraic.Product ((:*:) ((:*:)))+import Pandora.Pattern.Functor.Contravariant (Contravariant ((->$<-)))+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--instance Contravariant_ (Convergence r) (->) (->) where+instance Contravariant (Convergence r) (->) (->) where f ->$<- Convergence g = Convergence $ \x y -> g # f x # f y--instance Ringoid r => Divisible (Convergence r) where- Convergence g >*< Convergence h = Convergence $- \(x :*: x') (y :*: y') -> g x y * h x' y'
Pandora/Paradigm/Primary/Functor/Edges.hs view
@@ -1,20 +1,14 @@ module Pandora.Paradigm.Primary.Functor.Edges where import Pandora.Pattern.Category (($))-import Pandora.Pattern.Functor.Covariant (Covariant ((<$>)), Covariant_ ((-<$>-)))+import Pandora.Pattern.Functor.Covariant (Covariant ((-<$>-))) import Pandora.Pattern.Functor.Pointable (Pointable (point)) import Pandora.Pattern.Functor.Traversable (Traversable ((<<-))) import Pandora.Paradigm.Primary.Algebraic.Exponential () 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--instance Covariant_ Edges (->) (->) where+instance Covariant Edges (->) (->) where _ -<$>- Empty = Empty f -<$>- Connect x = Connect $ f x f -<$>- Overlay x = Overlay $ f x
Pandora/Paradigm/Primary/Functor/Endo.hs view
@@ -1,6 +1,7 @@ module Pandora.Paradigm.Primary.Functor.Endo where -import Pandora.Pattern.Category (identity, (.), (#))+import Pandora.Pattern.Semigroupoid ((.))+import Pandora.Pattern.Category (identity, (#)) import Pandora.Pattern.Functor.Invariant (Invariant ((<$<))) import Pandora.Pattern.Functor.Divariant ((>->)) import Pandora.Pattern.Object.Semigroup (Semigroup ((+)))
Pandora/Paradigm/Primary/Functor/Fix.hs view
@@ -1,17 +1,17 @@ module Pandora.Paradigm.Primary.Functor.Fix where import Pandora.Core.Functor (type (<:=), type (:=>))-import Pandora.Pattern.Category ((.))-import Pandora.Pattern.Functor.Covariant (Covariant (comap))+import Pandora.Pattern.Semigroupoid ((.))+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 . comap (cata f) . unfix+cata :: Covariant t (->) (->) => (a <:= t) -> Fix t -> a+cata f = f . (cata f -<$>-) . unfix -ana :: Covariant t => (a :=> t) -> a -> Fix t-ana f = Fix . comap (ana f) . f+ana :: Covariant t (->) (->) => (a :=> t) -> a -> Fix t+ana f = Fix . (ana f -<$>-) . f -hylo :: Covariant t => (b <:= t) -> (a :=> t) -> (a -> b)+hylo :: Covariant t (->) (->) => (b <:= t) -> (a :=> t) -> (a -> b) hylo phi psi = cata phi . ana psi
Pandora/Paradigm/Primary/Functor/Identity.hs view
@@ -1,10 +1,10 @@ module Pandora.Paradigm.Primary.Functor.Identity where -import Pandora.Pattern.Category ((.), ($))-import Pandora.Pattern.Functor.Covariant (Covariant ((<$>), comap), Covariant_ ((-<$>-)))+import Pandora.Pattern.Semigroupoid ((.))+import Pandora.Pattern.Category (($))+import Pandora.Pattern.Functor.Covariant (Covariant ((-<$>-))) import Pandora.Pattern.Functor.Extractable (Extractable (extract)) import Pandora.Pattern.Functor.Pointable (Pointable (point))-import Pandora.Pattern.Functor.Applicative (Applicative ((<*>))) import Pandora.Pattern.Functor.Traversable (Traversable ((<<-))) import Pandora.Pattern.Functor.Bindable (Bindable ((=<<))) import Pandora.Pattern.Functor.Extendable (Extendable ((<<=)))@@ -25,10 +25,7 @@ newtype Identity a = Identity a -instance Covariant Identity where- f <$> Identity x = Identity $ f x--instance Covariant_ Identity (->) (->) where+instance Covariant Identity (->) (->) where f -<$>- Identity x = Identity $ f x instance Pointable Identity (->) where@@ -37,9 +34,6 @@ instance Extractable Identity (->) where extract (Identity x) = x -instance Applicative Identity where- Identity f <*> Identity x = Identity $ f x- instance Traversable Identity (->) (->) where f <<- Identity x = Identity -<$>- f x @@ -60,7 +54,7 @@ instance Adjoint Identity Identity (->) (->) where f -| x = Identity . f . Identity $ x- g |- x = extract . extract . comap 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
@@ -1,12 +1,11 @@ module Pandora.Paradigm.Primary.Functor.Maybe where import Pandora.Core.Functor (type (:.), type (:=))-import Pandora.Pattern.Category (identity, (.), ($))-import Pandora.Pattern.Functor.Covariant (Covariant ((<$>)), Covariant_ ((-<$>-)))-import Pandora.Pattern.Functor.Avoidable (Avoidable (empty))+import Pandora.Pattern.Semigroupoid ((.))+import Pandora.Pattern.Category (identity, ($))+import Pandora.Pattern.Functor.Covariant (Covariant ((-<$>-))) import Pandora.Pattern.Functor.Pointable (Pointable (point))-import Pandora.Pattern.Functor.Alternative (Alternative ((<+>)))-import Pandora.Pattern.Functor.Applicative (Semimonoidal (multiply))+import Pandora.Pattern.Functor.Semimonoidal (Semimonoidal (multiply_)) import Pandora.Pattern.Functor.Traversable (Traversable ((<<-))) import Pandora.Pattern.Functor.Bindable (Bindable ((=<<))) import Pandora.Pattern.Functor.Monad (Monad)@@ -25,38 +24,26 @@ import Pandora.Paradigm.Structure.Ability.Monotonic (Monotonic (reduce)) import Pandora.Paradigm.Primary.Algebraic.Exponential () import Pandora.Paradigm.Primary.Algebraic.Product ((:*:) ((:*:)))-import Pandora.Paradigm.Primary.Functor.Conclusion (Conclusion (Failure, Success))+import Pandora.Paradigm.Primary.Algebraic.Sum ((:+:) (Option, Adoption)) data Maybe a = Nothing | Just a -instance Covariant Maybe where- f <$> Just x = Just $ f x- _ <$> Nothing = Nothing--instance Covariant_ Maybe (->) (->) where+instance Covariant Maybe (->) (->) where f -<$>- Just x = Just $ f x _ -<$>- Nothing = Nothing instance Pointable Maybe (->) where point = Just -instance Avoidable Maybe where- empty = Nothing--instance Semimonoidal Maybe (:*:) (->) (->) where- multiply f (Just x :*: Just y) = Just . f $ x :*: y- multiply _ (Nothing :*: _) = Nothing- multiply _ (_ :*: Nothing) = Nothing--instance Semimonoidal Maybe Conclusion (->) (->) where- multiply f (Failure (Just x)) = Just . f $ Failure x- multiply f (Success (Just y)) = Just . f $ Success y- multiply _ (Failure Nothing) = Nothing- multiply _ (Success Nothing) = Nothing+instance Semimonoidal Maybe (->) (:*:) (:*:) where+ multiply_ (Just x :*: Just y) = Just $ x :*: y+ multiply_ (Nothing :*: _) = Nothing+ multiply_ (_ :*: Nothing) = Nothing -instance Alternative Maybe where- Nothing <+> y = y- Just x <+> _ = Just x+instance Semimonoidal Maybe (->) (:*:) (:+:) where+ multiply_ (Just x :*: Just _) = Just $ Option x+ multiply_ (Nothing :*: Just y) = Just $ Adoption y+ multiply_ (Nothing :*: Nothing) = Nothing instance Traversable Maybe (->) (->) where _ <<- Nothing = point Nothing
Pandora/Paradigm/Primary/Functor/Predicate.hs view
@@ -1,17 +1,11 @@ module Pandora.Paradigm.Primary.Functor.Predicate where import Pandora.Core.Functor (type (~>), type (:=>))-import Pandora.Pattern.Category ((.), ($))-import Pandora.Pattern.Functor.Contravariant (Contravariant ((>$<)), Contravariant_ ((->$<-)))-import Pandora.Pattern.Functor.Divisible (Divisible ((>*<)), Divisible_ (divide))-import Pandora.Pattern.Functor.Determinable (Determinable (determine))-import Pandora.Pattern.Functor.Pointable (Pointable (point))-import Pandora.Pattern.Functor.Avoidable (Avoidable (empty))+import Pandora.Pattern.Semigroupoid ((.))+import Pandora.Pattern.Category (($))+import Pandora.Pattern.Functor.Contravariant (Contravariant ((->$<-))) import Pandora.Pattern.Object.Setoid (Setoid ((==)))-import Pandora.Pattern.Object.Ringoid ((*))-import Pandora.Paradigm.Primary.Object.Boolean (Boolean (True, False), bool, (?))-import Pandora.Paradigm.Primary.Algebraic.Exponential ((!.))-import Pandora.Paradigm.Primary.Algebraic.Product ((:*:) ((:*:)))+import Pandora.Paradigm.Primary.Object.Boolean (Boolean (True, False), bool) import Pandora.Paradigm.Controlflow.Effect.Interpreted (Interpreted (Primary, run, unite)) newtype Predicate a = Predicate (a -> Boolean)@@ -21,27 +15,11 @@ run ~(Predicate f) = f unite = Predicate -instance Contravariant Predicate where- f >$< Predicate g = Predicate $ g . f--instance Contravariant_ Predicate (->) (->) where+instance Contravariant Predicate (->) (->) where f ->$<- Predicate g = Predicate $ g . f -instance Divisible Predicate where- Predicate g >*< Predicate h = Predicate $ \(b :*: c) -> g b * h c--instance Divisible_ Predicate (:*:) (->) (->) where- divide f (Predicate g :*: Predicate h) = Predicate $ \r -> case f r of- b :*: c -> g b * h c--instance Determinable Predicate where- determine = Predicate (True !.)- equate :: Setoid a => a :=> Predicate equate x = Predicate (== x)--satisfy :: (Pointable t (->), Avoidable t) => Predicate a -> a -> t a-satisfy p x = run p x ? point x $ empty not :: Predicate ~> Predicate not (Predicate p) = Predicate $ bool True False . p
Pandora/Paradigm/Primary/Functor/Proxy.hs view
@@ -1,10 +1,8 @@ module Pandora.Paradigm.Primary.Functor.Proxy where -import Pandora.Pattern.Functor.Covariant (Covariant ((<$>)), Covariant_ ((-<$>-)))-import Pandora.Pattern.Functor.Contravariant (Contravariant ((>$<)))+import Pandora.Pattern.Functor.Covariant (Covariant ((-<$>-)))+import Pandora.Pattern.Functor.Contravariant (Contravariant ((->$<-))) import Pandora.Pattern.Functor.Pointable (Pointable (point))-import Pandora.Pattern.Functor.Applicative (Applicative ((<*>)))-import Pandora.Pattern.Functor.Alternative (Alternative ((<+>))) import Pandora.Pattern.Functor.Distributive (Distributive ((-<<))) import Pandora.Pattern.Functor.Bindable (Bindable ((=<<))) import Pandora.Pattern.Functor.Extendable (Extendable ((<<=)))@@ -13,23 +11,14 @@ data Proxy a = Proxy -instance Covariant Proxy where- _ <$> Proxy = Proxy--instance Covariant_ Proxy (->) (->) where+instance Covariant Proxy (->) (->) where _ -<$>- Proxy = Proxy -instance Contravariant Proxy where- _ >$< _ = Proxy+instance Contravariant Proxy (->) (->) where+ _ ->$<- _ = Proxy instance Pointable Proxy (->) where point _ = Proxy--instance Applicative Proxy where- _ <*> _ = Proxy--instance Alternative Proxy where- _ <+> _ = Proxy instance Distributive Proxy (->) (->) where _ -<< _ = Proxy
Pandora/Paradigm/Primary/Functor/Tagged.hs view
@@ -1,11 +1,11 @@ module Pandora.Paradigm.Primary.Functor.Tagged where import Pandora.Core.Functor (type (:=>), type (~>))-import Pandora.Pattern.Category ((.), ($))-import Pandora.Pattern.Functor.Covariant (Covariant ((<$>)), Covariant_ ((-<$>-)))+import Pandora.Pattern.Semigroupoid ((.))+import Pandora.Pattern.Category (($))+import Pandora.Pattern.Functor.Covariant (Covariant ((-<$>-))) import Pandora.Pattern.Functor.Extractable (Extractable (extract)) import Pandora.Pattern.Functor.Pointable (Pointable (point))-import Pandora.Pattern.Functor.Applicative (Applicative ((<*>))) import Pandora.Pattern.Functor.Traversable (Traversable ((<<-))) import Pandora.Pattern.Functor.Distributive (Distributive ((-<<))) import Pandora.Pattern.Functor.Bindable (Bindable ((=<<)))@@ -30,13 +30,10 @@ infixr 0 :# type (:#) tag = Tagged tag -instance Covariant (Tagged tag) where- f <$> Tag x = Tag $ f x--instance Covariant_ (Tagged tag) (->) (->) where+instance Covariant (Tagged tag) (->) (->) where f -<$>- Tag x = Tag $ f x -instance Covariant_ (Flip Tagged a) (->) (->) where+instance Covariant (Flip Tagged a) (->) (->) where _ -<$>- Flip (Tag x) = Flip $ Tag x instance Pointable (Tagged tag) (->) where@@ -44,9 +41,6 @@ instance Extractable (Tagged tag) (->) where extract (Tag x) = x--instance Applicative (Tagged tag) where- Tag f <*> Tag x = Tag $ f x instance Traversable (Tagged tag) (->) (->) where f <<- Tag x = Tag -<$>- 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 ((<$>)), Covariant_ ((-<$>-)))+import Pandora.Pattern.Functor.Covariant (Covariant ((-<$>-))) import Pandora.Pattern.Functor.Pointable (Pointable (point)) import Pandora.Pattern.Functor.Traversable (Traversable ((<<-))) import Pandora.Pattern.Object.Semigroup (Semigroup ((+)))@@ -9,12 +9,7 @@ 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--instance Covariant_ (These e) (->) (->) where+instance Covariant (These e) (->) (->) where f -<$>- This x = This $ f x _ -<$>- That y = That y f -<$>- These y x = These y $ f x
Pandora/Paradigm/Primary/Functor/Validation.hs view
@@ -1,10 +1,10 @@ module Pandora.Paradigm.Primary.Functor.Validation where -import Pandora.Pattern.Category ((.), ($), (#))-import Pandora.Pattern.Functor.Covariant (Covariant ((<$>)), Covariant_ ((-<$>-)))+import Pandora.Pattern.Semigroupoid ((.))+import Pandora.Pattern.Category (($), (#))+import Pandora.Pattern.Functor.Covariant (Covariant ((-<$>-))) import Pandora.Pattern.Functor.Pointable (Pointable (point))-import Pandora.Pattern.Functor.Applicative (Applicative ((<*>)), Semimonoidal (multiply))-import Pandora.Pattern.Functor.Alternative (Alternative ((<+>)))+import Pandora.Pattern.Functor.Semimonoidal (Semimonoidal (multiply_)) import Pandora.Pattern.Functor.Traversable (Traversable ((<<-))) import Pandora.Pattern.Functor.Bivariant (Bivariant ((<->))) import Pandora.Pattern.Object.Setoid (Setoid ((==)))@@ -12,17 +12,14 @@ import Pandora.Pattern.Object.Semigroup (Semigroup ((+))) import Pandora.Paradigm.Primary.Algebraic.Exponential () import Pandora.Paradigm.Primary.Algebraic.Product ((:*:) ((:*:)))+import Pandora.Paradigm.Primary.Algebraic.Sum ((:+:) (Option, Adoption)) import Pandora.Paradigm.Primary.Transformer.Flip (Flip (Flip)) import Pandora.Paradigm.Primary.Object.Boolean (Boolean (False)) import Pandora.Paradigm.Primary.Object.Ordering (Ordering (Less, Greater)) data Validation e a = Flaws e | Validated a -instance Covariant (Validation e) where- _ <$> Flaws e = Flaws e- f <$> Validated x = Validated $ f x--instance Covariant_ (Validation e) (->) (->) where+instance Covariant (Validation e) (->) (->) where _ -<$>- Flaws e = Flaws e f -<$>- Validated x = Validated $ f x _ -<$>- Flaws e = Flaws e@@ -30,7 +27,7 @@ _ -<$>- Flaws e = Flaws e f -<$>- Validated x = Validated $ f x -instance Covariant_ (Flip Validation a) (->) (->) where+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@@ -41,21 +38,15 @@ instance Pointable (Validation e) (->) where point = Validated -instance Semigroup e => Applicative (Validation e) where- Flaws e <*> Flaws e' = Flaws $ e + e'- Flaws e <*> Validated _ = Flaws e- Validated _ <*> Flaws e' = Flaws e'- Validated f <*> Validated x = Validated $ f x--instance Semigroup e => Semimonoidal (Validation e) (:*:) (->) (->) where- multiply f (Validated x :*: Validated y) = Validated . f $ x :*: y- multiply _ (Flaws x :*: Flaws y) = Flaws $ x + y- multiply _ (Validated _ :*: Flaws y) = Flaws y- multiply _ (Flaws x :*: Validated _) = Flaws x+instance Semigroup e => Semimonoidal (Validation e) (->) (:*:) (:*:) where+ multiply_ (Validated x :*: Validated y) = Validated $ x :*: y+ multiply_ (Flaws x :*: Flaws y) = Flaws $ x + y+ multiply_ (Validated _ :*: Flaws y) = Flaws y+ multiply_ (Flaws x :*: Validated _) = Flaws x -instance Alternative (Validation e) where- Flaws _ <+> x = x- Validated x <+> _ = Validated x+instance Semigroup e => Semimonoidal (Validation e) (->) (:*:) (:+:) where+ multiply_ (Flaws _ :*: y) = Adoption -<$>- y+ multiply_ (Validated x :*: _) = Option -<$>- Validated x instance Traversable (Validation e) (->) (->) where f <<- Validated x = Validated -<$>- f x
Pandora/Paradigm/Primary/Functor/Wedge.hs view
@@ -1,19 +1,14 @@ module Pandora.Paradigm.Primary.Functor.Wedge where import Pandora.Pattern.Category (($))-import Pandora.Pattern.Functor.Covariant (Covariant ((<$>)), Covariant_ ((-<$>-)))+import Pandora.Pattern.Functor.Covariant (Covariant ((-<$>-))) import Pandora.Pattern.Functor.Pointable (Pointable (point)) import Pandora.Pattern.Functor.Traversable (Traversable ((<<-))) import Pandora.Paradigm.Primary.Algebraic.Exponential () 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--instance Covariant_ (Wedge e) (->) (->) where+instance Covariant (Wedge e) (->) (->) where _ -<$>- Nowhere = Nowhere _ -<$>- Here x = Here x f -<$>- There x = There $ f x
Pandora/Paradigm/Primary/Functor/Wye.hs view
@@ -2,20 +2,14 @@ import Pandora.Core.Functor (type (~>)) import Pandora.Pattern.Category ((#))-import Pandora.Pattern.Functor.Covariant (Covariant ((<$>)), Covariant_ ((-<$>-)))+import Pandora.Pattern.Functor.Covariant (Covariant ((-<$>-))) import Pandora.Pattern.Object.Semigroup (Semigroup ((+))) import Pandora.Pattern.Object.Monoid (Monoid (zero)) import Pandora.Paradigm.Structure.Ability.Monotonic (Monotonic (reduce)) 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--instance Covariant_ Wye (->) (->) where+instance Covariant Wye (->) (->) where _ -<$>- End = End f -<$>- Left x = Left # f x f -<$>- Right y = Right # f y
Pandora/Paradigm/Primary/Linear/Vector.hs view
@@ -2,8 +2,8 @@ module Pandora.Paradigm.Primary.Linear.Vector where +import Pandora.Pattern.Semigroupoid ((.)) import Pandora.Pattern.Category (($), (#))-import Pandora.Pattern.Functor.Pointable (point) import Pandora.Pattern.Object.Semigroup (Semigroup ((+))) import Pandora.Pattern.Object.Ringoid (Ringoid ((*))) import Pandora.Pattern.Object.Monoid (Monoid (zero))@@ -11,8 +11,9 @@ import Pandora.Pattern.Object.Group (Group (invert)) import Pandora.Pattern.Object.Setoid (Setoid ((==))) import Pandora.Paradigm.Primary.Algebraic.Product ((:*:) ((:*:)))-import Pandora.Paradigm.Primary.Functor.Maybe (Maybe)-import Pandora.Paradigm.Primary.Transformer.Construction (Construction)+import Pandora.Paradigm.Primary.Functor.Maybe (Maybe (Just, Nothing))+import Pandora.Paradigm.Primary.Transformer.Construction (Construction (Construct))+import Pandora.Paradigm.Schemes.TU (TU (TU)) import Pandora.Paradigm.Structure.Ability.Nonempty (Nonempty) import Pandora.Paradigm.Structure.Ability.Monotonic (Monotonic (reduce)) import Pandora.Paradigm.Structure.Ability.Morphable (Morphable (Morphing, morphing), Morph (Into, Push), premorph, into, item)@@ -66,12 +67,12 @@ instance Morphable (Into List) (Vector r) where type Morphing (Into List) (Vector r) = List- morphing (premorph -> Scalar x) = point x+ morphing (premorph -> Scalar x) = TU . Just $ Construct x Nothing morphing (premorph -> Vector x xs) = item @Push x $ into @List xs instance Morphable (Into (Construction Maybe)) (Vector r) where type Morphing (Into (Construction Maybe)) (Vector r) = Construction Maybe- morphing (premorph -> Scalar x) = point x+ morphing (premorph -> Scalar x) = Construct x Nothing morphing (premorph -> Vector x xs) = item @Push x $ into @(Nonempty List) xs class Vectorize a r where
Pandora/Paradigm/Primary/Transformer/Backwards.hs view
@@ -1,11 +1,12 @@ module Pandora.Paradigm.Primary.Transformer.Backwards where -import Pandora.Pattern.Category ((.), ($), (#))-import Pandora.Pattern.Functor.Covariant (Covariant ((<$>), (.#..)), Covariant_ ((-<$>-)))-import Pandora.Pattern.Functor.Contravariant (Contravariant ((>$<)))+import Pandora.Pattern.Semigroupoid ((.))+import Pandora.Pattern.Category (($), (#))+import Pandora.Pattern.Functor.Covariant (Covariant ((-<$>-)))+import Pandora.Pattern.Functor.Contravariant (Contravariant ((->$<-))) import Pandora.Pattern.Functor.Extractable (Extractable (extract)) import Pandora.Pattern.Functor.Pointable (Pointable (point))-import Pandora.Pattern.Functor.Applicative (Semimonoidal (multiply))+import Pandora.Pattern.Functor.Semimonoidal (Semimonoidal (multiply_)) import Pandora.Pattern.Functor.Traversable (Traversable ((<<-))) import Pandora.Pattern.Functor.Distributive (Distributive ((-<<))) import Pandora.Pattern.Transformer.Liftable (Liftable (lift))@@ -18,10 +19,7 @@ newtype Backwards t a = Backwards (t a) -instance Covariant t => Covariant (Backwards t) where- f <$> Backwards x = Backwards $ f <$> x--instance Covariant_ t (->) (->) => Covariant_ (Backwards t) (->) (->) where+instance Covariant t (->) (->) => Covariant (Backwards t) (->) (->) where f -<$>- Backwards x = Backwards $ f -<$>- x instance Pointable t (->) => Pointable (Backwards t) (->) where@@ -31,9 +29,9 @@ extract (Backwards x) = extract x -- TODO: check that effects evaluation goes in opposite order-instance Semimonoidal t (:*:) (->) (->) => Semimonoidal (Backwards t) (:*:) (->) (->) where- multiply f (Backwards x :*: Backwards y) = Backwards #- f .#.. ((:*:) %) -<$>- y -<*>- x+instance (Semimonoidal t (->) (:*:) (:*:), Covariant t (->) (->)) => Semimonoidal (Backwards t) (->) (:*:) (:*:) where+ multiply_ (Backwards x :*: Backwards y) = Backwards #+ ((:*:) %) -<$>- y -<*>- x instance Traversable t (->) (->) => Traversable (Backwards t) (->) (->) where f <<- Backwards x = Backwards -<$>- f <<- x@@ -41,8 +39,8 @@ 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+instance Contravariant t (->) (->) => Contravariant (Backwards t) (->) (->) where+ f ->$<- Backwards x = Backwards $ f ->$<- x instance Interpreted (Backwards t) where type Primary (Backwards t) a = t a
Pandora/Paradigm/Primary/Transformer/Construction.hs view
@@ -3,17 +3,13 @@ module Pandora.Paradigm.Primary.Transformer.Construction where import Pandora.Core.Functor (type (:.), type (:=), type (:=>), type (~>))-import Pandora.Pattern.Category ((.), ($), (#))-import Pandora.Pattern.Functor.Covariant (Covariant ((<$>), (<$$>)), Covariant_ ((-<$>-)), (-<$$>-))-import Pandora.Pattern.Functor.Avoidable (Avoidable (empty))-import Pandora.Pattern.Functor.Pointable (Pointable (point))+import Pandora.Pattern.Semigroupoid ((.))+import Pandora.Pattern.Category (($), (#))+import Pandora.Pattern.Functor.Covariant (Covariant ((-<$>-)), (-<$$>-)) import Pandora.Pattern.Functor.Extractable (Extractable (extract))-import Pandora.Pattern.Functor.Alternative (Alternative ((<+>)))-import Pandora.Pattern.Functor.Applicative (Applicative ((<*>), (<**>)))+import Pandora.Pattern.Functor.Semimonoidal (Semimonoidal (multiply_)) import Pandora.Pattern.Functor.Traversable (Traversable ((<<-)), (-<<-<<-))-import Pandora.Pattern.Functor.Bindable (Bindable ((=<<))) import Pandora.Pattern.Functor.Extendable (Extendable ((<<=)))-import Pandora.Pattern.Functor.Monad (Monad) import Pandora.Pattern.Functor.Comonad (Comonad) import Pandora.Pattern.Transformer.Lowerable (Lowerable (lower)) import Pandora.Pattern.Transformer.Hoistable (Hoistable ((/|\), hoist))@@ -23,6 +19,7 @@ import Pandora.Pattern.Object.Monoid (Monoid (zero)) import Pandora.Paradigm.Primary.Algebraic ((-<*>-)) import Pandora.Paradigm.Primary.Algebraic.Exponential ()+import Pandora.Paradigm.Primary.Algebraic.Product ((:*:)((:*:))) import Pandora.Paradigm.Controlflow.Effect.Interpreted (run) import Pandora.Paradigm.Structure.Ability.Monotonic (Monotonic (reduce)) import Pandora.Paradigm.Schemes (type (<:.>))@@ -31,33 +28,22 @@ 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--instance Covariant_ t (->) (->) => Covariant_ (Construction t) (->) (->) where+instance Covariant t (->) (->) => Covariant (Construction t) (->) (->) where f -<$>- ~(Construct x xs) = Construct # f x # f -<$$>- xs -instance (Avoidable t, Covariant_ t (->) (->)) => Pointable (Construction t) (->) where- point x = Construct x empty--instance Covariant_ t (->) (->) => Extractable (Construction t) (->) where+instance Covariant t (->) (->) => Extractable (Construction t) (->) where extract ~(Construct x _) = x -instance Applicative t => Applicative (Construction t) where- ~(Construct f fs) <*> ~(Construct x xs) = Construct # f x # fs <**> xs+instance (Covariant t (->) (->), Semimonoidal t (->) (:*:) (:*:)) => Semimonoidal (Construction t) (->) (:*:) (:*:) where+ multiply_ (Construct x xs :*: Construct y ys) = Construct (x :*: y) (multiply_ @_ @(->) @(:*:) -<$>- multiply_ (xs :*: ys)) instance Traversable t (->) (->) => Traversable (Construction t) (->) (->) where f <<- ~(Construct x xs) = Construct -<$>- f x -<*>- f -<<-<<- xs -instance (Covariant_ t (->) (->), Alternative t) => Bindable (Construction t) (->) where- f =<< ~(Construct x xs) = Construct # extract (f x) # deconstruct (f x) <+> ((f =<<) -<$>- xs)--instance Covariant_ t (->) (->) => Extendable (Construction t) (->) where+instance Covariant t (->) (->) => Extendable (Construction t) (->) where f <<= x = Construct # f x # (f <<=) -<$>- deconstruct x -instance (Avoidable t, Alternative t, Covariant_ t (->) (->)) => Monad (Construction t) where--instance (Covariant t, Covariant_ t (->) (->)) => Comonad (Construction t) (->) where+instance (Covariant t (->) (->)) => Comonad (Construction t) (->) where instance Lowerable Construction where lower x = extract @_ @(->) -<$>- deconstruct x@@ -65,13 +51,13 @@ instance Hoistable Construction where f /|\ x = Construct # extract x $ f # hoist f -<$>- deconstruct x -instance (Setoid a, forall b . Setoid b => Setoid (t b), Covariant t, Covariant_ t (->) (->)) => Setoid (Construction t a) where+instance (Setoid a, forall b . Setoid b => Setoid (t b), Covariant t (->) (->)) => Setoid (Construction t a) where x == y = (extract x == extract y) * (deconstruct x == deconstruct y) -instance (Semigroup a, forall b . Semigroup b => Semigroup (t b), Covariant t, Covariant_ t (->) (->)) => Semigroup (Construction t a) where+instance (Semigroup a, forall b . Semigroup b => Semigroup (t b), Covariant t (->) (->)) => Semigroup (Construction t a) where x + y = Construct # extract x + extract y # deconstruct x + deconstruct y -instance (Monoid a, forall b . Semigroup b => Monoid (t b), Covariant t, Covariant_ t (->) (->)) => Monoid (Construction t a) where+instance (Monoid a, forall b . Semigroup b => Monoid (t b), Covariant t (->) (->)) => Monoid (Construction t a) where zero = Construct zero zero instance Monotonic a (t :. Construction t := a) => Monotonic a (Construction t a) where@@ -84,8 +70,8 @@ deconstruct ~(Construct _ xs) = xs -- Generate a construction from seed using effectful computation-(.-+) :: Covariant t => a :=> t -> a :=> Construction t-f .-+ x = Construct x $ (f .-+) <$> f x+(.-+) :: Covariant t (->) (->) => a :=> t -> a :=> Construction t+f .-+ x = Construct x $ (f .-+) -<$>- f x section :: Comonad t (->) => t ~> Construction t section xs = Construct # extract xs $ section <<= xs
Pandora/Paradigm/Primary/Transformer/Continuation.hs view
@@ -2,10 +2,10 @@ module Pandora.Paradigm.Primary.Transformer.Continuation where import Pandora.Core.Functor (type (:.), type (:=), type (::|:.))-import Pandora.Pattern.Category ((.), ($), (#))-import Pandora.Pattern.Functor.Covariant (Covariant ((<$>)), Covariant_ ((-<$>-)))+import Pandora.Pattern.Semigroupoid ((.))+import Pandora.Pattern.Category (($), (#))+import Pandora.Pattern.Functor.Covariant (Covariant ((-<$>-))) import Pandora.Pattern.Functor.Pointable (Pointable (point))-import Pandora.Pattern.Functor.Applicative (Applicative ((<*>))) import Pandora.Pattern.Functor.Bindable (Bindable ((=<<))) import Pandora.Pattern.Functor.Monad (Monad) import Pandora.Pattern.Transformer.Liftable (Liftable (lift))@@ -19,19 +19,13 @@ run ~(Continuation x) = x unite = Continuation -instance Covariant t => Covariant (Continuation r t) where- f <$> Continuation continuation = Continuation $ continuation . (. f)--instance Covariant_ t (->) (->) => Covariant_ (Continuation r t) (->) (->) where+instance Covariant t (->) (->) => Covariant (Continuation r t) (->) (->) where f -<$>- Continuation continuation = Continuation $ continuation . (. f) -instance Covariant_ t (->) (->) => Pointable (Continuation r t) (->) where+instance Covariant t (->) (->) => Pointable (Continuation r t) (->) where point x = Continuation ($ x) -instance Covariant t => Applicative (Continuation r t) where- f <*> x = Continuation $ \h -> run f $ \g -> run x # h . g--instance Covariant_ t (->) (->) => Bindable (Continuation r t) (->) where+instance Covariant t (->) (->) => Bindable (Continuation r t) (->) where f =<< x = Continuation $ \g -> run x $ \y -> run # f y # g instance Monad t => Monad (Continuation r t) where
Pandora/Paradigm/Primary/Transformer/Day.hs view
@@ -2,32 +2,23 @@ module Pandora.Paradigm.Primary.Transformer.Day where -import Pandora.Pattern.Category (($), (#))-import Pandora.Pattern.Functor.Covariant (Covariant ((<$>), (.#..)), Covariant_ ((-<$>-)))+import Pandora.Pattern.Category ((#))+import Pandora.Pattern.Functor.Covariant (Covariant ((-<$>-))) import Pandora.Pattern.Functor.Pointable (Pointable (point)) import Pandora.Pattern.Functor.Extractable (Extractable (extract))-import Pandora.Pattern.Functor.Applicative (Applicative ((<*>))) import Pandora.Pattern.Functor.Extendable (Extendable ((<<=))) import Pandora.Pattern.Transformer.Lowerable (Lowerable (lower)) import Pandora.Pattern.Transformer.Hoistable (Hoistable ((/|\))) import Pandora.Paradigm.Primary.Algebraic.Exponential ((!..), (-.#..-))-import Pandora.Paradigm.Primary.Algebraic.Product ((:*:) ((:*:))) 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--instance Covariant_ (Day t u) (->) (->) where+instance Covariant (Day t u) (->) (->) where f -<$>- Day tb uc g = Day tb uc # f -.#..- g instance (Pointable t (->), Pointable u (->)) => Pointable (Day t u) (->) where point x = Day # point () # point () # (x !..) -instance (Applicative t, Applicative u) => Applicative (Day t u) where- Day tb uc bcad <*> Day vb wc bca = Day # (:*:) <$> tb <*> vb # (:*:) <$> uc <*> wc- $ \(b :*: b') (c :*: c') -> bcad b c $ bca b' c'- instance (Extractable t (->), Extractable u (->)) => Extractable (Day t u) (->) where extract (Day tb uc bcad) = bcad # extract tb # extract uc @@ -39,3 +30,6 @@ 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 .+ Day_ (target (category (source a b) r) (target (t a) (u b)))
Pandora/Paradigm/Primary/Transformer/Instruction.hs view
@@ -4,11 +4,9 @@ import Pandora.Core.Functor (type (:.), type (:=)) import Pandora.Pattern.Category (($))-import Pandora.Pattern.Functor.Covariant (Covariant ((<$>), (<$$>)), Covariant_ ((-<$>-)), (-<$$>-))-import Pandora.Pattern.Functor.Avoidable (Avoidable (empty))+import Pandora.Pattern.Functor.Covariant (Covariant ((-<$>-)), (-<$$>-)) import Pandora.Pattern.Functor.Pointable (Pointable (point))-import Pandora.Pattern.Functor.Alternative (Alternative ((<+>)))-import Pandora.Pattern.Functor.Applicative (Applicative ((<*>)))+import Pandora.Pattern.Functor.Semimonoidal (Semimonoidal (multiply_)) import Pandora.Pattern.Functor.Traversable (Traversable ((<<-)), (-<<-<<-)) import Pandora.Pattern.Functor.Bindable (Bindable ((=<<))) import Pandora.Pattern.Functor.Monad (Monad)@@ -16,34 +14,24 @@ import Pandora.Pattern.Transformer.Lowerable (Lowerable (lower)) import Pandora.Pattern.Transformer.Hoistable (Hoistable ((/|\), hoist)) import Pandora.Paradigm.Primary.Algebraic.Exponential ()+import Pandora.Paradigm.Primary.Algebraic.Product ((:*:)((:*:))) 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--instance Covariant_ t (->) (->) => Covariant_ (Instruction t) (->) (->) where+instance Covariant t (->) (->) => Covariant (Instruction t) (->) (->) where f -<$>- Enter x = Enter $ f x f -<$>- Instruct xs = Instruct $ f -<$$>- xs -instance Covariant_ t (->) (->) => Pointable (Instruction t) (->) where+instance Covariant t (->) (->) => Pointable (Instruction t) (->) where point = Enter -instance Alternative t => Alternative (Instruction t) where- Enter x <+> _ = Enter x- _ <+> Enter y = Enter y- Instruct xs <+> Instruct ys = Instruct $ xs <+> ys--instance Avoidable t => Avoidable (Instruction t) where- empty = Instruct empty--instance Covariant t => Applicative (Instruction t) where- Enter f <*> Enter y = Enter $ f y- Enter f <*> Instruct y = Instruct $ f <$$> y- Instruct f <*> y = Instruct $ (<*> y) <$> f+instance (Covariant t (->) (->), Semimonoidal t (->) (:*:) (:*:)) => Semimonoidal (Instruction t) (->) (:*:) (:*:) where+ multiply_ (Enter x :*: Enter y) = Enter $ x :*: y+ multiply_ (Enter x :*: Instruct y) = (x :*:) -<$>- Instruct y+ multiply_ (Instruct x :*: Enter y) = (:*: y) -<$>- Instruct x+ multiply_ (Instruct x :*: Instruct y) = Instruct $ multiply_ @_ @(->) @(:*:) -<$>- multiply_ (x :*: y) -instance Covariant_ t (->) (->) => Bindable (Instruction t) (->) where+instance Covariant t (->) (->) => Bindable (Instruction t) (->) where f =<< Enter x = f x f =<< Instruct xs = Instruct $ (f =<<) -<$>- xs @@ -60,6 +48,6 @@ 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 $ hoist f <$> f xs+ f /|\ Instruct xs = Instruct $ hoist f -<$>- f xs
Pandora/Paradigm/Primary/Transformer/Jack.hs view
@@ -2,13 +2,11 @@ module Pandora.Paradigm.Primary.Transformer.Jack where -import Pandora.Pattern.Category (identity, (.), ($), (#))-import Pandora.Pattern.Functor.Covariant (Covariant ((<$>)), Covariant_ ((-<$>-)))+import Pandora.Pattern.Semigroupoid ((.))+import Pandora.Pattern.Category (identity, ($))+import Pandora.Pattern.Functor.Covariant (Covariant ((-<$>-))) import Pandora.Pattern.Functor.Pointable (Pointable (point)) import Pandora.Pattern.Functor.Extractable (Extractable (extract))-import Pandora.Pattern.Functor.Alternative (Alternative ((<+>)))-import Pandora.Pattern.Functor.Avoidable (Avoidable (empty))-import Pandora.Pattern.Functor.Applicative (Applicative ((<*>))) import Pandora.Pattern.Functor.Traversable (Traversable ((<<-))) import Pandora.Pattern.Functor.Bindable (Bindable ((=<<))) import Pandora.Pattern.Functor.Extendable (Extendable ((<<=)))@@ -22,34 +20,16 @@ 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--instance Covariant_ t (->) (->) => Covariant_ (Jack t) (->) (->) where+instance Covariant t (->) (->) => Covariant (Jack t) (->) (->) where f -<$>- It x = It $ f x f -<$>- Other y = Other $ f -<$>- y -instance Covariant_ t (->) (->) => Pointable (Jack t) (->) where+instance Covariant t (->) (->) => Pointable (Jack t) (->) where point = It -instance Alternative t => Alternative (Jack t) where- It x <+> _ = It x- Other _ <+> It y = It y- Other x <+> Other y = Other # x <+> y--instance Avoidable t => Avoidable (Jack t) where- empty = Other empty- instance Extractable t (->) => Extractable (Jack t) (->) where extract (It x) = x extract (Other y) = extract y--instance Applicative t => Applicative (Jack t) where- It f <*> It x = It $ f x- It f <*> Other y = Other $ f <$> y- Other f <*> It x = Other $ ($ x) <$> f- Other f <*> Other y = Other $ f <*> y instance Traversable t (->) (->) => Traversable (Jack t) (->) (->) where f <<- It x = It -<$>- f x
Pandora/Paradigm/Primary/Transformer/Jet.hs view
@@ -2,26 +2,18 @@ module Pandora.Paradigm.Primary.Transformer.Jet where -import Pandora.Pattern.Functor.Covariant (Covariant ((<$>)), (<$$>), Covariant_ ((-<$>-)), (-<$$>-))-import Pandora.Pattern.Functor.Avoidable (Avoidable (empty))-import Pandora.Pattern.Functor.Pointable (Pointable (point))+import Pandora.Pattern.Functor.Covariant (Covariant ((-<$>-)), (-<$$>-)) import Pandora.Pattern.Functor.Extractable (Extractable (extract)) 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)--instance Covariant_ t (->) (->) => Covariant_ (Jet t) (->) (->) where+instance Covariant t (->) (->) => Covariant (Jet t) (->) (->) where 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 -instance (forall u . Avoidable u, Covariant_ t (->) (->)) => Pointable (Jet t) (->) where- point x = Jet x empty--instance Covariant_ t (->) (->) => Extractable (Jet t) (->) where+instance Covariant t (->) (->) => Extractable (Jet t) (->) where extract (Jet x _) = x
Pandora/Paradigm/Primary/Transformer/Kan.hs view
@@ -1,8 +1,9 @@ module Pandora.Paradigm.Primary.Transformer.Kan where -import Pandora.Pattern.Category ((.), ($))-import Pandora.Pattern.Functor.Contravariant (Contravariant_ ((->$<-)))-import Pandora.Pattern.Functor.Covariant (Covariant_ ((-<$>-)))+import Pandora.Pattern.Semigroupoid ((.))+import Pandora.Pattern.Category (($))+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)) @@ -10,7 +11,7 @@ data instance Kan Left t u b a = Lan ((t b -> a) -> u b) -instance Contravariant_ (Kan Left t u b) (->) (->) where+instance Contravariant (Kan Left t u b) (->) (->) where f ->$<- Lan x = Lan $ x . (f .) instance Interpreted (Kan Left t u b) where@@ -20,7 +21,7 @@ data instance Kan Right t u b a = Ran ((a -> t b) -> u b) -instance Covariant_ (Kan Right t u b) (->) (->) where+instance Covariant (Kan Right t u b) (->) (->) where f -<$>- Ran x = Ran $ x . (. f) instance Interpreted (Kan Right t u b) where
Pandora/Paradigm/Primary/Transformer/Outline.hs view
@@ -2,25 +2,20 @@ module Pandora.Paradigm.Primary.Transformer.Outline where -import Pandora.Pattern.Category (identity, (.), ($), (#))-import Pandora.Pattern.Functor.Covariant (Covariant ((<$>)), Covariant_ ((-<$>-)))+import Pandora.Pattern.Semigroupoid ((.))+import Pandora.Pattern.Category (identity, ($), (#))+import Pandora.Pattern.Functor.Covariant (Covariant ((-<$>-))) import Pandora.Pattern.Functor.Pointable (Pointable (point)) import Pandora.Pattern.Functor.Extractable (Extractable (extract))-import Pandora.Pattern.Functor.Applicative (Applicative ((<*>))) import Pandora.Pattern.Transformer.Liftable (Liftable (lift)) import Pandora.Pattern.Transformer.Hoistable (Hoistable ((/|\)))-import Pandora.Paradigm.Controlflow.Effect.Interpreted (Interpreted (Primary, run, unite))-import Pandora.Paradigm.Primary.Algebraic.Exponential ((%))+import Pandora.Paradigm.Primary.Algebraic.Exponential () data Outline t a where Line :: a -> Outline t a 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--instance Covariant_ (Outline t) (->) (->) where+instance Covariant (Outline t) (->) (->) where f -<$>- Line a = Line $ f a f -<$>- Outlined x y = Outlined x # (.) f -<$>- y @@ -31,19 +26,9 @@ extract (Line x) = x extract (Outlined x y) = extract y # extract x -instance Applicative (Outline f) where- Line f <*> y = f <$> y- Outlined x y <*> z = Outlined x # (%) <$> y <*> z- instance Liftable Outline where lift t = Outlined t (Line identity) instance Hoistable Outline where _ /|\ Line x = Line x f /|\ Outlined x y = Outlined # f x # f /|\ y--instance (Extractable t (->), Pointable t (->), Applicative t) => Interpreted (Outline t) where- type Primary (Outline t) a = t a- run (Line x) = point x- run (Outlined t f) = run f <*> t- unite = Line . extract
Pandora/Paradigm/Primary/Transformer/Reverse.hs view
@@ -2,27 +2,23 @@ module Pandora.Paradigm.Primary.Transformer.Reverse where -import Pandora.Pattern.Category ((.), ($), (#))-import Pandora.Pattern.Functor.Covariant (Covariant ((<$>)), Covariant_ ((-<$>-)))-import Pandora.Pattern.Functor.Contravariant (Contravariant ((>$<)))+import Pandora.Pattern.Semigroupoid ((.))+import Pandora.Pattern.Category (($), (#))+import Pandora.Pattern.Functor.Covariant (Covariant ((-<$>-)))+import Pandora.Pattern.Functor.Contravariant (Contravariant ((->$<-))) import Pandora.Pattern.Functor.Extractable (Extractable (extract)) import Pandora.Pattern.Functor.Pointable (Pointable (point))-import Pandora.Pattern.Functor.Applicative (Semimonoidal (multiply)) import Pandora.Pattern.Functor.Traversable (Traversable ((<<-))) import Pandora.Pattern.Functor.Distributive (Distributive ((-<<))) import Pandora.Pattern.Transformer.Liftable (Liftable (lift)) import Pandora.Pattern.Transformer.Lowerable (Lowerable (lower)) import Pandora.Pattern.Transformer.Hoistable (Hoistable ((/|\)))-import Pandora.Paradigm.Primary.Algebraic.Product ((:*:) ((:*:))) import Pandora.Paradigm.Primary.Transformer.Backwards (Backwards (Backwards)) 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--instance Covariant_ t (->) (->) => Covariant_ (Reverse t) (->) (->) where+instance Covariant t (->) (->) => Covariant (Reverse t) (->) (->) where f -<$>- Reverse x = Reverse # f -<$>- x instance Pointable t (->) => Pointable (Reverse t) (->) where@@ -31,17 +27,14 @@ instance Extractable t (->) => Extractable (Reverse t) (->) where extract (Reverse x) = extract x -instance Semimonoidal t (:*:) (->) (->) => Semimonoidal (Reverse t) (:*:) (->) (->) where- multiply f (Reverse x :*: Reverse y) = Reverse . multiply f $ x :*: y- instance Traversable t (->) (->) => Traversable (Reverse t) (->) (->) where 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+instance Contravariant t (->) (->) => Contravariant (Reverse t) (->) (->) where+ f ->$<- Reverse x = Reverse # f ->$<- x instance Interpreted (Reverse t) where type Primary (Reverse t) a = t a
Pandora/Paradigm/Primary/Transformer/Tap.hs view
@@ -3,16 +3,13 @@ module Pandora.Paradigm.Primary.Transformer.Tap where import Pandora.Core.Functor (type (:=))-import Pandora.Pattern.Category ((.), ($), (#))-import Pandora.Pattern.Functor.Covariant (Covariant ((<$>)), Covariant_ ((-<$>-)))-import Pandora.Pattern.Functor.Avoidable (Avoidable (empty))-import Pandora.Pattern.Functor.Pointable (Pointable (point))+import Pandora.Pattern.Semigroupoid ((.))+import Pandora.Pattern.Category (($), (#))+import Pandora.Pattern.Functor.Covariant (Covariant ((-<$>-))) import Pandora.Pattern.Functor.Extractable (Extractable (extract))-import Pandora.Pattern.Functor.Alternative (Alternative ((<+>)))-import Pandora.Pattern.Functor.Applicative (Applicative ((<*>)))+import Pandora.Pattern.Functor.Semimonoidal (Semimonoidal (multiply_)) import Pandora.Pattern.Functor.Traversable (Traversable ((<<-))) import Pandora.Pattern.Functor.Extendable (Extendable ((<<=)))-import Pandora.Pattern.Functor.Bindable (Bindable ((=<<))) import Pandora.Pattern.Transformer.Liftable (Liftable (lift)) import Pandora.Pattern.Transformer.Lowerable (Lowerable (lower)) import Pandora.Pattern.Transformer.Hoistable (Hoistable ((/|\)))@@ -31,28 +28,19 @@ data Tap t a = Tap a (t a) -instance Covariant t => Covariant (Tap t) where- f <$> Tap x xs = Tap # f x # f <$> xs--instance Covariant_ t (->) (->) => Covariant_ (Tap t) (->) (->) where+instance Covariant t (->) (->) => Covariant (Tap t) (->) (->) where f -<$>- Tap x xs = Tap # f x # f -<$>- xs -instance (Avoidable t, Covariant_ t (->) (->)) => Pointable (Tap t) (->) where- point = Tap % empty--instance (Covariant_ t (->) (->)) => Extractable (Tap t) (->) where+instance (Covariant t (->) (->)) => Extractable (Tap t) (->) where extract (Tap x _) = x -instance Applicative t => Applicative (Tap t) where- Tap f fs <*> Tap x xs = Tap # f x # fs <*> xs+instance Semimonoidal t (->) (:*:) (:*:) => Semimonoidal (Tap t) (->) (:*:) (:*:) where+ multiply_ (Tap x xs :*: Tap y ys) = Tap (x :*: y) $ multiply_ $ xs :*: ys instance Traversable t (->) (->) => Traversable (Tap t) (->) (->) where f <<- Tap x xs = Tap -<$>- f x -<*>- f <<- xs -instance (Extractable t (->), Alternative t, Bindable t (->)) => Bindable (Tap t) (->) where- f =<< Tap x xs = case f x of ~(Tap y ys) -> Tap y $ ys <+> (lower . f =<< xs)--instance (Extendable t (->), Covariant_ t (->) (->)) => Extendable (Tap t) (->) where+instance (Extendable t (->), Covariant t (->) (->)) => Extendable (Tap t) (->) where f <<= x = Tap # f x $ f . Tap (extract x) <<= lower x instance Lowerable Tap where@@ -61,26 +49,27 @@ instance Hoistable Tap where f /|\ Tap x xs = Tap x # f xs -instance {-# OVERLAPS #-} Applicative t => Applicative (Tap (t <:.:> t := (:*:))) where- Tap f (T_U (lfs :*: rfs)) <*> Tap x (T_U (ls :*: rs)) = Tap # f x # T_U (lfs <*> ls :*: rfs <*> rs)+instance Semimonoidal t (->) (:*:) (:*:) => Semimonoidal (Tap (t <:.:> t := (:*:))) (->) (:*:) (:*:) where+ multiply_ (Tap x (T_U (xls :*: xrs)) :*: Tap y (T_U (yls :*: yrs))) = Tap (x :*: y)+ $ T_U $ multiply_ (xls :*: yls) :*: multiply_ (xrs :*: yrs) 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 -instance (Covariant t, Covariant_ t (->) (->)) => Substructure Root (Tap (t <:.:> t := (:*:))) where+instance (Covariant t (->) (->)) => Substructure Root (Tap (t <:.:> t := (:*:))) where type Available Root (Tap (t <:.:> t := (:*:))) = Identity type Substance Root (Tap (t <:.:> t := (:*:))) = Identity substructure = P_Q_T $ \zipper -> case lower zipper of Tap x xs -> Store $ Identity (Identity x) :*: lift . (Tap % xs) . extract . extract -instance (Covariant t, Covariant_ t (->) (->)) => Substructure Left (Tap (t <:.:> t := (:*:))) where+instance (Covariant t (->) (->)) => Substructure Left (Tap (t <:.:> t := (:*:))) where type Available Left (Tap (t <:.:> t := (:*:))) = Identity type Substance Left (Tap (t <:.:> t := (:*:))) = t substructure = P_Q_T $ \zipper -> case lower zipper of Tap x (T_U (future :*: past)) -> Store $ Identity future :*: lift . Tap x . T_U . (:*: past) . extract -instance (Covariant t, Covariant_ t (->) (->)) => Substructure Right (Tap (t <:.:> t := (:*:))) where+instance (Covariant t (->) (->)) => Substructure Right (Tap (t <:.:> t := (:*:))) where type Available Right (Tap (t <:.:> t := (:*:))) = Identity type Substance Right (Tap (t <:.:> t := (:*:))) = t substructure = P_Q_T $ \zipper -> case lower zipper of
Pandora/Paradigm/Primary/Transformer/Yoneda.hs view
@@ -2,36 +2,21 @@ module Pandora.Paradigm.Primary.Transformer.Yoneda where -import Pandora.Pattern.Category (identity, (.), ($), (#))-import Pandora.Pattern.Functor ((<*+>))-import Pandora.Pattern.Functor.Covariant (Covariant ((<$>)), Covariant_ ((-<$>-)))-import Pandora.Pattern.Functor.Alternative (Alternative ((<+>)))-import Pandora.Pattern.Functor.Applicative (Applicative ((<*>)))-import Pandora.Pattern.Functor.Avoidable (Avoidable (empty))+import Pandora.Pattern.Semigroupoid ((.))+import Pandora.Pattern.Category (identity, ($), (#))+import Pandora.Pattern.Functor.Covariant (Covariant ((-<$>-))) import Pandora.Pattern.Functor.Pointable (Pointable (point)) import Pandora.Pattern.Functor.Extractable (Extractable (extract)) import Pandora.Pattern.Functor.Adjoint (Adjoint ((-|), (|-))) import Pandora.Pattern.Transformer.Liftable (Liftable (lift))-import Pandora.Paradigm.Primary.Algebraic.Exponential ((!.))+import Pandora.Paradigm.Primary.Algebraic.Exponential () newtype Yoneda t a = Yoneda { yoneda :: forall b . (a -> b) -> t b } -instance Covariant (Yoneda t) where- f <$> x = Yoneda (\k -> yoneda x (k . f))--instance Covariant_ (Yoneda t) (->) (->) where+instance Covariant (Yoneda t) (->) (->) where f -<$>- x = Yoneda (\k -> yoneda x (k . f)) -instance Alternative t => Alternative (Yoneda t) where- Yoneda f <+> Yoneda g = Yoneda (f <*+> g)--instance Applicative t => Applicative (Yoneda t) where- Yoneda f <*> Yoneda x = Yoneda (\g -> f (g .) <*> x identity)--instance Avoidable t => Avoidable (Yoneda t) where- empty = Yoneda (empty !.)- instance Pointable t (->) => Pointable (Yoneda t) (->) where point x = Yoneda (\f -> point $ f x) @@ -43,4 +28,4 @@ instance (Extractable t (->), Pointable t (->), Extractable u (->) , Pointable u (->)) => Adjoint (Yoneda t) (Yoneda u) (->) (->) where f -| x = point . f . point # x- g |- x = extract . extract # g <$> x+ g |- x = extract . extract # g -<$>- x
Pandora/Paradigm/Schemes.hs view
@@ -14,32 +14,34 @@ import Pandora.Paradigm.Schemes.TUT as Exports import Pandora.Paradigm.Schemes.TU as Exports -import Pandora.Pattern.Category ((.), ($))+import Pandora.Pattern.Semigroupoid ((.))+import Pandora.Pattern.Category (($)) import Pandora.Pattern.Functor.Covariant (Covariant) import Pandora.Pattern.Functor.Adjoint (Adjoint ((-|), (|-))) import Pandora.Paradigm.Controlflow.Effect.Interpreted (run) -instance (Covariant (v <:.> t), Covariant (u <:.> w), Adjoint t u (->) (->), Adjoint v w (->) (->))+instance (Covariant (v <:.> t) (->) (->), Covariant (u <:.> w) (->) (->), Adjoint t u (->) (->), Adjoint v w (->) (->))+ => Adjoint (v <:.> t) (u <:.> w) (->) (->) where g |- TU y = (run . g |-) |- y f -| x = TU $ (f . TU -|) -| x -instance (Covariant (v <:.> t), Covariant (w <.:> u), Adjoint t u (->) (->), Adjoint v w (->) (->))+instance (Covariant (v <:.> t) (->) (->), Covariant (w <.:> u) (->) (->), Adjoint t u (->) (->), Adjoint v w (->) (->)) => Adjoint (v <:.> t) (w <.:> u) (->) (->) where g |- TU t = (run . g |-) |- t f -| x = UT $ (f . TU -|) -| x -instance (Covariant (t <.:> v), Covariant (w <.:> u), Adjoint t u (->) (->), Adjoint v w (->) (->))+instance (Covariant (t <.:> v) (->) (->), Covariant (w <.:> u) (->) (->), Adjoint t u (->) (->), Adjoint v w (->) (->)) => Adjoint (t <.:> v) (w <.:> u) (->) (->) where g |- UT t = (run . g |-) |- t f -| x = UT $ (f . UT -|) -| x -instance (Covariant (t <.:> v), Covariant (w <:.> u) , Adjoint v u (->) (->), Adjoint t w (->) (->))+instance (Covariant (t <.:> v) (->) (->), Covariant (w <:.> u) (->) (->), Adjoint v u (->) (->), Adjoint t w (->) (->)) => Adjoint (t <.:> v) (w <:.> u) (->) (->) where g |- UT x = (run . g |-) |- x f -| x = TU $ (f . UT -|) -| x -instance (Covariant ((t <:<.>:> u) t'), Covariant ((v <:<.>:> w) v')+instance (Covariant ((t <:<.>:> u) t') (->) (->), Covariant ((v <:<.>:> w) v') (->) (->) , Adjoint t w (->) (->), Adjoint t' v' (->) (->), Adjoint t v (->) (->), Adjoint u v (->) (->), Adjoint v' t' (->) (->)) => Adjoint ((t <:<.>:> u) t') ((v <:<.>:> w) v') (->) (->) where g |- TUT x = ((run . g |-) |-) |- x
Pandora/Paradigm/Schemes/TU.hs view
@@ -1,13 +1,12 @@ module Pandora.Paradigm.Schemes.TU where import Pandora.Core.Functor (type (:.), type (:=), type (~>))-import Pandora.Pattern.Category ((.), ($), identity)-import Pandora.Pattern.Functor.Covariant (Covariant ((<$>), (<$$>)), Covariant_ ((-<$>-)), (-<$$>-))+import Pandora.Pattern.Semigroupoid ((.))+import Pandora.Pattern.Category (($), identity)+import Pandora.Pattern.Functor.Covariant (Covariant, Covariant ((-<$>-)), (-<$$>-)) import Pandora.Pattern.Functor.Contravariant (Contravariant)-import Pandora.Pattern.Functor.Applicative (Applicative ((<*>), (<**>)))-import Pandora.Pattern.Functor.Alternative (Alternative ((<+>)))+import Pandora.Pattern.Functor.Semimonoidal (Semimonoidal (multiply_)) import Pandora.Pattern.Functor.Pointable (Pointable (point))-import Pandora.Pattern.Functor.Avoidable (Avoidable (empty)) import Pandora.Pattern.Functor.Extractable (Extractable (extract)) import Pandora.Pattern.Functor.Traversable (Traversable ((<<-)), (-<<-<<-)) import Pandora.Pattern.Functor.Distributive (Distributive ((-<<)))@@ -16,6 +15,7 @@ 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.Primary.Algebraic.Product ((:*:)((:*:))) newtype TU ct cu t u a = TU (t :. u := a) @@ -31,20 +31,11 @@ run ~(TU x) = x unite = TU -instance (Covariant t, Covariant u) => Covariant (t <:.> u) where- f <$> x = TU $ f <$$> run x--instance (Covariant_ t (->) (->), Covariant_ u (->) (->)) => Covariant_ (t <:.> u) (->) (->) where+instance (Covariant t (->) (->), Covariant u (->) (->)) => Covariant (t <:.> u) (->) (->) where f -<$>- x = TU $ f -<$$>- run x -instance (Applicative t, Applicative u) => Applicative (t <:.> u) where- TU f <*> TU x = TU $ f <**> x--instance (Covariant u, Alternative t) => Alternative (t <:.> u) where- x <+> y = TU $ run x <+> run y--instance (Covariant u, Avoidable t) => Avoidable (t <:.> u) where- empty = TU empty+instance (Covariant t (->) (->), Semimonoidal t (->) (:*:) (:*:), Semimonoidal u (->) (:*:) (:*:)) => Semimonoidal (t <:.> u) (->) (:*:) (:*:) where+ multiply_ (TU x :*: TU y) = TU $ multiply_ @_ @(->) @(:*:) -<$>- multiply_ (x :*: y) instance (Pointable t (->), Pointable u (->)) => Pointable (t <:.> u) (->) where point = TU . point . point@@ -55,17 +46,17 @@ instance (Traversable t (->) (->), Traversable u (->) (->)) => Traversable (t <:.> u) (->) (->) where f <<- x = TU -<$>- f -<<-<<- run x -instance (Bindable t (->), Distributive t (->) (->), Covariant_ u (->) (->), Bindable u (->)) => Bindable (t <:.> u) (->) where+instance (Bindable t (->), Distributive t (->) (->), Covariant u (->) (->), Bindable u (->)) => Bindable (t <:.> u) (->) where f =<< TU x = TU $ (\i -> (identity =<<) -<$>- run . f -<< i) =<< x instance Pointable t (->) => Liftable (TU Covariant Covariant t) where- lift :: Covariant_ u (->) (->) => u ~> t <:.> u+ lift :: Covariant u (->) (->) => u ~> t <:.> u lift = TU . point instance Extractable 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
Pandora/Paradigm/Schemes/TUT.hs view
@@ -1,9 +1,11 @@ module Pandora.Paradigm.Schemes.TUT where import Pandora.Core.Functor (type (:.), type (:=), type (~>))-import Pandora.Pattern.Category (identity, (.), ($))-import Pandora.Pattern.Functor.Covariant (Covariant ((<$>), (<$$$>)), Covariant_ ((-<$>-)), (-<$$$>-))+import Pandora.Pattern.Semigroupoid ((.))+import Pandora.Pattern.Category (identity, ($))+import Pandora.Pattern.Functor.Covariant (Covariant, Covariant ((-<$>-)), (-<$$>-), (-<$$$>-)) import Pandora.Pattern.Functor.Contravariant (Contravariant)+import Pandora.Pattern.Functor.Semimonoidal (Semimonoidal (multiply_)) import Pandora.Pattern.Functor.Pointable (Pointable (point)) import Pandora.Pattern.Functor.Extractable (Extractable (extract)) import Pandora.Pattern.Functor.Extendable (Extendable ((<<=)))@@ -11,6 +13,7 @@ import Pandora.Pattern.Functor.Adjoint (Adjoint ((-|), (|-))) import Pandora.Pattern.Transformer.Liftable (Liftable (lift)) import Pandora.Pattern.Transformer.Lowerable (Lowerable (lower))+import Pandora.Paradigm.Primary.Algebraic.Product ((:*:)((:*:))) import Pandora.Paradigm.Controlflow.Effect.Interpreted (Interpreted (Primary, run, unite)) newtype TUT ct ct' cu t t' u a = TUT (t :. u :. t' := a)@@ -31,37 +34,25 @@ run ~(TUT x) = x unite = TUT -instance (Covariant t, Covariant t', Covariant u) => Covariant (t <:<.>:> t' := u) where- f <$> TUT x = TUT $ f <$$$> x--instance (Covariant_ t (->) (->), Covariant_ t' (->) (->), Covariant_ u (->) (->)) => Covariant_ (t <:<.>:> t' := u) (->) (->)where+instance (Covariant t (->) (->), Covariant t' (->) (->), Covariant u (->) (->)) => Covariant (t <:<.>:> t' := u) (->) (->) where f -<$>- TUT x = TUT $ f -<$$$>- x ---instance (Covariant t, Covariant t', Adjoint t' t (->) (->), Bindable u (->)) => Applicative (t <:<.>:> t' := u) where--- f <*> x = TUT $ (>>= ((<$$$> run x) |-)) <$> run f----instance (Applicative t, Covariant t', Alternative u) => Alternative (t <:<.>:> t' := u) where--- x <+> y = TUT $ run x <*+> run y----instance (Pointable t (->), Applicative t, Covariant t', Avoidable u) => Avoidable (t <:<.>:> t' := u) where--- empty = TUT $ point empty+instance (Covariant t (->) (->), Covariant t' (->) (->), Covariant u (->) (->), Semimonoidal t (->) (:*:) (:*:), Semimonoidal u (->) (:*:) (:*:), Semimonoidal t' (->) (:*:) (:*:)) => Semimonoidal (t <:<.>:> t' := u) (->) (:*:) (:*:) where+ multiply_ (TUT x :*: TUT y) = TUT $ multiply_ @_ @(->) @(:*:) -<$$>- multiply_ @_ @(->) @(:*:) -<$>- multiply_ (x :*: y) -instance (Covariant_ t (->) (->), Covariant_ t' (->) (->), Pointable u (->), Adjoint t' t (->) (->)) => Pointable (t <:<.>:> t' := u) (->) where+instance (Covariant t (->) (->), Covariant t' (->) (->), Pointable u (->), Adjoint t' t (->) (->)) => Pointable (t <:<.>:> t' := u) (->) where point = unite . (point @_ @(->) -|) ---instance (Covariant t, Covariant t', Adjoint t' t (->) (->), Bindable u (->)) => Bindable (t <:<.>:> t' := u) (->) where--- f =<< x = TUT $ ((run . f |-) =<<) -<$>- x--instance (Covariant t', Covariant t, Adjoint t' t (->) (->), Extendable u (->)) => Extendable (t' <:<.>:> t := u) (->) where+instance (Adjoint t' t (->) (->), Extendable u (->)) => Extendable (t' <:<.>:> t := u) (->) where f <<= x = TUT $ ((f . unite -|) <<=) -<$>- run x -instance (Covariant_ t (->) (->), Covariant_ t' (->) (->), Adjoint t t' (->) (->), Extractable u (->)) => Extractable (t <:<.>:> t' := u) (->) where+instance (Covariant t (->) (->), Covariant t' (->) (->), Adjoint t t' (->) (->), Extractable u (->)) => Extractable (t <:<.>:> t' := u) (->) where extract = (extract @_ @(->) |-) . run -instance (forall u . Covariant u, Adjoint t' t (->) (->), Distributive t(->) (->) ) => Liftable (t <:<.>:> t') where- lift :: Covariant_ u (->) (->) => u ~> t <:<.>:> t' := u+instance (Adjoint t' t (->) (->), Distributive t(->) (->) ) => Liftable (t <:<.>:> t') where+ lift :: Covariant u (->) (->) => u ~> t <:<.>:> t' := u lift x = TUT $ (identity @(->) -|) -<< x -instance (forall u . Covariant u, Adjoint t t' (->) (->), Distributive t'(->) (->) ) => Lowerable (t <:<.>:> t') where- lower :: Covariant_ u (->) (->) => (t <:<.>:> t' := u) ~> u+instance (Adjoint t t' (->) (->), Distributive t'(->) (->) ) => Lowerable (t <:<.>:> t') where+ lower :: Covariant u (->) (->) => (t <:<.>:> t' := u) ~> u lower (TUT x) = (identity @(->) -<<) |- x
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 ((>$<)))+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, (||=)))@@ -21,14 +21,11 @@ run ~(T_U x) = x 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--instance (forall i . Covariant_ (p i) (->) (->), Bivariant p (->) (->) (->), Covariant_ t (->) (->), Covariant_ u (->) (->)) => Covariant_ (t <:.:> u := p) (->) (->) where+instance (forall i . Covariant (p i) (->) (->), Bivariant p (->) (->) (->), Covariant t (->) (->), Covariant u (->) (->)) => Covariant (t <:.:> u := p) (->) (->) where f -<$>- x = (f -<$>-) <-> (f -<$>-) ||= x -instance (Divariant p (->) (->) (->), Contravariant t, Covariant u) => Covariant (t >:.:> u := p) where- f <$> x = (f >$<) >-> (f <$>) ||= x+instance (Divariant p (->) (->) (->), Contravariant t (->) (->), Covariant u (->) (->)) => Covariant (t >:.:> u := p) (->) (->) where+ 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+instance (forall i . Covariant (p i) (->) (->), Bivariant p (->) (->) (->), Contravariant t (->) (->), Contravariant u (->) (->)) => Contravariant (t >:.:< u := p) (->) (->) where+ f ->$<- x = (f ->$<-) <-> (f ->$<-) ||= x
Pandora/Paradigm/Schemes/UT.hs view
@@ -1,10 +1,11 @@ module Pandora.Paradigm.Schemes.UT where import Pandora.Core.Functor (type (:.), type (:=), type (~>))-import Pandora.Pattern.Category ((.), ($), identity)-import Pandora.Pattern.Functor.Covariant (Covariant ((<$>), (<$$>)), Covariant_ ((-<$>-)), (-<$$>-))+import Pandora.Pattern.Semigroupoid ((.))+import Pandora.Pattern.Category (($), identity)+import Pandora.Pattern.Functor.Covariant (Covariant, Covariant ((-<$>-)), (-<$$>-)) import Pandora.Pattern.Functor.Contravariant (Contravariant)-import Pandora.Pattern.Functor.Applicative (Applicative ((<*>), (<**>)), Semimonoidal)+import Pandora.Pattern.Functor.Semimonoidal (Semimonoidal (multiply_)) import Pandora.Pattern.Functor.Pointable (Pointable (point)) import Pandora.Pattern.Functor.Bindable (Bindable ((=<<))) import Pandora.Pattern.Functor.Extractable (Extractable (extract))@@ -12,7 +13,7 @@ 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.Primary.Algebraic.Product ((:*:))+import Pandora.Paradigm.Primary.Algebraic ((:*:) ((:*:))) newtype UT ct cu t u a = UT (u :. t := a) @@ -28,28 +29,25 @@ run ~(UT x) = x unite = UT -instance (Covariant t, Covariant u) => Covariant (t <.:> u) where- f <$> UT x = UT $ f <$$> x--instance (Covariant_ t (->) (->), Covariant_ u (->) (->)) => Covariant_ (t <.:> u) (->) (->) where- f -<$>- UT x = UT $ f -<$$>- x+instance (Covariant t (->) (->), Covariant u (->) (->)) => Covariant (t <.:> u) (->) (->) where+ f -<$>- x = UT $ f -<$$>- run x -instance (Applicative t, Applicative u) => Applicative (t <.:> u) where- UT f <*> UT x = UT $ f <**> x+instance (Covariant u (->) (->), Semimonoidal t (->) (:*:) (:*:), Semimonoidal u (->) (:*:) (:*:)) => Semimonoidal (t <.:> u) (->) (:*:) (:*:) where+ multiply_ (UT x :*: UT y) = UT $ multiply_ @_ @(->) @(:*:) -<$>- multiply_ (x :*: y) instance (Pointable t (->), Pointable u (->)) => Pointable (t <.:> u) (->) where point = UT . point . point -instance (Traversable t (->) (->), Bindable t (->), Semimonoidal u (:*:) (->) (->), Pointable u (->), Bindable u (->)) => Bindable (t <.:> u) (->) where+instance (Traversable t (->) (->), Bindable t (->), Semimonoidal u (->) (:*:) (:*:), Pointable u (->), Bindable u (->)) => Bindable (t <.:> u) (->) where f =<< UT x = UT $ ((identity =<<) -<$>-) . (run . f <<-) =<< x instance (Extractable t (->), Extractable u (->)) => Extractable (t <.:> u) (->) where extract = extract . extract . run instance Pointable t (->) => Liftable (UT Covariant Covariant t) where- lift :: Covariant_ u (->) (->) => u ~> t <.:> u+ lift :: Covariant u (->) (->) => u ~> t <.:> u lift x = UT $ point @_ @(->) -<$>- x instance Extractable t (->) => Lowerable (UT Covariant Covariant t) where- lower :: Covariant_ u (->) (->) => t <.:> u ~> u+ lower :: Covariant u (->) (->) => t <.:> u ~> u lower (UT x) = extract @_ @(->) -<$>- x
Pandora/Paradigm/Structure.hs view
@@ -8,10 +8,10 @@ import Pandora.Paradigm.Structure.Some as Exports import Pandora.Core.Functor (type (:=))-import Pandora.Pattern.Category (($), (.), (#))-import Pandora.Pattern.Functor.Covariant (Covariant (comap), Covariant_)+import Pandora.Pattern.Semigroupoid ((.))+import Pandora.Pattern.Category (($), (#))+import Pandora.Pattern.Functor.Covariant (Covariant ((-<$>-))) import Pandora.Pattern.Functor.Extractable (extract)-import Pandora.Pattern.Functor.Pointable (point) import Pandora.Pattern.Transformer.Liftable (lift) import Pandora.Pattern.Transformer.Lowerable (lower) import Pandora.Pattern.Object.Semigroup ((+))@@ -38,7 +38,7 @@ instance Nullable Maybe where null = Predicate $ \case { Just _ -> True ; _ -> False } -instance (Covariant t, Covariant_ t (->) (->)) => Substructure Tail (Tap t) where+instance (Covariant t (->) (->)) => Substructure Tail (Tap t) where type Available Tail (Tap t) = Identity type Substance Tail (Tap t) = t substructure = P_Q_T $ \tap -> case extract # run tap of@@ -53,21 +53,21 @@ instance Morphable (Into (Inorder (Construction Maybe))) (Construction Wye) where type Morphing (Into (Inorder (Construction Maybe))) (Construction Wye) = Construction Maybe- morphing (premorph -> Construct x End) = point x- morphing (premorph -> Construct x (Left lst)) = into @(Inorder (Nonempty List)) lst + point x- morphing (premorph -> Construct x (Right rst)) = point x + into @(Inorder (Nonempty List)) rst- morphing (premorph -> Construct x (Both lst rst)) = into @(Inorder (Nonempty List)) lst + point x + into @(Inorder (Nonempty List)) rst+ 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 instance Morphable (Into (Postorder (Construction Maybe))) (Construction Wye) where type Morphing (Into (Postorder (Construction Maybe))) (Construction Wye) = Construction Maybe- morphing (premorph -> Construct x End) = point x- morphing (premorph -> Construct x (Left lst)) = into @(Postorder (Nonempty List)) lst + point x- morphing (premorph -> Construct x (Right rst)) = into @(Postorder (Nonempty List)) rst + point x- morphing (premorph -> Construct x (Both lst rst)) = into @(Postorder (Nonempty List)) lst + into @(Postorder (Nonempty List)) rst + point x+ 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 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) = comap (into @(o ds)) ||= xs+ morphing (premorph -> xs) = (into @(o ds) -<$>-) ||= xs instance Substructure Left (Flip (:*:) a) where type Available Left (Flip (:*:) a) = Identity@@ -90,13 +90,13 @@ instance {-# OVERLAPS #-} Accessible b a => Accessible b (s :*: a) where access = access @b . access @a -instance (Covariant t, Covariant_ t (->) (->)) => Substructure Left (t <:.:> t := (:*:)) where+instance (Covariant t (->) (->)) => Substructure Left (t <:.:> t := (:*:)) where type Available Left (t <:.:> t := (:*:)) = Identity type Substance Left (t <:.:> t := (:*:)) = t substructure = P_Q_T $ \x -> case run # lower x of ls :*: rs -> Store $ Identity ls :*: lift . (twosome % rs) . extract -instance (Covariant t, Covariant_ t (->) (->)) => Substructure Right (t <:.:> t := (:*:)) where+instance (Covariant t (->) (->)) => Substructure Right (t <:.:> t := (:*:)) where type Available Right (t <:.:> t := (:*:)) = Identity type Substance Right (t <:.:> t := (:*:)) = t substructure = P_Q_T $ \x -> case run # lower x of
Pandora/Paradigm/Structure/Ability/Measurable.hs view
@@ -2,7 +2,7 @@ module Pandora.Paradigm.Structure.Ability.Measurable where -import Pandora.Pattern.Category ((.))+import Pandora.Pattern.Semigroupoid ((.)) import Pandora.Paradigm.Primary.Functor.Tagged (Tagged (Tag)) class Measurable f t where
Pandora/Paradigm/Structure/Ability/Monotonic.hs view
@@ -1,8 +1,7 @@ module Pandora.Paradigm.Structure.Ability.Monotonic where import Pandora.Pattern.Category ((#))-import Pandora.Pattern.Functor.Covariant ((.#..))-import Pandora.Paradigm.Primary.Algebraic.Exponential ((!.))+import Pandora.Paradigm.Primary.Algebraic.Exponential ((!.), (-.#..-)) class Monotonic a e where {-# MINIMAL reduce #-}@@ -10,7 +9,7 @@ -- | Version of `reduce` which ignores accumulator resolve :: (a -> r) -> r -> e -> r- resolve g = reduce # g .#.. (!.)+ resolve g = reduce # g -.#..- (!.) instance Monotonic a a where reduce f r x = f x r
Pandora/Paradigm/Structure/Ability/Morphable.hs view
@@ -3,7 +3,8 @@ module Pandora.Paradigm.Structure.Ability.Morphable where import Pandora.Core.Functor (type (:=), type (~>), type (:=:=>))-import Pandora.Pattern.Category ((.), (#))+import Pandora.Pattern.Semigroupoid ((.))+import Pandora.Pattern.Category ((#)) import Pandora.Pattern.Functor.Extractable (extract) import Pandora.Pattern.Object.Chain (Chain ((<=>))) import Pandora.Pattern.Object.Setoid (Setoid)
Pandora/Paradigm/Structure/Ability/Substructure.hs view
@@ -4,7 +4,7 @@ module Pandora.Paradigm.Structure.Ability.Substructure where import Pandora.Core.Functor (type (:=))-import Pandora.Pattern.Functor.Covariant (Covariant ((<$>)), Covariant_)+import Pandora.Pattern.Functor.Covariant (Covariant ((-<$>-))) import Pandora.Pattern.Functor.Divariant ((>->)) import Pandora.Pattern.Transformer.Liftable (lift) import Pandora.Pattern.Transformer.Lowerable (lower)@@ -23,5 +23,5 @@ type Substance segment structure :: * -> * substructure :: (Tagged segment <:.> structure) #=@ Substance segment structure := Available segment structure - sub :: (Covariant structure, Covariant_ structure (->) (->)) => structure #=@ Substance segment structure := Available segment structure- sub = lift >-> (lower <$>) ||= substructure @segment @structure+ sub :: (Covariant structure (->) (->)) => structure #=@ Substance segment structure := Available segment structure+ sub = lift >-> (lower -<$>-) ||= substructure @segment @structure
Pandora/Paradigm/Structure/Interface/Set.hs view
@@ -3,7 +3,8 @@ module Pandora.Paradigm.Structure.Interface.Set where import Pandora.Core.Functor (type (:=))-import Pandora.Pattern.Category ((.), ($))+import Pandora.Pattern.Semigroupoid ((.))+import Pandora.Pattern.Category (($)) import Pandora.Pattern.Functor.Traversable (Traversable ((<<-))) import Pandora.Pattern.Object.Setoid (Setoid ((!=))) import Pandora.Pattern.Object.Semigroup ((+))
Pandora/Paradigm/Structure/Modification/Comprehension.hs view
@@ -4,28 +4,26 @@ module Pandora.Paradigm.Structure.Modification.Comprehension where import Pandora.Core.Functor (type (:=))-import Pandora.Pattern.Category ((.), ($))-import Pandora.Pattern.Functor.Covariant (Covariant ((<$>)), Covariant_ ((-<$>-)))-import Pandora.Pattern.Functor.Contravariant ((>$<))-import Pandora.Pattern.Functor.Pointable (Pointable (point))-import Pandora.Pattern.Functor.Applicative (Applicative ((<*>)))-import Pandora.Pattern.Functor.Alternative (Alternative ((<+>)))-import Pandora.Pattern.Functor.Avoidable (Avoidable (empty))+import Pandora.Pattern.Semigroupoid ((.))+import Pandora.Pattern.Category (($))+import Pandora.Pattern.Functor.Covariant (Covariant ((-<$>-)))+import Pandora.Pattern.Functor.Contravariant ((->$<-))+import Pandora.Pattern.Functor.Pointable (Pointable)+import Pandora.Pattern.Functor.Semimonoidal (Semimonoidal (multiply_)) import Pandora.Pattern.Functor.Traversable (Traversable ((<<-))) import Pandora.Pattern.Functor.Bindable (Bindable ((=<<)))-import Pandora.Pattern.Functor.Monad (Monad) import Pandora.Pattern.Transformer.Liftable (lift) import Pandora.Pattern.Object.Semigroup (Semigroup ((+))) import Pandora.Pattern.Object.Monoid (Monoid (zero)) import Pandora.Pattern.Object.Setoid (Setoid ((==))) import Pandora.Paradigm.Primary.Functor.Identity (Identity (Identity))-import Pandora.Paradigm.Primary.Algebraic.Exponential ((%)) import Pandora.Paradigm.Primary.Transformer.Construction (Construction (Construct)) 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) import Pandora.Paradigm.Structure.Ability.Nullable (Nullable (null))+import Pandora.Paradigm.Primary.Algebraic.Product ((:*:)((:*:))) newtype Comprehension t a = Comprehension (t <:.> Construction t := a) @@ -34,33 +32,18 @@ run ~(Comprehension x) = x unite = Comprehension -instance Covariant (t <:.> Construction t) => Covariant (Comprehension t) where- f <$> Comprehension x = Comprehension $ f <$> x--instance Covariant_ (t <:.> Construction t) (->) (->) => Covariant_ (Comprehension t) (->) (->) where+instance Covariant (t <:.> Construction t) (->) (->) => Covariant (Comprehension t) (->) (->) where f -<$>- Comprehension x = Comprehension $ f -<$>- x -instance (Avoidable t, Pointable t (->)) => Pointable (Comprehension t) (->) where- point = Comprehension . TU . point . Construct % empty--instance Alternative t => Alternative (Comprehension t) where- Comprehension x <+> Comprehension y = Comprehension $ x <+> y--instance (Avoidable t, Alternative t) => Avoidable (Comprehension t) where- empty = Comprehension empty- instance Traversable (t <:.> Construction t) (->) (->) => Traversable (Comprehension t) (->) (->) where f <<- Comprehension x = Comprehension -<$>- f <<- x -instance (forall a . Semigroup (t <:.> Construction t := a), Bindable t (->), Pointable t (->), Avoidable t) => Applicative (Comprehension t) where- fs <*> xs = (\f -> Comprehension . TU . point . point . f =<< xs) =<< fs+instance (Covariant t (->) (->), Semimonoidal t (->) (:*:) (:*:)) => Semimonoidal (Comprehension t) (->) (:*:) (:*:) where+ multiply_ (Comprehension x :*: Comprehension y) = Comprehension $ multiply_ (x :*: y) instance (forall a . Semigroup (t <:.> Construction t := a), Bindable t (->)) => Bindable (Comprehension t) (->) where f =<< Comprehension (TU t) = Comprehension . TU $ (\(Construct x xs) -> run . run $ f x + (f =<< Comprehension (TU xs))) =<< t- -- t >>= \(Construct x xs) -> run . run $ f x + (Comprehension (TU xs) >>= f) -instance (forall a . Semigroup (t <:.> Construction t := a), Pointable t (->), Avoidable t, Bindable t (->)) => Monad (Comprehension t) where- instance Setoid (t <:.> Construction t := a) => Setoid (Comprehension t a) where Comprehension ls == Comprehension rs = ls == rs @@ -70,9 +53,9 @@ instance Monoid (t <:.> Construction t := a) => Monoid (Comprehension t a) where zero = Comprehension zero -instance (Covariant t, Covariant_ t (->) (->), Pointable t (->)) => Morphable Push (Comprehension t) where+instance (Covariant t (->) (->), Pointable 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
@@ -4,13 +4,12 @@ module Pandora.Paradigm.Structure.Modification.Prefixed where import Pandora.Core.Functor (type (:.), type (:=))-import Pandora.Pattern.Category ((.), ($))-import Pandora.Pattern.Functor.Covariant (Covariant ((<$>), (<$$>)), Covariant_ ((-<$>-)), (-<$$>-))+import Pandora.Pattern.Semigroupoid ((.))+import Pandora.Pattern.Category (($))+import Pandora.Pattern.Functor.Covariant (Covariant ((-<$>-)), (-<$$>-)) import Pandora.Pattern.Functor.Pointable (Pointable (point)) import Pandora.Pattern.Functor.Traversable (Traversable ((<<-)), (-<<-<<-)) import Pandora.Pattern.Functor.Extractable (extract)-import Pandora.Pattern.Functor.Alternative (Alternative ((<+>)))-import Pandora.Pattern.Functor.Avoidable (Avoidable (empty)) import Pandora.Pattern.Object.Monoid (Monoid (zero)) import Pandora.Paradigm.Primary.Algebraic () import Pandora.Paradigm.Primary.Algebraic.Product ((:*:) ((:*:)))@@ -25,10 +24,7 @@ run ~(Prefixed x) = x unite = Prefixed -instance Covariant t => Covariant (Prefixed t k) where- f <$> Prefixed x = Prefixed $ f <$$> x--instance Covariant_ t (->) (->) => Covariant_ (Prefixed t k) (->) (->) where+instance Covariant t (->) (->) => Covariant (Prefixed t k) (->) (->) where f -<$>- Prefixed x = Prefixed $ f -<$$>- x instance Traversable t (->) (->) => Traversable (Prefixed t k) (->) (->) where@@ -37,14 +33,8 @@ instance (Monoid k, Pointable t (->)) => Pointable (Prefixed t k) (->) where point = Prefixed . point . (:*:) zero -instance Alternative t => Alternative (Prefixed t k) where- x <+> y = Prefixed $ run x <+> run y--instance Avoidable t => Avoidable (Prefixed t k) where- empty = Prefixed empty--instance Covariant t => Morphable (Into t) (Prefixed t k) where+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
@@ -3,10 +3,10 @@ module Pandora.Paradigm.Structure.Some.Binary where import Pandora.Core.Functor (type (:.), type (:=), type (:=>), type (:::))-import Pandora.Pattern.Category ((.), ($), (#))-import Pandora.Pattern.Functor.Covariant (Covariant ((<$>), ($$$>)), Covariant_ ((-<$>-)))+import Pandora.Pattern.Semigroupoid ((.))+import Pandora.Pattern.Category (($), (#))+import Pandora.Pattern.Functor.Covariant (Covariant ((-<$>-))) import Pandora.Pattern.Functor.Extractable (extract)-import Pandora.Pattern.Functor.Avoidable (empty) import Pandora.Pattern.Functor.Bindable ((=<<)) import Pandora.Pattern.Transformer.Liftable (lift) import Pandora.Pattern.Transformer.Lowerable (lower)@@ -15,6 +15,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 (($$$>-)) import Pandora.Paradigm.Primary.Object.Boolean (Boolean (True, False)) import Pandora.Paradigm.Primary.Object.Ordering (order) import Pandora.Paradigm.Primary.Object.Numerator (Numerator (Numerator, Zero))@@ -71,14 +72,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 --------------------------------------- @@ -147,7 +148,7 @@ 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 @Root) ($$$>- value) tree # over (sub @Left) continue tree # over (sub @Right) continue tree @@ -164,12 +165,7 @@ 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--instance Covariant_ Biforked (->) (->) where+instance Covariant Biforked (->) (->) where _ -<$>- Top = Top f -<$>- Leftward l = Leftward $ f l f -<$>- Rightward r = Rightward $ f r@@ -188,27 +184,27 @@ 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))) = empty+ morphing (premorph -> T_U (_ :*: TU (TU Top))) = TU Nothing 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) empty # 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 _) :*: _) = empty- morphing (run . premorph -> Construct _ End :*: _) = empty+ morphing (run . premorph -> Construct _ (Right _) :*: _) = TU Nothing+ morphing (run . premorph -> Construct _ End :*: _) = 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) empty # 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 _) :*: _) = empty- morphing (run . premorph -> Construct _ End :*: _) = empty+ morphing (run . premorph -> Construct _ (Left _) :*: _) = TU Nothing+ morphing (run . premorph -> Construct _ End :*: _) = TU Nothing leaf :: a :=> Nonempty Binary leaf x = Construct x End
Pandora/Paradigm/Structure/Some/List.hs view
@@ -4,15 +4,16 @@ import Pandora.Core.Functor (type (:.), type (:=), type (:::)) import Pandora.Core.Impliable (imply)-import Pandora.Pattern.Category ((.), ($), (#), identity)-import Pandora.Pattern.Functor.Covariant (Covariant ((<$>), (.#..)), Covariant_ ((-<$>-)))-import Pandora.Pattern.Functor.Applicative (Applicative ((<*>)))+import Pandora.Pattern.Semigroupoid ((.))+import Pandora.Pattern.Category (($), (#), identity)+import Pandora.Pattern.Functor.Covariant (Covariant, Covariant ((-<$>-)))+import Pandora.Pattern.Functor.Semimonoidal (Semimonoidal (multiply_)) import Pandora.Pattern.Functor.Extractable (extract)-import Pandora.Pattern.Functor.Avoidable (empty) import Pandora.Pattern.Functor.Traversable (Traversable ((<<-))) import Pandora.Pattern.Functor.Extendable (Extendable ((<<=))) import Pandora.Pattern.Functor.Bindable (Bindable ((=<<))) import Pandora.Pattern.Functor.Bivariant ((<->))+import Pandora.Pattern.Functor.Adjoint (Adjoint ((|-))) import Pandora.Pattern.Transformer.Liftable (lift) import Pandora.Pattern.Transformer.Lowerable (lower) import Pandora.Pattern.Object.Setoid (Setoid ((==)))@@ -21,7 +22,7 @@ import Pandora.Paradigm.Primary.Object.Boolean (Boolean (True, False), (?)) import Pandora.Paradigm.Primary.Object.Numerator (Numerator (Numerator)) import Pandora.Paradigm.Primary.Object.Denumerator (Denumerator (One))-import Pandora.Paradigm.Primary.Algebraic ((-<*>-))+import Pandora.Paradigm.Primary.Algebraic ((-<*>-), (-.#..-)) import Pandora.Paradigm.Primary.Algebraic.Product ((:*:) ((:*:)), attached, twosome) import Pandora.Paradigm.Primary.Algebraic.Exponential ((%)) import Pandora.Paradigm.Primary.Functor.Maybe (Maybe (Just, Nothing))@@ -64,7 +65,7 @@ $ TU @Covariant @Covariant xs + TU @Covariant @Covariant ys instance Monoid (List a) where- zero = empty+ zero = TU Nothing instance Morphable Push List where type Morphing Push List = Identity <:.:> List := (->)@@ -106,19 +107,19 @@ type Available Root List = Maybe type Substance Root List = Identity substructure = P_Q_T $ \zipper -> case run # lower zipper of- Just (Construct x xs) -> Store $ Just (Identity x) :*: lift . resolve (lift . (Construct % xs) . extract @Identity) empty- Nothing -> Store $ Nothing :*: lift . resolve (lift . (Construct % empty) . extract @Identity) empty+ Just (Construct x xs) -> Store $ Just (Identity x) :*: lift . resolve (lift . (Construct % xs) . extract @Identity) zero+ Nothing -> Store $ Nothing :*: lift . resolve (lift . (Construct % Nothing) . extract @Identity) zero instance Substructure Tail List where 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- Nothing -> Store $ Identity empty :*: lift . identity . extract+ Just ns -> lift . lift -<$>- run (sub @Tail) ns+ Nothing -> Store $ Identity zero :*: lift . identity . extract -- | Transform any traversable structure into a stack linearize :: forall t a . Traversable t (->) (->) => t a -> List a-linearize = TU . extract . (run @(State (Maybe :. Nonempty List := a)) % Nothing) . fold (Just .#.. Construct)+linearize = TU . extract . (run @(State (Maybe :. Nonempty List := a)) % Nothing) . fold (Just -.#..- Construct) ----------------------------------------- Non-empty list ------------------------------------------- @@ -166,9 +167,6 @@ type instance Zipper List (Left ::: Right) = Tap (List <:.:> List := (:*:)) ---instance {-# OVERLAPS #-} Applicative (Tap (List <:.:> List := (:*:))) where- --Tap f (T_U (lfs :*: rfs)) <*> Tap x (T_U (ls :*: rs)) = Tap # f x # T_U (lfs <*> ls :*: rfs <*> rs)- 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@@ -181,17 +179,17 @@ type Morphing (Rotate Left) (Tap (List <:.:> List := (:*:))) = Maybe <:.> Tap (List <:.:> List := (:*:)) morphing (premorph -> Tap 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 $ (Tap . 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))) = let subtree = twosome # item @Push x future # extract (view (sub @Tail) past) in- TU $ (Tap . extract) % subtree <$> view (sub @Root) past+ TU $ (Tap . 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+ morphing (premorph -> list) = (into @(Zipper List (Left ::: Right)) -<$>-) ||= list instance Morphable (Into List) (Tap (List <:.:> List := (:*:))) where type Morphing (Into List) (Tap (List <:.:> List := (:*:))) = List@@ -212,26 +210,26 @@ 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+ morphing (premorph -> Tap x (T_U (future :*: past))) = TU $ Tap (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+ morphing (premorph -> Tap x (T_U (future :*: past))) = TU $ Tap (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) # empty+ morphing (premorph -> ne) = Tap # 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 (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 (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 (Construction Maybe)) (Tap (Construction Maybe <:.:> Construction Maybe := (:*:))) where type Morphing (Into (Construction Maybe)) (Tap (Construction Maybe <:.:> Construction Maybe := (:*:))) = Construction Maybe@@ -249,8 +247,9 @@ type instance Zipper (Comprehension Maybe) (Left ::: Right) = Tap (Comprehension Maybe <:.:> Comprehension Maybe := (:*:)) -instance {-# OVERLAPS #-} Applicative (Tap (Comprehension Maybe <:.:> Comprehension Maybe := (:*:))) where- Tap f (T_U (lfs :*: rfs)) <*> Tap x (T_U (ls :*: rs)) = Tap # f x # T_U (lfs <*> ls :*: rfs <*> rs)+instance Semimonoidal (Tap (Comprehension Maybe <:.:> Comprehension Maybe := (:*:))) (->) (:*:) (:*:) where+ multiply_ (Tap x (T_U (xls :*: xrs)) :*: Tap y (T_U (yls :*: yrs))) = Tap (x :*: y)+ $ T_U $ multiply_ (xls :*: yls) :*: multiply_ (xrs :*: yrs) ----------------------------------------- Prefixed list -------------------------------------------- @@ -262,5 +261,5 @@ 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
@@ -3,32 +3,30 @@ module Pandora.Paradigm.Structure.Some.Rose where import Pandora.Core.Functor (type (:.), type (:=))-import Pandora.Pattern.Category ((.), ($), (#))-import Pandora.Pattern.Functor.Covariant (Covariant ((<$>)))-import Pandora.Pattern.Functor.Contravariant ((>$<))+import Pandora.Pattern.Semigroupoid ((.))+import Pandora.Pattern.Category (($), (#))+import Pandora.Pattern.Functor.Contravariant ((->$<-)) import Pandora.Pattern.Functor.Extractable (extract)-import Pandora.Pattern.Functor.Avoidable (Avoidable (empty)) import Pandora.Pattern.Functor.Bindable (Bindable ((=<<))) import Pandora.Pattern.Transformer.Liftable (lift) import Pandora.Pattern.Transformer.Lowerable (lower) import Pandora.Pattern.Object.Setoid (Setoid ((==), (!=))) import Pandora.Paradigm.Primary.Object.Boolean (Boolean (True, False), (?)) import Pandora.Paradigm.Primary.Algebraic.Product ((:*:) ((:*:)), attached)-import Pandora.Paradigm.Primary.Algebraic.Exponential ((!.), (%))+import Pandora.Paradigm.Primary.Algebraic.Exponential ((%)) import Pandora.Paradigm.Primary.Functor.Identity (Identity (Identity)) import Pandora.Paradigm.Primary.Functor.Maybe (Maybe (Just, Nothing)) import Pandora.Paradigm.Primary.Functor.Predicate (Predicate (Predicate), equate)-import Pandora.Paradigm.Primary.Functor.Tagged (Tagged (Tag)) import Pandora.Paradigm.Primary.Transformer.Construction (Construction (Construct), deconstruct)-import Pandora.Paradigm.Schemes (TU (TU), T_U (T_U), P_Q_T (P_Q_T), type (<:.>), type (<:.:>))-import Pandora.Paradigm.Controlflow.Effect.Interpreted (run, (=||$>))+import Pandora.Paradigm.Schemes (TU (TU), P_Q_T (P_Q_T), type (<:.>))+import Pandora.Paradigm.Controlflow.Effect.Interpreted (run) import Pandora.Paradigm.Inventory.Store (Store (Store)) import Pandora.Paradigm.Structure.Ability.Morphable (Morphable (Morphing, morphing)- , Morph (Lookup, Vary, Element, Key), premorph, find, vary)+ , Morph (Lookup, Element, Key), premorph, find) import Pandora.Paradigm.Structure.Ability.Nonempty (Nonempty) import Pandora.Paradigm.Structure.Ability.Nullable (Nullable (null)) import Pandora.Paradigm.Structure.Ability.Substructure (Substructure (Available, Substance, substructure), Segment (Root, Tail))-import Pandora.Paradigm.Structure.Modification.Prefixed (Prefixed (Prefixed))+import Pandora.Paradigm.Structure.Modification.Prefixed (Prefixed) import Pandora.Paradigm.Structure.Some.List (List) type Rose = Maybe <:.> Construction List@@ -37,21 +35,21 @@ null = Predicate $ \case { TU Nothing -> True ; _ -> False } -- FIXME: If we want to remove root node, we ruin the whole tree-instance Substructure Root Rose where- 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 <$>)- Just nonempty_rose -> Store $ Just (Identity # extract nonempty_rose) :*: \case- Just (Identity new) -> lift . TU . Just . Construct new $ deconstruct nonempty_rose- Nothing -> lift empty+--instance Substructure Root Rose where+-- 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 <$>)+-- Just nonempty_rose -> Store $ Just (Identity # extract nonempty_rose) :*: \case+-- Just (Identity new) -> lift . TU . Just . Construct new $ deconstruct nonempty_rose+-- Nothing -> lift empty -instance Substructure Just Rose where- type Available Just Rose = Identity- type Substance Just Rose = List <:.> Construction List- substructure = P_Q_T $ \rose -> case run . extract . run # rose of- Nothing -> Store $ Identity empty :*: (lift empty !.)- Just (Construct x xs) -> Store $ Identity (TU xs) :*: lift . lift . Construct x . run . extract+--instance Substructure Just Rose where+-- type Available Just Rose = Identity+-- type Substance Just Rose = List <:.> Construction List+-- substructure = P_Q_T $ \rose -> case run . extract . run # rose of+-- Nothing -> Store $ Identity empty :*: (lift empty !.)+-- Just (Construct x xs) -> Store $ Identity (TU xs) :*: lift . lift . Construct x . run . extract --------------------------------------- Non-empty rose tree ---------------------------------------- @@ -76,32 +74,32 @@ morphing (run . premorph -> 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- type Morphing (Vary Element) (Prefixed Rose k) = ((:*:) (Nonempty List k) <:.> Identity) <:.:> Prefixed Rose k := (->)- morphing (run . run . premorph -> Nothing) = T_U $ \(TU (Construct key _ :*: Identity value)) -> Prefixed . lift $ Construct (key :*: value) empty- morphing (run . run . premorph -> Just (Construct focused subtree)) = T_U $ \(TU (breadcrumbs :*: Identity value)) -> case breadcrumbs of- Construct key Nothing -> Prefixed . lift $ attached focused == key ? Construct (key :*: value) subtree $ Construct focused subtree- Construct key (Just keys) -> Prefixed . lift $ attached focused != key ? Construct focused subtree- $ Construct focused $ vary @Element @_ @_ @(Nonempty (Prefixed Rose k)) keys value =||$> subtree+--instance Setoid k => Morphable (Vary Element) (Prefixed Rose k) where+-- type Morphing (Vary Element) (Prefixed Rose k) = ((:*:) (Nonempty List k) <:.> Identity) <:.:> Prefixed Rose k := (->)+-- morphing (run . run . premorph -> Nothing) = T_U $ \(TU (Construct key _ :*: Identity value)) -> Prefixed . lift $ Construct (key :*: value) empty+-- morphing (run . run . premorph -> Just (Construct focused subtree)) = T_U $ \(TU (breadcrumbs :*: Identity value)) -> case breadcrumbs of+-- Construct key Nothing -> Prefixed . lift $ attached focused == key ? Construct (key :*: value) subtree $ Construct focused subtree+-- Construct key (Just keys) -> Prefixed . lift $ attached focused != key ? Construct focused subtree+-- $ Construct focused $ vary @Element @_ @_ @(Nonempty (Prefixed Rose k)) keys value =||$> subtree ---------------------------------- Non-empty prefixed rose 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 (Construction List) k) where- type Morphing (Vary Element) (Prefixed (Construction List) k) =- ((:*:) (Nonempty List k) <:.> Identity) <:.:> Prefixed (Construction List) k := (->)- morphing (run . premorph -> Construct x (TU Nothing)) = T_U $ \(TU (breadcrumbs :*: Identity value)) -> case breadcrumbs of- Construct key Nothing -> Prefixed $ attached x == key ? Construct (key :*: value) empty $ Construct x empty- Construct _ (Just _) -> Prefixed $ Construct x (TU Nothing)- morphing (run . premorph -> Construct x (TU (Just subtree))) = T_U $ \(TU (breadcrumbs :*: Identity value)) -> case breadcrumbs of- Construct key Nothing -> Prefixed $ attached x != key ? Construct x # lift subtree- $ Construct (key :*: value) (lift subtree)- Construct key (Just keys) -> Prefixed $ attached x != key ? Construct x # lift subtree- $ Construct (key :*: value) . lift $ vary @Element @_ @_ @(Nonempty (Prefixed Rose k)) keys value =||$> subtree+--instance Setoid k => Morphable (Vary Element) (Prefixed (Construction List) k) where+-- type Morphing (Vary Element) (Prefixed (Construction List) k) =+-- ((:*:) (Nonempty List k) <:.> Identity) <:.:> Prefixed (Construction List) k := (->)+-- morphing (run . premorph -> Construct x (TU Nothing)) = T_U $ \(TU (breadcrumbs :*: Identity value)) -> case breadcrumbs of+-- Construct key Nothing -> Prefixed $ attached x == key ? Construct (key :*: value) empty $ Construct x empty+-- Construct _ (Just _) -> Prefixed $ Construct x (TU Nothing)+-- morphing (run . premorph -> Construct x (TU (Just subtree))) = T_U $ \(TU (breadcrumbs :*: Identity value)) -> case breadcrumbs of+-- Construct key Nothing -> Prefixed $ attached x != key ? Construct x # lift subtree+-- $ Construct (key :*: value) (lift subtree)+-- Construct key (Just keys) -> Prefixed $ attached x != key ? Construct x # lift subtree+-- $ Construct (key :*: value) . lift $ vary @Element @_ @_ @(Nonempty (Prefixed Rose k)) keys value =||$> subtree find_rose_sub_tree :: forall k a . Setoid k => Nonempty List k -> Nonempty Rose := k :*: a -> Maybe a find_rose_sub_tree (Construct k Nothing) tree = k == attached (extract tree) ? Just (extract $ extract tree) $ Nothing 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
@@ -4,8 +4,9 @@ module Pandora.Paradigm.Structure.Some.Splay where import Pandora.Core.Functor (type (~>), type (:.), type (:=))-import Pandora.Pattern.Category ((.), ($), (#))-import Pandora.Pattern.Functor.Covariant (Covariant ((<$>)), Covariant_ ((-<$>-)))+import Pandora.Pattern.Semigroupoid ((.))+import Pandora.Pattern.Category (($), (#))+import Pandora.Pattern.Functor.Covariant (Covariant ((-<$>-))) import Pandora.Pattern.Functor.Extractable (extract) import Pandora.Pattern.Functor.Bindable (Bindable ((=<<))) import Pandora.Paradigm.Primary ()@@ -58,11 +59,11 @@ 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@@ -70,11 +71,11 @@ 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
@@ -3,8 +3,9 @@ module Pandora.Paradigm.Structure.Some.Stream where import Pandora.Core.Functor (type (:=), type (:=>), type (:::))-import Pandora.Pattern.Category ((.), ($), (#))-import Pandora.Pattern.Functor.Covariant (Covariant ((<$>)))+import Pandora.Pattern.Semigroupoid ((.))+import Pandora.Pattern.Category (($), (#))+import Pandora.Pattern.Functor.Covariant (Covariant ((-<$>-))) import Pandora.Pattern.Functor.Pointable (point) import Pandora.Pattern.Functor.Extractable (extract) import Pandora.Pattern.Functor.Extendable (Extendable ((<<=)))@@ -33,7 +34,7 @@ instance {-# OVERLAPS #-} Extendable (Tap (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 -<$>- Tap z (twosome # (move $ rotate @Left) # (move $ rotate @Right)) repeat :: a :=> Stream repeat x = Construct x . Identity $ repeat x
Pandora/Pattern.hs view
@@ -4,3 +4,4 @@ import Pandora.Pattern.Transformer as Exports import Pandora.Pattern.Functor as Exports import Pandora.Pattern.Category as Exports+import Pandora.Pattern.Semigroupoid as Exports
Pandora/Pattern/Category.hs view
@@ -1,19 +1,18 @@ module Pandora.Pattern.Category (Category (..)) where +import Pandora.Pattern.Semigroupoid (Semigroupoid ((.))) + infixl 2 # infixr 0 $-infixr 9 . {- | > When providing a new instance, you should ensure it satisfies: > * Left identity: identity . f ≡ f > * Right identity: f . identity ≡ f-> * Associativity: f . (g . h) ≡ (f . g) . h -} -class Category (m :: * -> * -> *) where+class Semigroupoid m => Category m where identity :: m a a- (.) :: m b c -> m a b -> m a c ($) :: m (m a b) (m a b) ($) = identity . identity
Pandora/Pattern/Functor.hs view
@@ -1,4 +1,4 @@-module Pandora.Pattern.Functor (module Exports, (<*+>), (<**+>), (<***+>)) where+module Pandora.Pattern.Functor (module Exports, Endofunctor) where import Pandora.Pattern.Functor.Bivariant as Exports import Pandora.Pattern.Functor.Divariant as Exports@@ -10,25 +10,15 @@ import Pandora.Pattern.Functor.Bindable as Exports import Pandora.Pattern.Functor.Distributive as Exports import Pandora.Pattern.Functor.Traversable as Exports-import Pandora.Pattern.Functor.Determinable as Exports import Pandora.Pattern.Functor.Extractable as Exports import Pandora.Pattern.Functor.Pointable as Exports-import Pandora.Pattern.Functor.Avoidable as Exports-import Pandora.Pattern.Functor.Applicative as Exports-import Pandora.Pattern.Functor.Alternative as Exports+import Pandora.Pattern.Functor.Semimonoidal as Exports import Pandora.Pattern.Functor.Invariant as Exports import Pandora.Pattern.Functor.Contravariant as Exports import Pandora.Pattern.Functor.Covariant as Exports -import Pandora.Core.Functor (type (:.), type (:=))--(<*+>) :: (Applicative t, Alternative u) => t :. u := a -> t :. u := a -> t :. u := a-x <*+> y = (<+>) <$> x <*> y--(<**+>) :: (Applicative t, Applicative u, Alternative v)- => t :. u :. v := a -> t :. u :. v := a -> t :. u :. v := a-x <**+> y = (<+>) <$$> x <**> y--(<***+>) :: (Applicative t, Applicative u, Applicative v, Alternative w)- => t :. u :. v :. w := a -> t :. u :. v :. w := a -> t :. u :. v :. w := a-x <***+> y = (<+>) <$$$> x <***> y+type family Endofunctor constraint functor category where+ Endofunctor Covariant t category = Covariant t category category+ Endofunctor Contravariant t category = Contravariant t category category+ Endofunctor Traversable t category = Traversable t category category+ Endofunctor Distributive t category = Distributive t category category
Pandora/Pattern/Functor/Adjoint.hs view
@@ -1,6 +1,6 @@ module Pandora.Pattern.Functor.Adjoint where -import Pandora.Pattern.Functor.Covariant (Covariant_)+import Pandora.Pattern.Functor.Covariant (Covariant) type (-|) = Adjoint @@ -14,6 +14,6 @@ > * Right adjunction interchange: psi f ≡ epsilon . comap f -} -class (Covariant_ t target source, Covariant_ u source target) => Adjoint t u source target where+class (Covariant t target source, Covariant u source target) => Adjoint t u source target where (-|) :: source (t a) b -> target a (u b) (|-) :: target a (u b) -> source (t a) b
− Pandora/Pattern/Functor/Alternative.hs
@@ -1,20 +0,0 @@-module Pandora.Pattern.Functor.Alternative where--import Pandora.Pattern.Functor.Covariant (Covariant)--infixl 3 <+>--{- |-> When providing a new instance, you should ensure it satisfies:-> * Associativity of <+>: (x <+> y) <+> z ≡ x <+> (y <+> z)-> * Left-distributes <$> over <+>: f <$> (x <+> y) ≡ (f <$> x) <+> (f <$> y)--}--class Covariant t => Alternative t where- {-# MINIMAL (<+>) #-}- -- | Infix version of 'alter'-- (<+>) :: t a -> t a -> t a- -- | Prefix version of '<+>'- alter :: t a -> t a -> t a- alter f g = f <+> g
− Pandora/Pattern/Functor/Applicative.hs
@@ -1,51 +0,0 @@-module Pandora.Pattern.Functor.Applicative where--import Pandora.Core.Functor (type (:.), type (:=))-import Pandora.Pattern.Functor.Covariant (Covariant ((<$>), (<$)), Covariant_)-import Pandora.Pattern.Functor.Bivariant (Bivariant)--infixl 4 <*>, <*, *>-infixl 3 <**>-infixl 2 <***>-infixl 1 <****>--{- |-> When providing a new instance, you should ensure it satisfies:-> * Interpreted: (.) <$> u <*> v <*> w ≡ u <*> (v <*> w)-> * Left interchange: x <*> (f <$> y) ≡ (. f) <$> x <*> y-> * Right interchange: f <$> (x <*> y) ≡ (f .) <$> x <*> y--}--class Covariant t => Applicative t where- {-# MINIMAL (<*>) #-}- -- | Infix version of 'apply'- (<*>) :: t (a -> b) -> t a -> t b- -- | Prefix version of '<*>'- apply :: t (a -> b) -> t a -> t b- apply f x = f <*> x- -- | Sequence actions, discarding the value of the first argument- (*>) :: t a -> t b -> t b- x *> y = ((\z -> z) <$ x) <*> y- -- | Sequence actions, discarding the value of the second argument- (<*) :: t a -> t b -> t a- x <* y = y *> x- -- | Repeat an action indefinitely- forever :: t a -> t b- forever x = x *> forever x- -- | Flipped version of '<*>'- (<%>) :: t a -> t (a -> b) -> t b- x <%> f = (\x' f' -> f' x') <$> x <*> f- -- | Infix versions of `apply` with various nesting levels- (<**>) :: Applicative u => t :. u := (a -> b) -> t :. u := a -> t :. u := b- f <**> x = (<*>) <$> f <*> x- (<***>) :: (Applicative u, Applicative v) => t :. u :. v := (a -> b)- -> t :. u :. v := a -> t :. u :. v := b- f <***> x = (<**>) <$> f <*> x- (<****>) :: (Applicative u, Applicative v, Applicative w)- => t :. u :. v :. w := (a -> b)- -> t :. u :. v :. w := a- -> t :. u :. v :. w := b- f <****> x = (<***>) <$> f <*> x--class (Covariant_ t source target, Bivariant v source source target) => Semimonoidal t v source target where- multiply :: source (v a b) r -> target (v (t a) (t b)) (t r)
− Pandora/Pattern/Functor/Avoidable.hs
@@ -1,13 +0,0 @@-module Pandora.Pattern.Functor.Avoidable where--import Pandora.Pattern.Functor.Alternative (Alternative)--{- |-> When providing a new instance, you should ensure it satisfies:-> * Left absorption: x <+> empty ≡ x-> * Right absorption: empty <+> x ≡ x--}--class Alternative t => Avoidable t where- {-# MINIMAL empty #-}- empty :: t a
Pandora/Pattern/Functor/Bindable.hs view
@@ -1,6 +1,6 @@ module Pandora.Pattern.Functor.Bindable where -import Pandora.Pattern.Functor.Covariant (Covariant_)+import Pandora.Pattern.Functor.Covariant (Covariant) infixr 1 =<< @@ -9,5 +9,5 @@ > * Interchange: t >>= f = join (f <$> t) -} -class Covariant_ t source source => Bindable t source where+class Covariant t source source => Bindable t source where (=<<) :: source a (t b) -> source (t a) (t b)
Pandora/Pattern/Functor/Bivariant.hs view
@@ -1,6 +1,6 @@ module Pandora.Pattern.Functor.Bivariant where -import Pandora.Pattern.Functor.Covariant (Covariant_)+import Pandora.Pattern.Functor.Covariant (Covariant) import Pandora.Paradigm.Primary.Transformer.Flip (Flip) infixl 4 <->@@ -11,6 +11,6 @@ > * Parametricity: (f . g) <-> (h . i) ≡ f <-> h . g <-> i -} -class (forall i . Covariant_ (v i) left target, forall i . Covariant_ (Flip v i) right target)+class (forall i . Covariant (v i) left target, forall i . Covariant (Flip v i) right target) => Bivariant v left right target where (<->) :: left a b -> right c d -> target (v a c) (v b d)
Pandora/Pattern/Functor/Contravariant.hs view
@@ -1,56 +1,15 @@ module Pandora.Pattern.Functor.Contravariant where -import Pandora.Core.Functor (type (:.), type (:=)) import Pandora.Pattern.Category (Category) -infixl 4 >$<, ->$<-, $<, >$+infixl 4 ->$<- +-- TODO: use ->$<- instead of contramap here {- | > When providing a new instance, you should ensure it satisfies: > * Identity morphism: contramap identity ≡ identity > * Interpreted of morphisms: contramap f . contramap g ≡ contramap (g . f) -} -class Contravariant (t :: * -> *) where- {-# MINIMAL (>$<) #-}- -- | Infix version of 'contramap'- (>$<) :: (a -> b) -> t b -> t a-- -- | Prefix version of '>$<'- contramap :: (a -> b) -> t b -> t a- contramap f x = f >$< x- -- | Replace all locations in the output with the same value- (>$) :: b -> t b -> t a- x >$ z = (\_ -> x) >$< z- -- | Flipped version of '>$'- ($<) :: t b -> b -> t a- x $< v = v >$ x- -- | Fill the input of evaluation- full :: t () -> t a- full x = () >$ x- -- | Flipped infix version of 'contramap'- (>&<) :: t b -> (a -> b) -> t a- x >&< f = f >$< x-- -- | Infix versions of `contramap` with various nesting levels- (>$$<) :: Contravariant u => (a -> b) -> t :. u := a -> t :. u := b- f >$$< x = ((f >$<) >$<) x- (>$$$<) :: (Contravariant u, Contravariant v)- => (a -> b) -> t :. u :. v := b -> t :. u :. v := a- f >$$$< x = (((f >$<) >$<) >$<) x- (>$$$$<) :: (Contravariant u, Contravariant v, Contravariant w)- => (a -> b) -> t :. u :. v :. w := a -> t :. u :. v :. w := b- f >$$$$< x = ((((f >$<) >$<) >$<) >$<) x-- -- | Infix flipped versions of `contramap` with various nesting levels- (>&&<) :: Contravariant u => t :. u := a -> (a -> b) -> t :. u := b- x >&&< f = f >$$< x- (>&&&<) :: (Contravariant u, Contravariant v)- => t :. u :. v := b -> (a -> b) -> t :. u :. v := a- x >&&&< f = f >$$$< x- (>&&&&<) :: (Contravariant u, Contravariant v, Contravariant w)- => t :. u :. v :. w := a -> (a -> b) -> t :. u :. v :. w := b- x >&&&&< f = f >$$$$< x--class (Category source, Category target) => Contravariant_ t source target where+class (Category source, Category target) => Contravariant t source target where (->$<-) :: source a b -> target (t b) (t a)
Pandora/Pattern/Functor/Covariant.hs view
@@ -1,121 +1,44 @@ module Pandora.Pattern.Functor.Covariant where -import Pandora.Core.Functor (type (:.), type (:=), type (<:=))-import Pandora.Pattern.Category (Category ((.)))--infixl 4 <$>, -<$>-, <$, $>-infixl 3 <$$>, -<<$$>-, -<$$>>--infixl 2 <$$$>-infixl 1 <$$$$>--infixl 1 <&>-infixl 2 <&&>-infixl 3 <&&&>-infixl 4 <&&&&>+import Pandora.Pattern.Semigroupoid (Semigroupoid) -infixr 7 .#.., .#..., .#....+infixl 4 -<$>-+infixl 3 -<<$$>-, -<$$>>- +-- TODO: use -<$>- instead of comap here {- | > When providing a new instance, you should ensure it satisfies: > * Identity morphism: comap identity ≡ identity > * Interpreted of morphisms: comap (f . g) ≡ comap f . comap g -} -class Covariant (t :: * -> *) where- {-# MINIMAL (<$>) #-}- -- | Infix version of 'comap'- (<$>) :: (a -> b) -> t a -> t b-- -- | Prefix version of '<$>'- comap :: (a -> b) -> t a -> t b- comap f x = f <$> x- -- | Replace all locations in the input with the same value- (<$) :: a -> t b -> t a- x <$ z = (\_-> x) <$> z- -- | Flipped version of '<$'- ($>) :: t a -> b -> t b- x $> v = v <$ x- -- | Discards the result of evaluation- void :: t a -> t ()- void x = () <$ x- -- | Computing a value from a structure of values- loeb :: t (a <:= t) -> t a- loeb tt = let fix f = let x = f x in x in fix (\f -> (\g -> g f) <$> tt)- -- | Flipped infix version of 'comap'- (<&>) :: t a -> (a -> b) -> t b- x <&> f = f <$> x-- -- | Infix versions of `comap` with various nesting levels- (<$$>) :: Covariant u => (a -> b) -> t :. u := a -> t :. u := b- f <$$> x = ((f <$>) <$>) x- (<$$$>) :: (Covariant u, Covariant v)- => (a -> b) -> t :. u :. v := a -> t :. u :. v := b- f <$$$> x = (((f <$>) <$>) <$>) x- (<$$$$>) :: (Covariant u, Covariant v, Covariant w)- => (a -> b) -> t :. u :. v :. w := a -> t :. u :. v :. w := b- f <$$$$> x = ((((f <$>) <$>) <$>) <$>) x-- -- | Infix flipped versions of `comap` with various nesting levels- (<&&>) :: Covariant u => t :. u := a -> (a -> b) -> t :. u := b- x <&&> f = f <$$> x- (<&&&>) :: (Covariant u, Covariant v)- => t :. u :. v := a -> (a -> b) -> t :. u :. v := b- x <&&&> f = f <$$$> x- (<&&&&>) :: (Covariant u, Covariant v, Covariant w)- => t :. u :. v :. w := a -> (a -> b) -> t :. u :. v :. w := b- x <&&&&> f = f <$$$$> x-- (.#..) :: (t ~ v a, Category v)- => v c d -> v a :. v b := c -> v a :. v b := d- f .#.. g = (f .) <$> g-- (.#...) :: (t ~ v a, t ~ v b, Category v, Covariant (v a), Covariant (v b))- => v d e -> v a :. v b :. v c := d -> v a :. v b :. v c := e- f .#... g = (f .) <$$> g-- (.#....) :: (t ~ v a, t ~ v b, t ~ v c, Category v, Covariant (v a), Covariant (v b), Covariant (v c))- => v e f -> v a :. v b :. v c :. v d := e -> v a :. v b :. v c :. v d := f- f .#.... g = (f .) <$$$> g-- (<$$) :: Covariant u => b -> t :. u := a -> t :. u := b- x <$$ s = (\_-> x) <$$> s-- (<$$$) :: (Covariant u, Covariant v) => b -> t :. u :. v := a -> t :. u :. v := b- x <$$$ s = (\_-> x) <$$$> s-- (<$$$$) :: (Covariant u, Covariant v, Covariant w) => b -> t :. u :. v :. w := a -> t :. u :. v :. w := b- x <$$$$ s = (\_-> x) <$$$$> s-- ($$>) :: Covariant u => t :. u := a -> b -> t :. u := b- s $$> x = (\_-> x) <$$> s-- ($$$>) :: (Covariant u, Covariant v) => t :. u :. v := a -> b -> t :. u :. v := b- s $$$> x = (\_-> x) <$$$> s-- ($$$$>) :: (Covariant u, Covariant v, Covariant w) => t :. u :. v :. w := a -> b -> t :. u :. v :. w := b- s $$$$> x = (\_-> x) <$$$$> s--class (Category source, Category target) => Covariant_ t source target where+class (Semigroupoid source, Semigroupoid target) => Covariant t source target where (-<$>-) :: source a b -> target (t a) (t b) (-<$$>-) :: forall t u category a b - . (Covariant_ u category category, Covariant_ t category category) + . (Covariant u category category, Covariant t category category) => category a b -> category (t (u a)) (t (u b)) (-<$$>-) s = ((-<$>-) ((-<$>-) @u @category @category s)) (-<<$$>-) :: forall t u source target a b - . (Covariant_ u source source, Covariant_ t source target) + . (Covariant u source source, Covariant t source target) => source a b -> target (t (u a)) (t (u b)) (-<<$$>-) s = ((-<$>-) ((-<$>-) @u @source @source s)) (-<$$>>-) :: forall t u source target a b - . (Covariant_ u source target, Covariant_ t target target) + . (Covariant u source target, Covariant t target target) => source a b -> target (t (u a)) (t (u b)) (-<$$>>-) s = ((-<$>-) ((-<$>-) @u @source @target s)) -- TODO: Figure out how to work with hidden type variables -- to put intermediate category `between`-(-<$$$>-) :: forall t u v source target a b- . (Covariant_ u source source, Covariant_ t source target, Covariant_ v target target) - => source a b -> target (v (t (u a))) (v (t (u b)))-(-<$$$>-) s = ((-<$>-) ((-<$>-) @t @source @target ((-<$>-) @u @source @source s)))++(-<$$$>-) :: forall t u v category a b+ . (Covariant t category category, Covariant u category category, Covariant v category category) + => category a b -> category (t (u (v a))) (t (u (v b)))+(-<$$$>-) s = ((-<$>-) @t @category @category ((-<$>-) @u @category @category ((-<$>-) @v @category @category s)))++(-<$$$$>-) :: forall t u v w category a b+ . (Covariant t category category, Covariant u category category, Covariant v category category, Covariant w category category) + => category a b -> category (t (u (v (w a)))) (t (u (v (w b))))+(-<$$$$>-) s = ((-<$>-) @t @category @category ((-<$>-) @u @category @category ((-<$>-) @v @category @category ((-<$>-) @w @category @category s))))
− Pandora/Pattern/Functor/Determinable.hs
@@ -1,7 +0,0 @@-module Pandora.Pattern.Functor.Determinable where--import Pandora.Pattern.Functor.Contravariant (Contravariant)--class Contravariant t => Determinable t where- {-# MINIMAL determine #-}- determine :: t a
Pandora/Pattern/Functor/Distributive.hs view
@@ -1,6 +1,6 @@ module Pandora.Pattern.Functor.Distributive where -import Pandora.Pattern.Functor.Covariant (Covariant_)+import Pandora.Pattern.Functor.Covariant (Covariant) {- | > Let f :: Distributive g => (a -> g b)@@ -12,5 +12,5 @@ infixl 5 -<< -class Covariant_ t source target => Distributive t source target where- (-<<) :: Covariant_ u source target => source a (t b) -> target (u a) (t (u b))+class Covariant t source target => Distributive t source target where+ (-<<) :: Covariant u source target => source a (t b) -> target (u a) (t (u b))
Pandora/Pattern/Functor/Divariant.hs view
@@ -1,7 +1,7 @@ module Pandora.Pattern.Functor.Divariant 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.Paradigm.Primary.Transformer.Flip (Flip) infixl 4 >->@@ -12,13 +12,6 @@ > * Interpreted: f . g >-> h . i ≡ g >-> h . f >-> i -} ---class (forall i . Covariant (v i)) => Divariant (v :: * -> * -> *) where--- {-# MINIMAL (>->) #-}--- (>->) :: (a -> b) -> (c -> d) -> v b c -> v a d--- -- | Prefix version of '>->'--- dimap :: (a -> b) -> (c -> d) -> v b c -> v a d--- dimap f g x = (f >-> g) x--class (forall i . Contravariant_ (Flip v i) left target, forall i . Covariant_ (v i) right target) +class (forall i . Contravariant (Flip v i) left target, forall i . Covariant (v i) right target) => Divariant v left right target where (>->) :: left a b -> right c d -> target (v b c) (v a d)
− Pandora/Pattern/Functor/Divisible.hs
@@ -1,14 +0,0 @@-module Pandora.Pattern.Functor.Divisible where--import Pandora.Pattern.Functor.Contravariant (Contravariant)-import Pandora.Pattern.Functor.Bivariant (Bivariant)-import Pandora.Paradigm.Primary.Algebraic.Product ((:*:))--infixr 5 >*<--class Contravariant t => Divisible t where- {-# MINIMAL (>*<) #-}- (>*<) :: t b -> t c -> t (b :*: c)--class Bivariant v source source target => Divisible_ t v source target where- divide :: source r (v a b) -> target (v (t a) (t b)) (t r)
Pandora/Pattern/Functor/Extendable.hs view
@@ -1,7 +1,6 @@ module Pandora.Pattern.Functor.Extendable where -import Pandora.Core.Functor (type (:.), type (:=))-import Pandora.Pattern.Functor.Covariant (Covariant ((<$>)), Covariant_)+import Pandora.Pattern.Functor.Covariant (Covariant) infixr 1 <<= @@ -11,5 +10,5 @@ > * Extension interchange: (f <<=) ≡ (f -<$>-) . (identity <<=) -} -class Covariant_ t source source => Extendable t source where+class Covariant t source source => Extendable t source where (<<=) :: source (t a) b -> source (t a) (t b)
Pandora/Pattern/Functor/Extractable.hs view
@@ -1,7 +1,7 @@ module Pandora.Pattern.Functor.Extractable where -import Pandora.Pattern.Functor.Covariant (Covariant_)+import Pandora.Pattern.Functor.Covariant (Covariant) -class Covariant_ t source source => Extractable t source where+class Covariant t source source => Extractable t source where {-# MINIMAL extract #-} extract :: source (t a) a
Pandora/Pattern/Functor/Monad.hs view
@@ -1,6 +1,6 @@ module Pandora.Pattern.Functor.Monad where -import Pandora.Pattern.Functor.Covariant (Covariant_)+import Pandora.Pattern.Functor.Covariant (Covariant) import Pandora.Pattern.Functor.Bindable (Bindable) import Pandora.Pattern.Functor.Pointable (Pointable) @@ -18,7 +18,7 @@ --infixl 1 >>=-, ->>= --infixr 1 -=<<, =<<- -class (Covariant_ t (->) (->), Pointable t (->), Bindable t (->)) => Monad t where+class (Covariant t (->) (->), Pointable t (->), Bindable t (->)) => Monad t where --(>>=-) :: t a -> t b -> t a --(>>=-) x y = x >>= \r -> y >>= \_ -> point r --(->>=) :: t a -> t b -> t b
Pandora/Pattern/Functor/Pointable.hs view
@@ -1,7 +1,7 @@ module Pandora.Pattern.Functor.Pointable where -import Pandora.Pattern.Functor.Covariant (Covariant_)+import Pandora.Pattern.Functor.Covariant (Covariant) -class Covariant_ t source source => Pointable t source where+class Covariant t source source => Pointable t source where {-# MINIMAL point #-} point :: source a (t a)
+ Pandora/Pattern/Functor/Semimonoidal.hs view
@@ -0,0 +1,6 @@+module Pandora.Pattern.Functor.Semimonoidal where++import Pandora.Pattern.Semigroupoid (Semigroupoid)++class Semigroupoid p => Semimonoidal t p source target where+ multiply_ :: p (source (t a) (t b)) (t (target a b))
Pandora/Pattern/Functor/Traversable.hs view
@@ -1,7 +1,7 @@ module Pandora.Pattern.Functor.Traversable where -import Pandora.Pattern.Functor.Covariant (Covariant_)-import Pandora.Pattern.Functor.Applicative (Semimonoidal)+import Pandora.Pattern.Functor.Covariant (Covariant)+import Pandora.Pattern.Functor.Semimonoidal (Semimonoidal) import Pandora.Pattern.Functor.Pointable (Pointable) import Pandora.Paradigm.Primary.Algebraic.Product ((:*:)) @@ -18,10 +18,10 @@ infixl 5 <<-, -<<-<<- -class Covariant_ t source target => Traversable t source target where- (<<-) :: (Covariant_ u source target, Pointable u target, Semimonoidal u (:*:) source target) => source a (u b) -> target (t a) (u (t b))+class Covariant t source target => Traversable t source target where+ (<<-) :: (Covariant u source target, Pointable u target, Semimonoidal u target (:*:) (:*:)) => source a (u b) -> target (t a) (u (t b)) -(-<<-<<-) :: forall t u v category a b . - (Traversable t category category, Covariant_ u category category, Pointable u category, Semimonoidal u (:*:) category category, Traversable v category category)+(-<<-<<-) :: forall t u v category a b .+ (Traversable t category category, Covariant u category category, Pointable u category, Semimonoidal u category (:*:) (:*:), Traversable v category category) => category a (u b) -> category (v (t a)) (u (v (t b))) (-<<-<<-) f = ((<<-) ((<<-) @t @category @category f))
+ Pandora/Pattern/Semigroupoid.hs view
@@ -0,0 +1,11 @@+module Pandora.Pattern.Semigroupoid where++infixr 9 .++{- |+> When providing a new instance, you should ensure it satisfies:+> * Associativity: f . (g . h) ≡ (f . g) . h+-}++class Semigroupoid (m :: * -> * -> *) where+ (.) :: m b c -> m a b -> m a c
Pandora/Pattern/Transformer/Hoistable.hs view
@@ -1,7 +1,7 @@ module Pandora.Pattern.Transformer.Hoistable (Hoistable (..)) where import Pandora.Core.Functor (type (~>))-import Pandora.Pattern.Functor.Covariant (Covariant_)+import Pandora.Pattern.Functor.Covariant (Covariant) {- | > When providing a new instance, you should ensure it satisfies one law:@@ -13,7 +13,7 @@ class Hoistable t where {-# MINIMAL (/|\) #-}- (/|\) :: (Covariant_ u (->) (->)) => u ~> v -> t u ~> t v+ (/|\) :: (Covariant u (->) (->)) => u ~> v -> t u ~> t v - hoist :: (Covariant_ u (->) (->)) => u ~> v -> t u ~> t v+ hoist :: (Covariant u (->) (->)) => u ~> v -> t u ~> t v hoist = (/|\)
Pandora/Pattern/Transformer/Liftable.hs view
@@ -1,7 +1,7 @@ module Pandora.Pattern.Transformer.Liftable (Liftable (..)) where import Pandora.Core.Functor (type (~>))-import Pandora.Pattern.Functor.Covariant (Covariant_)+import Pandora.Pattern.Functor.Covariant (Covariant) {- | > When providing a new instance, you should ensure it satisfies one law:@@ -9,4 +9,4 @@ -} class Liftable t where- lift :: (Covariant_ u (->) (->)) => u ~> t u+ lift :: (Covariant u (->) (->)) => u ~> t u
Pandora/Pattern/Transformer/Lowerable.hs view
@@ -1,7 +1,7 @@ module Pandora.Pattern.Transformer.Lowerable (Lowerable (..)) where import Pandora.Core.Functor (type (~>))-import Pandora.Pattern.Functor.Covariant (Covariant_)+import Pandora.Pattern.Functor.Covariant (Covariant) {- | > When providing a new instance, you should ensure it satisfies one law:@@ -9,4 +9,4 @@ -} class Lowerable t where- lower :: (Covariant_ u (->) (->)) => t u ~> u+ lower :: (Covariant u (->) (->)) => t u ~> u
pandora.cabal view
@@ -1,5 +1,5 @@ name: pandora-version: 0.4.4+version: 0.4.5 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@@ -31,6 +31,7 @@ Pandora.Paradigm.Primary.Algebraic Pandora.Paradigm.Primary.Algebraic.Exponential Pandora.Paradigm.Primary.Algebraic.Product+ Pandora.Paradigm.Primary.Algebraic.Sum Pandora.Paradigm.Primary.Object.Boolean Pandora.Paradigm.Primary.Object.Ordering Pandora.Paradigm.Primary.Object.Numerator@@ -129,21 +130,18 @@ Pandora.Paradigm.Primary.Linear.Matrix Pandora.Pattern- -- Category typeclass+ -- Algebra typeclasses+ Pandora.Pattern.Semigroupoid Pandora.Pattern.Category -- Functor typeclassess Pandora.Pattern.Functor Pandora.Pattern.Functor.Adjoint- Pandora.Pattern.Functor.Alternative- Pandora.Pattern.Functor.Applicative+ Pandora.Pattern.Functor.Semimonoidal Pandora.Pattern.Functor.Bindable Pandora.Pattern.Functor.Comonad Pandora.Pattern.Functor.Contravariant Pandora.Pattern.Functor.Covariant- Pandora.Pattern.Functor.Determinable Pandora.Pattern.Functor.Distributive- Pandora.Pattern.Functor.Avoidable- Pandora.Pattern.Functor.Divisible Pandora.Pattern.Functor.Extendable Pandora.Pattern.Functor.Extractable Pandora.Pattern.Functor.Invariant