packages feed

pandora 0.3.1 → 0.3.2

raw patch · 41 files changed

+462/−197 lines, 41 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 (t Pandora.Paradigm.Controlflow.Effect.Transformer.Monadic.:> (u Pandora.Paradigm.Controlflow.Effect.Transformer.Monadic.:> v)), Pandora.Pattern.Transformer.Liftable.Liftable (Pandora.Paradigm.Controlflow.Effect.Interpreted.Schematic Pandora.Pattern.Functor.Monad.Monad t), Pandora.Pattern.Functor.Traversable.Traversable (Pandora.Paradigm.Controlflow.Effect.Interpreted.Schematic Pandora.Pattern.Functor.Monad.Monad u v), Pandora.Paradigm.Controlflow.Effect.Adaptable.Wrappable u v) => Pandora.Paradigm.Controlflow.Effect.Adaptable.Adaptable u (t Pandora.Paradigm.Controlflow.Effect.Transformer.Monadic.:> (u Pandora.Paradigm.Controlflow.Effect.Transformer.Monadic.:> v))
- Pandora.Paradigm.Controlflow.Effect.Adaptable: instance (Pandora.Pattern.Functor.Covariant.Covariant u, Pandora.Pattern.Functor.Covariant.Covariant v, Pandora.Pattern.Functor.Covariant.Covariant w, Pandora.Pattern.Functor.Covariant.Covariant x, Pandora.Pattern.Functor.Traversable.Traversable (Pandora.Paradigm.Controlflow.Effect.Interpreted.Schematic Pandora.Pattern.Functor.Monad.Monad u v), Pandora.Pattern.Functor.Traversable.Traversable (Pandora.Paradigm.Controlflow.Effect.Interpreted.Schematic Pandora.Pattern.Functor.Monad.Monad u (v Pandora.Paradigm.Controlflow.Effect.Transformer.Monadic.:> w)), Pandora.Pattern.Functor.Traversable.Traversable (Pandora.Paradigm.Controlflow.Effect.Interpreted.Schematic Pandora.Pattern.Functor.Monad.Monad v (w Pandora.Paradigm.Controlflow.Effect.Transformer.Monadic.:> x)), Pandora.Pattern.Functor.Traversable.Traversable (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.Traversable.Traversable (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 u, Pandora.Pattern.Functor.Covariant.Covariant v, Pandora.Pattern.Functor.Covariant.Covariant w, Pandora.Pattern.Functor.Traversable.Traversable (Pandora.Paradigm.Controlflow.Effect.Interpreted.Schematic Pandora.Pattern.Functor.Monad.Monad u v), Pandora.Pattern.Functor.Traversable.Traversable (Pandora.Paradigm.Controlflow.Effect.Interpreted.Schematic Pandora.Pattern.Functor.Monad.Monad u (v Pandora.Paradigm.Controlflow.Effect.Transformer.Monadic.:> w)), Pandora.Pattern.Functor.Traversable.Traversable (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.Functor.Covariant.Covariant v, Pandora.Pattern.Functor.Traversable.Traversable (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.Inventory.State: find :: (Pointable u, Avoidable u, Alternative u, Traversable t) => Predicate a -> t a -> u a
- Pandora.Paradigm.Primary.Functor.Conclusion: instance (Pandora.Pattern.Functor.Pointable.Pointable u, Pandora.Pattern.Functor.Bindable.Bindable u) => Pandora.Pattern.Functor.Bindable.Bindable (Pandora.Paradigm.Schemes.UT.UT Pandora.Pattern.Functor.Covariant.Covariant Pandora.Pattern.Functor.Covariant.Covariant (Pandora.Paradigm.Primary.Functor.Conclusion.Conclusion e) u)
- Pandora.Paradigm.Primary.Functor.Conclusion: instance Pandora.Pattern.Functor.Applicative.Applicative u => Pandora.Pattern.Functor.Applicative.Applicative (Pandora.Paradigm.Schemes.UT.UT Pandora.Pattern.Functor.Covariant.Covariant Pandora.Pattern.Functor.Covariant.Covariant (Pandora.Paradigm.Primary.Functor.Conclusion.Conclusion e) u)
- Pandora.Paradigm.Primary.Functor.Conclusion: instance Pandora.Pattern.Functor.Covariant.Covariant u => Pandora.Pattern.Functor.Covariant.Covariant (Pandora.Paradigm.Schemes.UT.UT Pandora.Pattern.Functor.Covariant.Covariant Pandora.Pattern.Functor.Covariant.Covariant (Pandora.Paradigm.Primary.Functor.Conclusion.Conclusion e) u)
- Pandora.Paradigm.Primary.Functor.Conclusion: instance Pandora.Pattern.Functor.Monad.Monad u => Pandora.Pattern.Functor.Monad.Monad (Pandora.Paradigm.Schemes.UT.UT Pandora.Pattern.Functor.Covariant.Covariant Pandora.Pattern.Functor.Covariant.Covariant (Pandora.Paradigm.Primary.Functor.Conclusion.Conclusion e) u)
- Pandora.Paradigm.Primary.Functor.Conclusion: instance Pandora.Pattern.Functor.Pointable.Pointable u => Pandora.Pattern.Functor.Pointable.Pointable (Pandora.Paradigm.Schemes.UT.UT Pandora.Pattern.Functor.Covariant.Covariant Pandora.Pattern.Functor.Covariant.Covariant (Pandora.Paradigm.Primary.Functor.Conclusion.Conclusion e) u)
- Pandora.Paradigm.Primary.Functor.Maybe: instance (Pandora.Pattern.Functor.Pointable.Pointable u, Pandora.Pattern.Functor.Bindable.Bindable u) => Pandora.Pattern.Functor.Bindable.Bindable (Pandora.Paradigm.Schemes.UT.UT Pandora.Pattern.Functor.Covariant.Covariant Pandora.Pattern.Functor.Covariant.Covariant Pandora.Paradigm.Primary.Functor.Maybe.Maybe u)
- Pandora.Paradigm.Primary.Functor.Maybe: instance Pandora.Pattern.Functor.Applicative.Applicative u => Pandora.Pattern.Functor.Applicative.Applicative (Pandora.Paradigm.Schemes.UT.UT Pandora.Pattern.Functor.Covariant.Covariant Pandora.Pattern.Functor.Covariant.Covariant Pandora.Paradigm.Primary.Functor.Maybe.Maybe u)
- Pandora.Paradigm.Primary.Functor.Maybe: instance Pandora.Pattern.Functor.Covariant.Covariant u => Pandora.Pattern.Functor.Covariant.Covariant (Pandora.Paradigm.Schemes.UT.UT Pandora.Pattern.Functor.Covariant.Covariant Pandora.Pattern.Functor.Covariant.Covariant Pandora.Paradigm.Primary.Functor.Maybe.Maybe u)
- Pandora.Paradigm.Primary.Functor.Maybe: instance Pandora.Pattern.Functor.Monad.Monad u => Pandora.Pattern.Functor.Monad.Monad (Pandora.Paradigm.Schemes.UT.UT Pandora.Pattern.Functor.Covariant.Covariant Pandora.Pattern.Functor.Covariant.Covariant Pandora.Paradigm.Primary.Functor.Maybe.Maybe u)
- Pandora.Paradigm.Primary.Functor.Maybe: instance Pandora.Pattern.Functor.Pointable.Pointable u => Pandora.Pattern.Functor.Pointable.Pointable (Pandora.Paradigm.Schemes.UT.UT Pandora.Pattern.Functor.Covariant.Covariant Pandora.Pattern.Functor.Covariant.Covariant Pandora.Paradigm.Primary.Functor.Maybe.Maybe u)
- Pandora.Paradigm.Primary.Functor.Product: curry :: ((a :*: b) -> c) -> a -> b -> c
- Pandora.Paradigm.Primary.Functor.Product: instance (Pandora.Pattern.Object.Group.Group s, Pandora.Pattern.Object.Group.Group a) => Pandora.Pattern.Object.Group.Group (Pandora.Paradigm.Primary.Functor.Product.Product s a)
- Pandora.Paradigm.Primary.Functor.Product: instance (Pandora.Pattern.Object.Lattice.Lattice s, Pandora.Pattern.Object.Lattice.Lattice a) => Pandora.Pattern.Object.Lattice.Lattice (Pandora.Paradigm.Primary.Functor.Product.Product s a)
- Pandora.Paradigm.Primary.Functor.Product: instance (Pandora.Pattern.Object.Monoid.Monoid s, Pandora.Pattern.Object.Monoid.Monoid a) => Pandora.Pattern.Object.Monoid.Monoid (Pandora.Paradigm.Primary.Functor.Product.Product s a)
- Pandora.Paradigm.Primary.Functor.Product: instance (Pandora.Pattern.Object.Quasiring.Quasiring s, Pandora.Pattern.Object.Quasiring.Quasiring a) => Pandora.Pattern.Object.Quasiring.Quasiring (Pandora.Paradigm.Primary.Functor.Product.Product s a)
- Pandora.Paradigm.Primary.Functor.Product: instance (Pandora.Pattern.Object.Ringoid.Ringoid s, Pandora.Pattern.Object.Ringoid.Ringoid a) => Pandora.Pattern.Object.Ringoid.Ringoid (Pandora.Paradigm.Primary.Functor.Product.Product s a)
- Pandora.Paradigm.Primary.Functor.Product: instance (Pandora.Pattern.Object.Semigroup.Semigroup s, Pandora.Pattern.Object.Semigroup.Semigroup a) => Pandora.Pattern.Object.Semigroup.Semigroup (Pandora.Paradigm.Primary.Functor.Product.Product s a)
- Pandora.Paradigm.Primary.Functor.Product: instance (Pandora.Pattern.Object.Semilattice.Infimum s, Pandora.Pattern.Object.Semilattice.Infimum a) => Pandora.Pattern.Object.Semilattice.Infimum (Pandora.Paradigm.Primary.Functor.Product.Product s a)
- Pandora.Paradigm.Primary.Functor.Product: instance (Pandora.Pattern.Object.Semilattice.Supremum s, Pandora.Pattern.Object.Semilattice.Supremum a) => Pandora.Pattern.Object.Semilattice.Supremum (Pandora.Paradigm.Primary.Functor.Product.Product s a)
- Pandora.Paradigm.Primary.Functor.Product: instance (Pandora.Pattern.Object.Setoid.Setoid s, Pandora.Pattern.Object.Setoid.Setoid a) => Pandora.Pattern.Object.Setoid.Setoid (Pandora.Paradigm.Primary.Functor.Product.Product s a)
- Pandora.Paradigm.Primary.Functor.Product: instance Pandora.Paradigm.Structure.Ability.Monotonic.Monotonic e a => Pandora.Paradigm.Structure.Ability.Monotonic.Monotonic (Pandora.Paradigm.Primary.Functor.Product.Product a e) a
- Pandora.Paradigm.Primary.Functor.Product: uncurry :: (a -> b -> c) -> (a :*: b) -> c
- Pandora.Paradigm.Primary.Transformer.Construction: coiterate :: Covariant t => (a |-> t) -> a |-> Construction t
- Pandora.Paradigm.Primary.Transformer.Construction: instance (Pandora.Pattern.Functor.Applicative.Applicative t, Pandora.Pattern.Functor.Applicative.Applicative u) => Pandora.Pattern.Functor.Applicative.Applicative (u Pandora.Paradigm.Schemes.TU.<:.> Pandora.Paradigm.Primary.Transformer.Construction.Construction t)
- Pandora.Paradigm.Primary.Transformer.Construction: instance (Pandora.Pattern.Functor.Avoidable.Avoidable t, Pandora.Pattern.Functor.Pointable.Pointable u) => Pandora.Pattern.Functor.Pointable.Pointable (u Pandora.Paradigm.Schemes.TU.<:.> Pandora.Paradigm.Primary.Transformer.Construction.Construction t)
- Pandora.Paradigm.Primary.Transformer.Construction: instance (Pandora.Pattern.Functor.Covariant.Covariant t, Pandora.Pattern.Functor.Alternative.Alternative u) => Pandora.Pattern.Functor.Alternative.Alternative (u Pandora.Paradigm.Schemes.TU.<:.> Pandora.Paradigm.Primary.Transformer.Construction.Construction t)
- Pandora.Paradigm.Primary.Transformer.Construction: instance (Pandora.Pattern.Functor.Covariant.Covariant t, Pandora.Pattern.Functor.Avoidable.Avoidable u) => Pandora.Pattern.Functor.Avoidable.Avoidable (u Pandora.Paradigm.Schemes.TU.<:.> Pandora.Paradigm.Primary.Transformer.Construction.Construction t)
- Pandora.Paradigm.Primary.Transformer.Construction: instance (Pandora.Pattern.Functor.Covariant.Covariant t, Pandora.Pattern.Functor.Covariant.Covariant u) => Pandora.Pattern.Functor.Covariant.Covariant (u Pandora.Paradigm.Schemes.TU.<:.> Pandora.Paradigm.Primary.Transformer.Construction.Construction t)
- Pandora.Paradigm.Primary.Transformer.Construction: instance (Pandora.Pattern.Functor.Traversable.Traversable t, Pandora.Pattern.Functor.Traversable.Traversable u) => Pandora.Pattern.Functor.Traversable.Traversable (u Pandora.Paradigm.Schemes.TU.<:.> 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.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.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.Object.Setoid.Setoid (Pandora.Paradigm.Primary.Transformer.Construction.Construction t a)
- Pandora.Paradigm.Primary.Transformer.Tap: instance (Pandora.Pattern.Functor.Extractable.Extractable t, Pandora.Pattern.Functor.Extendable.Extendable t) => Pandora.Pattern.Functor.Extendable.Extendable (Pandora.Paradigm.Primary.Transformer.Tap.Tap t)
- Pandora.Paradigm.Schemes.TU: instance forall k1 k2 k3 (ct :: k3) (cu :: k2) (t :: k1 -> *) (u :: * -> k1). Pandora.Paradigm.Controlflow.Effect.Interpreted.Interpreted (Pandora.Paradigm.Schemes.TU.TU ct cu t u)
- Pandora.Paradigm.Schemes.TUT: instance forall k1 k2 k3 k4 k5 (ct :: k5) (ct' :: k4) (cu :: k3) (t :: k2 -> *) (t' :: * -> k1) (u :: k1 -> k2). Pandora.Paradigm.Controlflow.Effect.Interpreted.Interpreted (Pandora.Paradigm.Schemes.TUT.TUT ct ct' cu t t' u)
- Pandora.Paradigm.Schemes.TUVW: instance forall k1 k2 k3 k4 k5 k6 k7 (ct :: k7) (cu :: k6) (cv :: k5) (cw :: k4) (t :: k3 -> *) (u :: k2 -> k3) (v :: k1 -> k2) (w :: * -> k1). Pandora.Paradigm.Controlflow.Effect.Interpreted.Interpreted (Pandora.Paradigm.Schemes.TUVW.TUVW ct cu cv cw t u v w)
- Pandora.Paradigm.Schemes.UT: instance forall k1 k2 k3 (ct :: k3) (cu :: k2) (t :: * -> k1) (u :: k1 -> *). Pandora.Paradigm.Controlflow.Effect.Interpreted.Interpreted (Pandora.Paradigm.Schemes.UT.UT ct cu t u)
- Pandora.Paradigm.Schemes.UTU: instance forall k1 k2 k3 k4 (ct :: k4) (cu :: k3) (t :: k1 -> k2) (u :: k2 -> *) (u' :: * -> k1). Pandora.Paradigm.Controlflow.Effect.Interpreted.Interpreted (Pandora.Paradigm.Schemes.UTU.UTU ct cu t u u')
- Pandora.Paradigm.Structure.Ability.Monotonic: iterate :: Monotonic e a => (a -> r -> r) -> r -> e -> r
- Pandora.Paradigm.Structure.Interface.Set: class Set t
- Pandora.Paradigm.Structure.Stack: instance Pandora.Paradigm.Structure.Interface.Set.Set Pandora.Paradigm.Structure.Stack.Stack
- Pandora.Paradigm.Structure.Stack: instance Pandora.Pattern.Functor.Covariant.Covariant (Pandora.Paradigm.Primary.Functor.Delta.Delta Pandora.Paradigm.Schemes.TU.<:.> Pandora.Paradigm.Structure.Stack.Stack)
- Pandora.Pattern.Functor.Adjoint: infixl 4 -|
- Pandora.Pattern.Functor.Covariant: (.|..) :: (Category v, Covariant (v a)) => v c d -> ((v a :. v b) := c) -> (v a :. v b) := d
- Pandora.Pattern.Functor.Covariant: (.|...) :: (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: (.|....) :: (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.Paradigm.Controlflow.Effect.Adaptable: instance (Pandora.Pattern.Functor.Covariant.Covariant (t Pandora.Paradigm.Controlflow.Effect.Transformer.Monadic.:> (u Pandora.Paradigm.Controlflow.Effect.Transformer.Monadic.:> v)), Pandora.Pattern.Transformer.Liftable.Liftable (Pandora.Paradigm.Controlflow.Effect.Interpreted.Schematic Pandora.Pattern.Functor.Monad.Monad t), Pandora.Pattern.Functor.Covariant.Covariant (Pandora.Paradigm.Controlflow.Effect.Interpreted.Schematic Pandora.Pattern.Functor.Monad.Monad u v), Pandora.Paradigm.Controlflow.Effect.Adaptable.Wrappable u v) => Pandora.Paradigm.Controlflow.Effect.Adaptable.Adaptable u (t Pandora.Paradigm.Controlflow.Effect.Transformer.Monadic.:> (u Pandora.Paradigm.Controlflow.Effect.Transformer.Monadic.:> v))
+ Pandora.Paradigm.Controlflow.Effect.Adaptable: instance (Pandora.Pattern.Functor.Covariant.Covariant u, 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 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.Functor.Covariant.Covariant v, Pandora.Pattern.Functor.Covariant.Covariant w, 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.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 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 u, Pandora.Pattern.Functor.Covariant.Covariant v, Pandora.Pattern.Functor.Covariant.Covariant w, Pandora.Pattern.Functor.Covariant.Covariant x, 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.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 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 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 u, Pandora.Pattern.Functor.Covariant.Covariant v, Pandora.Pattern.Functor.Covariant.Covariant w, Pandora.Pattern.Functor.Covariant.Covariant x, Pandora.Pattern.Functor.Covariant.Covariant y, 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.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 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 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 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 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 x, Pandora.Pattern.Functor.Covariant.Covariant y, Pandora.Pattern.Functor.Covariant.Covariant z, 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 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 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 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 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 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 u, Pandora.Pattern.Functor.Covariant.Covariant v, Pandora.Pattern.Functor.Covariant.Covariant w, Pandora.Pattern.Functor.Covariant.Covariant x, Pandora.Pattern.Functor.Covariant.Covariant y, Pandora.Pattern.Functor.Covariant.Covariant z, Pandora.Pattern.Functor.Covariant.Covariant f, 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.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.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.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.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.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.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 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 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 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.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.Inventory.State: type Decisive t = (Pointable t, Avoidable t, Alternative t, Applicative t)
+ Pandora.Paradigm.Inventory.State: type Memorable s t = (Pointable t, Applicative t, Stateful s t)
+ Pandora.Paradigm.Primary.Functor.Conclusion: catch :: Catchable e t => t a -> (e -> t a) -> t a
+ Pandora.Paradigm.Primary.Functor.Conclusion: class Catchable e t
+ Pandora.Paradigm.Primary.Functor.Conclusion: instance (Pandora.Pattern.Functor.Pointable.Pointable u, Pandora.Pattern.Functor.Bindable.Bindable u) => Pandora.Pattern.Functor.Bindable.Bindable (Pandora.Paradigm.Primary.Functor.Conclusion.Conclusion e Pandora.Paradigm.Schemes.UT.<.:> u)
+ Pandora.Paradigm.Primary.Functor.Conclusion: instance Pandora.Paradigm.Primary.Functor.Conclusion.Catchable e (Pandora.Paradigm.Primary.Functor.Conclusion.Conclusion e)
+ Pandora.Paradigm.Primary.Functor.Conclusion: instance Pandora.Pattern.Functor.Applicative.Applicative u => Pandora.Pattern.Functor.Applicative.Applicative (Pandora.Paradigm.Primary.Functor.Conclusion.Conclusion e Pandora.Paradigm.Schemes.UT.<.:> u)
+ Pandora.Paradigm.Primary.Functor.Conclusion: instance Pandora.Pattern.Functor.Covariant.Covariant u => Pandora.Pattern.Functor.Covariant.Covariant (Pandora.Paradigm.Primary.Functor.Conclusion.Conclusion e Pandora.Paradigm.Schemes.UT.<.:> u)
+ Pandora.Paradigm.Primary.Functor.Conclusion: instance Pandora.Pattern.Functor.Monad.Monad u => Pandora.Paradigm.Primary.Functor.Conclusion.Catchable e (Pandora.Paradigm.Primary.Functor.Conclusion.Conclusion e Pandora.Paradigm.Schemes.UT.<.:> u)
+ Pandora.Paradigm.Primary.Functor.Conclusion: instance Pandora.Pattern.Functor.Monad.Monad u => Pandora.Pattern.Functor.Monad.Monad (Pandora.Paradigm.Primary.Functor.Conclusion.Conclusion e Pandora.Paradigm.Schemes.UT.<.:> u)
+ Pandora.Paradigm.Primary.Functor.Conclusion: instance Pandora.Pattern.Functor.Pointable.Pointable u => Pandora.Pattern.Functor.Pointable.Pointable (Pandora.Paradigm.Primary.Functor.Conclusion.Conclusion e Pandora.Paradigm.Schemes.UT.<.:> u)
+ Pandora.Paradigm.Primary.Functor.Delta: instance Pandora.Pattern.Functor.Extendable.Extendable Pandora.Paradigm.Primary.Functor.Delta.Delta
+ Pandora.Paradigm.Primary.Functor.Maybe: instance (Pandora.Pattern.Functor.Pointable.Pointable u, Pandora.Pattern.Functor.Bindable.Bindable u) => Pandora.Pattern.Functor.Bindable.Bindable (Pandora.Paradigm.Primary.Functor.Maybe.Maybe Pandora.Paradigm.Schemes.UT.<.:> u)
+ Pandora.Paradigm.Primary.Functor.Maybe: instance Pandora.Pattern.Functor.Applicative.Applicative u => Pandora.Pattern.Functor.Applicative.Applicative (Pandora.Paradigm.Primary.Functor.Maybe.Maybe Pandora.Paradigm.Schemes.UT.<.:> u)
+ Pandora.Paradigm.Primary.Functor.Maybe: instance Pandora.Pattern.Functor.Covariant.Covariant u => Pandora.Pattern.Functor.Covariant.Covariant (Pandora.Paradigm.Primary.Functor.Maybe.Maybe Pandora.Paradigm.Schemes.UT.<.:> u)
+ Pandora.Paradigm.Primary.Functor.Maybe: instance Pandora.Pattern.Functor.Monad.Monad u => Pandora.Pattern.Functor.Monad.Monad (Pandora.Paradigm.Primary.Functor.Maybe.Maybe Pandora.Paradigm.Schemes.UT.<.:> u)
+ Pandora.Paradigm.Primary.Functor.Maybe: instance Pandora.Pattern.Functor.Pointable.Pointable u => Pandora.Pattern.Functor.Pointable.Pointable (Pandora.Paradigm.Primary.Functor.Maybe.Maybe Pandora.Paradigm.Schemes.UT.<.:> u)
+ Pandora.Paradigm.Primary.Functor.Predicate: equate :: Setoid a => a |-> Predicate
+ Pandora.Paradigm.Primary.Functor.Predicate: satisfy :: (Pointable t, Avoidable t) => Predicate a -> a -> t a
+ Pandora.Paradigm.Primary.Functor.Product: instance (Pandora.Pattern.Object.Group.Group s, Pandora.Pattern.Object.Group.Group a) => Pandora.Pattern.Object.Group.Group (s Pandora.Paradigm.Primary.Functor.Product.:*: a)
+ Pandora.Paradigm.Primary.Functor.Product: instance (Pandora.Pattern.Object.Lattice.Lattice s, Pandora.Pattern.Object.Lattice.Lattice a) => Pandora.Pattern.Object.Lattice.Lattice (s Pandora.Paradigm.Primary.Functor.Product.:*: a)
+ Pandora.Paradigm.Primary.Functor.Product: instance (Pandora.Pattern.Object.Monoid.Monoid s, Pandora.Pattern.Object.Monoid.Monoid a) => Pandora.Pattern.Object.Monoid.Monoid (s Pandora.Paradigm.Primary.Functor.Product.:*: a)
+ Pandora.Paradigm.Primary.Functor.Product: instance (Pandora.Pattern.Object.Quasiring.Quasiring s, Pandora.Pattern.Object.Quasiring.Quasiring a) => Pandora.Pattern.Object.Quasiring.Quasiring (s Pandora.Paradigm.Primary.Functor.Product.:*: a)
+ Pandora.Paradigm.Primary.Functor.Product: instance (Pandora.Pattern.Object.Ringoid.Ringoid s, Pandora.Pattern.Object.Ringoid.Ringoid a) => Pandora.Pattern.Object.Ringoid.Ringoid (s Pandora.Paradigm.Primary.Functor.Product.:*: a)
+ Pandora.Paradigm.Primary.Functor.Product: instance (Pandora.Pattern.Object.Semigroup.Semigroup s, Pandora.Pattern.Object.Semigroup.Semigroup a) => Pandora.Pattern.Object.Semigroup.Semigroup (s Pandora.Paradigm.Primary.Functor.Product.:*: a)
+ Pandora.Paradigm.Primary.Functor.Product: instance (Pandora.Pattern.Object.Semilattice.Infimum s, Pandora.Pattern.Object.Semilattice.Infimum a) => Pandora.Pattern.Object.Semilattice.Infimum (s Pandora.Paradigm.Primary.Functor.Product.:*: a)
+ Pandora.Paradigm.Primary.Functor.Product: instance (Pandora.Pattern.Object.Semilattice.Supremum s, Pandora.Pattern.Object.Semilattice.Supremum a) => Pandora.Pattern.Object.Semilattice.Supremum (s Pandora.Paradigm.Primary.Functor.Product.:*: a)
+ Pandora.Paradigm.Primary.Functor.Product: instance (Pandora.Pattern.Object.Setoid.Setoid s, Pandora.Pattern.Object.Setoid.Setoid a) => Pandora.Pattern.Object.Setoid.Setoid (s Pandora.Paradigm.Primary.Functor.Product.:*: a)
+ Pandora.Paradigm.Primary.Transformer.Construction: instance (Pandora.Pattern.Functor.Applicative.Applicative u, Pandora.Pattern.Functor.Applicative.Applicative t) => Pandora.Pattern.Functor.Applicative.Applicative (t Pandora.Paradigm.Schemes.TU.<:.> Pandora.Paradigm.Primary.Transformer.Construction.Construction u)
+ Pandora.Paradigm.Primary.Transformer.Construction: instance (Pandora.Pattern.Functor.Avoidable.Avoidable u, Pandora.Pattern.Functor.Pointable.Pointable t) => Pandora.Pattern.Functor.Pointable.Pointable (t Pandora.Paradigm.Schemes.TU.<:.> Pandora.Paradigm.Primary.Transformer.Construction.Construction u)
+ Pandora.Paradigm.Primary.Transformer.Construction: instance (Pandora.Pattern.Functor.Covariant.Covariant u, Pandora.Pattern.Functor.Alternative.Alternative t) => Pandora.Pattern.Functor.Alternative.Alternative (t Pandora.Paradigm.Schemes.TU.<:.> Pandora.Paradigm.Primary.Transformer.Construction.Construction u)
+ Pandora.Paradigm.Primary.Transformer.Construction: instance (Pandora.Pattern.Functor.Covariant.Covariant u, Pandora.Pattern.Functor.Avoidable.Avoidable t) => Pandora.Pattern.Functor.Avoidable.Avoidable (t Pandora.Paradigm.Schemes.TU.<:.> Pandora.Paradigm.Primary.Transformer.Construction.Construction u)
+ Pandora.Paradigm.Primary.Transformer.Construction: instance (Pandora.Pattern.Functor.Covariant.Covariant u, Pandora.Pattern.Functor.Covariant.Covariant t) => Pandora.Pattern.Functor.Covariant.Covariant (t Pandora.Paradigm.Schemes.TU.<:.> Pandora.Paradigm.Primary.Transformer.Construction.Construction u)
+ Pandora.Paradigm.Primary.Transformer.Construction: instance (Pandora.Pattern.Functor.Traversable.Traversable u, Pandora.Pattern.Functor.Traversable.Traversable t) => Pandora.Pattern.Functor.Traversable.Traversable (t Pandora.Paradigm.Schemes.TU.<:.> Pandora.Paradigm.Primary.Transformer.Construction.Construction u)
+ 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: iterate :: Covariant t => (a |-> t) -> a |-> Construction t
+ Pandora.Paradigm.Primary.Transformer.Continuation: interruptable :: Pointable t => ((a -> Continuation a t a) -> Continuation a t a) -> t a
+ Pandora.Paradigm.Primary.Transformer.Tap: instance Pandora.Pattern.Functor.Extendable.Extendable t => Pandora.Pattern.Functor.Extendable.Extendable (Pandora.Paradigm.Primary.Transformer.Tap.Tap t)
+ Pandora.Paradigm.Schemes.TU: instance forall k1 k2 k3 (ct :: k1) (cu :: k2) (t :: k3 -> *) (u :: * -> k3). Pandora.Paradigm.Controlflow.Effect.Interpreted.Interpreted (Pandora.Paradigm.Schemes.TU.TU ct cu t u)
+ Pandora.Paradigm.Schemes.TUT: instance forall k1 k2 k3 k4 k5 (ct :: k1) (ct' :: k2) (cu :: k3) (t :: k4 -> *) (t' :: * -> k5) (u :: k5 -> k4). Pandora.Paradigm.Controlflow.Effect.Interpreted.Interpreted (Pandora.Paradigm.Schemes.TUT.TUT ct ct' cu t t' u)
+ Pandora.Paradigm.Schemes.TUVW: instance forall k1 k2 k3 k4 k5 k6 k7 (ct :: k1) (cu :: k2) (cv :: k3) (cw :: k4) (t :: k5 -> *) (u :: k6 -> k5) (v :: k7 -> k6) (w :: * -> k7). Pandora.Paradigm.Controlflow.Effect.Interpreted.Interpreted (Pandora.Paradigm.Schemes.TUVW.TUVW ct cu cv cw t u v w)
+ Pandora.Paradigm.Schemes.UT: instance forall k1 k2 k3 (ct :: k1) (cu :: k2) (t :: * -> k3) (u :: k3 -> *). Pandora.Paradigm.Controlflow.Effect.Interpreted.Interpreted (Pandora.Paradigm.Schemes.UT.UT ct cu t u)
+ Pandora.Paradigm.Schemes.UTU: instance forall k1 k2 k3 k4 (ct :: k1) (cu :: k2) (t :: k3 -> k4) (u :: k4 -> *) (u' :: * -> k3). Pandora.Paradigm.Controlflow.Effect.Interpreted.Interpreted (Pandora.Paradigm.Schemes.UTU.UTU ct cu t u u')
+ Pandora.Paradigm.Structure: instance Pandora.Paradigm.Structure.Ability.Monotonic.Monotonic a s => Pandora.Paradigm.Structure.Ability.Monotonic.Monotonic (s Pandora.Paradigm.Primary.Functor.Product.:*: a) s
+ Pandora.Paradigm.Structure: instance Pandora.Paradigm.Structure.Ability.Substructure.Substructure 'Pandora.Paradigm.Primary.Functor.Wye.Left Pandora.Paradigm.Primary.Functor.Delta.Delta
+ Pandora.Paradigm.Structure: instance Pandora.Paradigm.Structure.Ability.Substructure.Substructure 'Pandora.Paradigm.Primary.Functor.Wye.Left t => Pandora.Paradigm.Structure.Ability.Substructure.Substructure 'Pandora.Paradigm.Primary.Functor.Wye.Left (Pandora.Paradigm.Primary.Transformer.Tap.Tap (t Pandora.Paradigm.Schemes.TU.<:.> u))
+ Pandora.Paradigm.Structure: instance Pandora.Paradigm.Structure.Ability.Substructure.Substructure 'Pandora.Paradigm.Primary.Functor.Wye.Right Pandora.Paradigm.Primary.Functor.Delta.Delta
+ Pandora.Paradigm.Structure: instance Pandora.Paradigm.Structure.Ability.Substructure.Substructure 'Pandora.Paradigm.Primary.Functor.Wye.Right t => Pandora.Paradigm.Structure.Ability.Substructure.Substructure 'Pandora.Paradigm.Primary.Functor.Wye.Right (Pandora.Paradigm.Primary.Transformer.Tap.Tap (t Pandora.Paradigm.Schemes.TU.<:.> u))
+ Pandora.Paradigm.Structure.Ability.Monotonic: bypass :: Monotonic e a => (a -> r -> r) -> r -> e -> r
+ Pandora.Paradigm.Structure.Ability.Monotonic: find :: (Monotonic e a, Pointable t, Avoidable t) => Predicate a -> e -> t a
+ Pandora.Paradigm.Structure.Ability.Rotatable: type family Rotational (f :: k) (t :: * -> *) a;
+ Pandora.Paradigm.Structure.Ability.Rotatable: }
+ Pandora.Paradigm.Structure.Interface.Set: subset :: (Monotonic (t a) a, Traversable t, Setoid a, Setoid (t a)) => t a -> t a -> Boolean
+ Pandora.Paradigm.Structure.Stack: backward' :: Zipper (Nonempty Stack) a -> Maybe (Zipper (Nonempty Stack) a)
+ Pandora.Paradigm.Structure.Stack: forward' :: Zipper (Nonempty Stack) a -> Maybe (Zipper (Nonempty Stack) a)
+ Pandora.Paradigm.Structure.Stack: instance Pandora.Paradigm.Structure.Ability.Monotonic.Monotonic ((Pandora.Paradigm.Primary.Functor.Maybe.Maybe Pandora.Core.Functor.:. Pandora.Paradigm.Primary.Transformer.Construction.Construction Pandora.Paradigm.Primary.Functor.Maybe.Maybe) Pandora.Core.Functor.:= a) a
+ Pandora.Paradigm.Structure.Stack: instance Pandora.Paradigm.Structure.Ability.Monotonic.Monotonic ((Pandora.Paradigm.Primary.Functor.Maybe.Maybe Pandora.Paradigm.Schemes.TU.<:.> Pandora.Paradigm.Primary.Transformer.Construction.Construction Pandora.Paradigm.Primary.Functor.Maybe.Maybe) Pandora.Core.Functor.:= a) a
+ Pandora.Paradigm.Structure.Stack: instance Pandora.Paradigm.Structure.Ability.Monotonic.Monotonic (Pandora.Paradigm.Primary.Transformer.Construction.Construction Pandora.Paradigm.Primary.Functor.Maybe.Maybe a) a
+ Pandora.Paradigm.Structure.Stream: instance Pandora.Paradigm.Structure.Ability.Rotatable.Rotatable 'Pandora.Paradigm.Primary.Functor.Wye.Left (Pandora.Paradigm.Primary.Transformer.Tap.Tap (Pandora.Paradigm.Primary.Functor.Delta.Delta Pandora.Paradigm.Schemes.TU.<:.> Pandora.Paradigm.Structure.Stream.Stream))
+ Pandora.Paradigm.Structure.Stream: instance Pandora.Paradigm.Structure.Ability.Rotatable.Rotatable 'Pandora.Paradigm.Primary.Functor.Wye.Right (Pandora.Paradigm.Primary.Transformer.Tap.Tap (Pandora.Paradigm.Primary.Functor.Delta.Delta Pandora.Paradigm.Schemes.TU.<:.> Pandora.Paradigm.Structure.Stream.Stream))
+ Pandora.Paradigm.Structure.Stream: repeat :: a -> Stream a
+ Pandora.Pattern: (.|..) :: (Category v, Covariant (v a)) => v c d -> ((v a :. v b) := c) -> (v a :. v b) := d
+ Pandora.Pattern: (.|...) :: (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: (.|....) :: (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.Adjoint: infixl 3 -|
+ Pandora.Pattern.Functor.Monad: (-=<<) :: Monad t => t a -> t b -> t b
+ Pandora.Pattern.Functor.Monad: (->>=) :: Monad t => t a -> t b -> t b
+ Pandora.Pattern.Functor.Monad: (=<<-) :: Monad t => t a -> t b -> t a
+ Pandora.Pattern.Functor.Monad: (>>=-) :: Monad t => t a -> t b -> t a
+ Pandora.Pattern.Functor.Monad: infixl 1 >>=-
+ Pandora.Pattern.Functor.Monad: infixr 1 -=<<
- Pandora.Paradigm.Inventory.State: fold :: Traversable t => s -> (a -> s -> s) -> t a -> s
+ Pandora.Paradigm.Inventory.State: fold :: (Traversable t, Memorable s u) => (a -> s -> s) -> t a -> u s
- Pandora.Paradigm.Structure.Ability.Rotatable: class Rotatable (f :: k) t
+ Pandora.Paradigm.Structure.Ability.Rotatable: class Rotatable f t where {
- Pandora.Paradigm.Structure.Ability.Rotatable: rotate :: forall f t a. Rotatable f t => t a -> Maybe (t a)
+ Pandora.Paradigm.Structure.Ability.Rotatable: rotate :: forall f t a. Rotatable f t => t a -> Rotational f t a
- Pandora.Paradigm.Structure.Ability.Rotatable: rotation :: Rotatable f t => Tagged f (t a) -> Maybe (t a)
+ Pandora.Paradigm.Structure.Ability.Rotatable: rotation :: Rotatable f t => Tagged f (t a) -> Rotational f t a
- Pandora.Paradigm.Structure.Interface.Set: member :: (Set t, Setoid a) => a -> t a -> Boolean
+ Pandora.Paradigm.Structure.Interface.Set: member :: (Setoid a, Monotonic e a) => a -> e -> Boolean
- Pandora.Paradigm.Structure.Stack: filter :: Predicate a -> Stack a -> Stack a
+ Pandora.Paradigm.Structure.Stack: filter :: forall a. Predicate a -> Stack a -> Stack a
- Pandora.Paradigm.Structure.Stack: linearize :: Traversable t => t ~> Stack
+ Pandora.Paradigm.Structure.Stack: linearize :: forall t a. Traversable t => t a -> Stack a

Files

CHANGELOG.md view
@@ -68,7 +68,6 @@ * Rename `ask` to `env` method of `Environmental` datatype * Introduce `><` type operator to separate functors from its arguments * Define `Determinable` typeclass and define its instance for `Predicate`-* Define `curry` and `uncurry` for `Product` datatype * Flip arguments of `statefully` method of `Stateful` datatype * Exclude inner effects from `Environmental`, `Storage` and `Stateful` datatypes @@ -269,3 +268,17 @@ * Remove `lay` method of `Monadic` type class, use `lift` instead * Remove `flick` method of `Comonadic` type class, use `lower` instead * Change `lift` constraint: from `Covariant` to `Traversable`++# 0.3.2+* Define experimental methods: `->>=`, `>>=-`, `-=<<`, `=<<-`+* Define `interruptable` method for `Continuation`+* Define `Catchable` typeclass to catch errors from `Conclusion`+* Define `repeat` method of `Stream` datatype+* Define `subset` method of `Set` interface+* Define `satisfy` method in `Predicate` module+* Make `fold` and `find` stateful expressions+* Define `equate` method of `Predicate` dataype+* Define `Zipper` instance of `Nonempty Stack`+* Define `forward'` and `backward'` methods for `Zipper` of `Nonempty Stack`+* Rename `iterate` method of `Monotonic` typeclass to `bypass`+* Rename `coiterate` method of `Construction` datatype to `iterate`
Pandora/Paradigm/Controlflow/Effect/Adaptable.hs view
@@ -7,7 +7,6 @@ import Pandora.Pattern.Functor.Covariant (Covariant) import Pandora.Pattern.Functor.Pointable (Pointable) import Pandora.Pattern.Functor.Extractable (Extractable)-import Pandora.Pattern.Functor.Traversable (Traversable) import Pandora.Pattern.Functor.Comonad (Comonad) import Pandora.Pattern.Functor.Monad (Monad) import Pandora.Pattern.Transformer (Liftable (lift), Lowerable (lower), Hoistable (hoist))@@ -18,7 +17,7 @@ 	{-# MINIMAL adapt #-} 	adapt :: t ~> u -type Lifting t u = (Transformer Monad t, Liftable (Schematic Monad t), Traversable u)+type Lifting t u = (Transformer Monad t, Liftable (Schematic Monad t), Covariant u) type Lowering t u = (Transformer Comonad t, Lowerable (Schematic Comonad t), Covariant u) type Wrappable t u = (Transformer Monad t, Pointable u) type Bringable t u = (Transformer Comonad t, Extractable u)@@ -41,7 +40,7 @@ instance 	( Covariant (t :> u :> v) 	, Liftable (Schematic Monad t)-	, Traversable (Schematic Monad u v)+	, Covariant (Schematic Monad u v) 	, Wrappable u v 	) => Adaptable u (t :> u :> v) where 	adapt = lift . wrap@@ -328,7 +327,7 @@ instance 	( Covariant u 	, Covariant v-	, Traversable (Schematic Monad u v)+	, Covariant (Schematic Monad u v) 	, Hoistable ((:>) (t :> u)) 	, Hoistable (Schematic Monad t) 	, Hoistable (Schematic Monad u)@@ -338,9 +337,9 @@  instance 	( Covariant u, Covariant v, Covariant w-	, Traversable (Schematic Monad u v)-	, Traversable (Schematic Monad u (v :> w))-	, Traversable (Schematic Monad v 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)@@ -351,11 +350,11 @@  instance 	( Covariant u, Covariant v, Covariant w, Covariant x-	, Traversable (Schematic Monad u v)-	, Traversable (Schematic Monad u (v :> w))-	, Traversable (Schematic Monad v (w :> x))-	, Traversable (Schematic Monad u (v :> (w :> x)))-	, Traversable (Schematic Monad w x)+	, Covariant (Schematic Monad u v)+	, Covariant (Schematic Monad u (v :> w))+	, 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)@@ -364,3 +363,128 @@ 	, Adaptable x x' 	) => Adaptable (t :> u :> v :> w :> x) (t :> u :> v :> w :> x') where 	adapt = hoist (hoist (hoist (hoist adapt)))++instance+	( Covariant u, Covariant v, Covariant w, Covariant x, Covariant y+	, 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 v (w :> x))+	, Covariant (Schematic Monad v (w :> (x :> y)))+	, Covariant (Schematic Monad w (x :> y))+	, Covariant (Schematic Monad x y)+	, Hoistable ((:>) (t :> u :> v :> w))+	, Hoistable (Schematic Monad t)+	, Hoistable (Schematic Monad u)+	, Hoistable (Schematic Monad v)+	, Hoistable (Schematic Monad w)+	, Hoistable (Schematic Monad x)+	, Adaptable y y'+	) => Adaptable (t :> u :> v :> w :> x :> y) (t :> u :> v :> w :> x :> y') where+	adapt = hoist (hoist (hoist (hoist (hoist adapt))))++instance+	( Covariant u, Covariant v, Covariant w, Covariant x, Covariant y, Covariant z+	, 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 v (w :> x))+	, Covariant (Schematic Monad v (w :> (x :> y)))+	, Covariant (Schematic Monad v (w :> (x :> (y :> z))))+	, Covariant (Schematic Monad w (x :> y))+	, Covariant (Schematic Monad w (x :> (y :> z)))+	, Covariant (Schematic Monad x y)+	, Covariant (Schematic Monad x (y :> z))+	, Covariant (Schematic Monad y z)+	, Hoistable ((:>) (t :> u :> v :> w))+	, Hoistable (Schematic Monad t)+	, Hoistable (Schematic Monad u)+	, Hoistable (Schematic Monad v)+	, Hoistable (Schematic Monad w)+	, Hoistable (Schematic Monad x)+	, Hoistable (Schematic Monad y)+	, Adaptable z z'+	) => Adaptable (t :> u :> v :> w :> x :> y :> z)+		(t :> u :> v :> w :> x :> y :> z') where+	adapt = hoist (hoist (hoist (hoist (hoist adapt))))++instance+	( Covariant u, Covariant v, Covariant w, Covariant x+	, Covariant y, Covariant z, 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 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 w (x :> y))+	, Covariant (Schematic Monad w (x :> (y :> z)))+	, 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 y z)+	, Covariant (Schematic Monad y (z :> f))+	, Covariant (Schematic Monad z f)+	, Hoistable ((:>) (t :> u :> v :> w))+	, Hoistable (Schematic Monad t)+	, Hoistable (Schematic Monad u)+	, Hoistable (Schematic Monad v)+	, Hoistable (Schematic Monad w)+	, Hoistable (Schematic Monad x)+	, Hoistable (Schematic Monad y)+	, Hoistable (Schematic Monad z)+	, Adaptable f f'+	) => Adaptable (t :> u :> v :> w :> x :> y :> z :> f)+		(t :> u :> v :> w :> x :> y :> z :> f') where+	adapt = hoist (hoist (hoist (hoist (hoist (hoist adapt)))))++instance+	( Covariant u, Covariant v, Covariant w, Covariant x+	, Covariant y, Covariant z, Covariant f, Covariant h+	, 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 :> h)))))))+	, 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 :> h))))))+	, 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 :> 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 y z)+	, Covariant (Schematic Monad y (z :> f))+	, Covariant (Schematic Monad y (z :> (f :> h)))+	, Covariant (Schematic Monad z f)+	, Covariant (Schematic Monad z (f :> h))+	, Covariant (Schematic Monad f h)+	, Hoistable ((:>) (t :> u :> v :> w))+	, Hoistable (Schematic Monad t)+	, Hoistable (Schematic Monad u)+	, Hoistable (Schematic Monad v)+	, Hoistable (Schematic Monad w)+	, Hoistable (Schematic Monad x)+	, Hoistable (Schematic Monad y)+	, Hoistable (Schematic Monad z)+	, Hoistable (Schematic Monad f)+	, Adaptable h h'+	) => Adaptable (t :> u :> v :> w :> x :> y :> z :> f :> h)+		(t :> u :> v :> w :> x :> y :> z :> f :> h') where+	adapt = hoist (hoist (hoist (hoist (hoist (hoist (hoist adapt))))))
Pandora/Paradigm/Controlflow/Effect/Transformer/Comonadic.hs view
@@ -62,4 +62,4 @@  instance (Interpreted (Schematic Comonad t u)) => Interpreted (t :< u) where 	type Primary (t :< u) a = Primary (Schematic Comonad t u) a-	run (TC x) = run x+	run ~(TC x) = run x
Pandora/Paradigm/Controlflow/Effect/Transformer/Monadic.hs view
@@ -9,6 +9,7 @@ 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.Distributive (Distributive ((>>-))) import Pandora.Pattern.Functor.Traversable (Traversable ((->>))) import Pandora.Pattern.Functor.Bindable (Bindable ((>>=)))@@ -40,6 +41,9 @@ 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 Traversable (Schematic Monad t u) => Traversable (t :> u) where 	TM x ->> f = TM <$> x ->> f @@ -62,4 +66,4 @@  instance (Interpreted (Schematic Monad t u)) => Interpreted (t :> u) where 	type Primary (t :> u) a = Primary (Schematic Monad t u) a-	run (TM x) = run x+	run ~(TM x) = run x
Pandora/Paradigm/Inventory/Accumulator.hs view
@@ -36,7 +36,7 @@  instance Interpreted (Accumulator e) where 	type Primary (Accumulator e) a = e :*: a-	run (Accumulator x) = x+	run ~(Accumulator x) = x  instance Monoid e => Monadic (Accumulator e) where 	wrap = TM . UT . point . run
Pandora/Paradigm/Inventory/Environment.hs view
@@ -36,7 +36,7 @@  instance Interpreted (Environment e) where 	type Primary (Environment e) a = (->) e a-	run (Environment x) = x+	run ~(Environment x) = x  type instance Schematic Monad (Environment e) = (<:.>) ((->) e) 
Pandora/Paradigm/Inventory/Equipment.hs view
@@ -26,7 +26,7 @@  instance Interpreted (Equipment e) where 	type Primary (Equipment e) a = e :*: a-	run (Equipment x) = x+	run ~(Equipment x) = x  type instance Schematic Comonad (Equipment e) = (<:.>) ((:*:) e) 
Pandora/Paradigm/Inventory/Imprint.hs view
@@ -32,7 +32,7 @@  instance Interpreted (Imprint e) where 	type Primary (Imprint e) a = (->) e a-	run (Imprint x) = x+	run ~(Imprint x) = x  type instance Schematic Comonad (Imprint e) = (<.:>) ((->) e) 
Pandora/Paradigm/Inventory/State.hs view
@@ -3,42 +3,43 @@ module Pandora.Paradigm.Inventory.State where  import Pandora.Core.Functor (type (:.), type (:=))-import Pandora.Core.Morphism ((%)) import Pandora.Pattern.Category (identity, (.), ($))-import Pandora.Pattern.Functor (Covariant ((<$>), (<$$>)), Avoidable (empty), Pointable (point), Applicative ((<*>), (*>)), Alternative ((<+>)), Traversable ((->>)), Bindable ((>>=), (>=>)), Monad, extract, (-|), (|-), (<*+>))-import Pandora.Paradigm.Controlflow (Adaptable (adapt), Interpreted (Primary, run), Monadic (wrap), (:>) (TM), Schematic)+import Pandora.Pattern.Functor.Covariant (Covariant ((<$>), (<$$>)))+import Pandora.Pattern.Functor.Avoidable (Avoidable (empty))+import Pandora.Pattern.Functor.Pointable (Pointable (point))+import Pandora.Pattern.Functor.Applicative (Applicative ((<*>), (*>)))+import Pandora.Pattern.Functor.Alternative (Alternative ((<+>)))+import Pandora.Pattern.Functor.Traversable (Traversable ((->>)))+import Pandora.Pattern.Functor.Bindable (Bindable ((>>=), (>=>)))+import Pandora.Pattern.Functor.Monad (Monad)+import Pandora.Pattern.Functor.Adjoint ((-|), (|-))+import Pandora.Pattern.Functor.Bivariant ((<->))+import Pandora.Pattern.Functor ((<*+>))+import Pandora.Paradigm.Controlflow.Effect.Adaptable (Adaptable (adapt))+import Pandora.Paradigm.Controlflow.Effect.Interpreted (Interpreted (Primary, run), Schematic)+import Pandora.Paradigm.Controlflow.Effect.Transformer.Monadic (Monadic (wrap), (:>) (TM)) import Pandora.Paradigm.Schemes.TUT (TUT (TUT), type (<:<.>:>))-import Pandora.Paradigm.Primary.Functor (Predicate (Predicate), Product ((:*:)), type (:*:), delta)-import Pandora.Paradigm.Primary.Object (bool)+import Pandora.Paradigm.Primary.Functor (Product ((:*:)), type (:*:), delta)  newtype State s a = State ((->) s :. (:*:) s := a)  instance Covariant (State s) where-	f <$> State x = State $ \old -> f <$> x old+	f <$> x = State $ (<$>) f . run x  instance Applicative (State s) where-	State f <*> State x = State $ \old ->-		let (new :*: g) = f old in g <$> x new+	f <*> x = State $ (|- (<$>)) . (run x <-> identity) . run f  instance Pointable (State s) where 	point = State . (-| identity)  instance Bindable (State s) where-	State x >>= f = State $ \old ->-		(|- run) $ f <$> x old+	x >>= f = State $ (|- run) . (<$>) f . run x  instance Monad (State s) where -fold :: Traversable t => s -> (a -> s -> s) -> t a -> s-fold start op struct = extract . run @(State _) % start-	$ struct ->> modify . op *> current--find :: (Pointable u, Avoidable u, Alternative u, Traversable t) => Predicate a -> t a -> u a-find (Predicate p) = fold empty (\x s -> (<+>) s . bool empty (point x) . p $ x)- instance Interpreted (State s) where 	type Primary (State s) a = (->) s :. (:*:) s := a-	run (State x) = x+	run ~(State x) = x  type instance Schematic Monad (State s) = (->) s <:<.>:> (:*:) s @@ -48,21 +49,21 @@ type Stateful s = Adaptable (State s)  instance Covariant u => Covariant ((->) s <:<.>:> (:*:) s := u) where-	f <$> TUT x = TUT $ (<$$>) f . x+	f <$> x = TUT $ (<$$>) f . run x  instance Bindable u => Applicative ((->) s <:<.>:> (:*:) s := u) where-	TUT f <*> TUT x = TUT $ f >=> \(new :*: g) -> g <$$> x new+	f <*> x = TUT $ run f >=> \ ~(new :*: g) -> g <$$> run x new  instance Pointable u => Pointable ((->) s <:<.>:> (:*:) s := u) where 	point = TUT . (-| point)  instance Bindable u => Bindable ((->) s <:<.>:> (:*:) s := u) where-	TUT x >>= f = TUT $ x >=> \(new :*: y) -> ($ new) . run . f $ y+	x >>= f = TUT $ run x >=> \ ~(new :*: y) -> ($ new) . run . f $ y  instance Monad u => Monad ((->) s <:<.>:> (:*:) s := u) where  instance Alternative u => Alternative ((->) s <:<.>:> (:*:) s := u) where-	TUT x <+> TUT y = TUT (x <*+> y)+	x <+> y = TUT $ run x <*+> run y  instance Avoidable u => Avoidable ((->) s <:<.>:> (:*:) s := u) where 	empty = TUT $ \_ -> empty@@ -75,3 +76,10 @@  replace :: Stateful s t => s -> t () replace s = adapt . State $ \_ -> s :*: ()++type Memorable s t = (Pointable t, Applicative t, Stateful s t)++fold :: (Traversable t, Memorable s u) => (a -> s -> s) -> t a -> u s+fold op struct = struct ->> modify . op *> current++type Decisive t = (Pointable t, Avoidable t, Alternative t, Applicative t)
Pandora/Paradigm/Inventory/Store.hs view
@@ -3,13 +3,13 @@ module Pandora.Paradigm.Inventory.Store where  import Pandora.Core (type (:.), type (:=), type (<-|), type (~>), (%))+import Pandora.Pattern ((.|..)) import Pandora.Pattern.Category (identity, (.), ($))-import Pandora.Pattern.Functor (Covariant ((<$>), (<$$>), (<$$$>)), Extractable (extract), Extendable ((=>>), (<<=$)), Comonad, (.|..), (-|), (|-))+import Pandora.Pattern.Functor (Covariant ((<$>), (<$$>), (<$$$>)), Extractable (extract), Extendable ((=>>), (<<=$)), Comonad, (-|), (|-)) import Pandora.Paradigm.Primary.Functor (Product ((:*:)), type (:*:), attached) import Pandora.Paradigm.Controlflow (Adaptable (adapt), Interpreted (Primary, run), Schematic, Comonadic (bring), (:<) (TC)) import Pandora.Paradigm.Schemes.TUT (TUT (TUT), type (<:<.>:>)) - newtype Store p a = Store ((:*:) p :. (->) p := a)  instance Covariant (Store p) where@@ -25,7 +25,7 @@  instance Interpreted (Store p) where 	type Primary (Store p) a = (:*:) p :. (->) p := a-	run (Store x) = x+	run ~(Store x) = x  type instance Schematic Comonad (Store p) = (:*:) p <:<.>:> (->) p 
Pandora/Paradigm/Primary/Functor.hs view
@@ -29,7 +29,7 @@ 	(-|) :: a -> ((s :*: a) -> b) -> (s -> b) 	x -| f = \s -> f $ s :*: x 	(|-) :: (s :*: a) -> (a -> s -> b) -> b-	(s :*: x) |- f = f x s+	~(s :*: x) |- f = f x s  note :: e -> Maybe ~> Conclusion e note x = maybe (Failure x) Success
Pandora/Paradigm/Primary/Functor/Conclusion.hs view
@@ -1,7 +1,7 @@ module Pandora.Paradigm.Primary.Functor.Conclusion where  import Pandora.Core.Functor (type (~>))-import Pandora.Pattern.Category ((.), ($))+import Pandora.Pattern.Category (identity, (.), ($)) import Pandora.Pattern.Functor.Covariant (Covariant ((<$>), (<$$>))) import Pandora.Pattern.Functor.Pointable (Pointable (point)) import Pandora.Pattern.Functor.Alternative (Alternative ((<+>)))@@ -18,7 +18,7 @@ import Pandora.Paradigm.Controlflow.Effect.Interpreted (Schematic, Interpreted (Primary, run)) import Pandora.Paradigm.Controlflow.Effect.Transformer.Monadic (Monadic (wrap), (:>) (TM)) import Pandora.Paradigm.Controlflow.Effect.Adaptable (Adaptable (adapt))-import Pandora.Paradigm.Schemes.UT (UT (UT))+import Pandora.Paradigm.Schemes.UT (UT (UT), type (<.:>))  data Conclusion e a = Failure e | Success a @@ -77,28 +77,38 @@  instance Interpreted (Conclusion e) where 	type Primary (Conclusion e) a = Conclusion e a-	run x = x+	run = identity -type instance Schematic Monad (Conclusion e) = UT Covariant Covariant (Conclusion e)+type instance Schematic Monad (Conclusion e) = (<.:>) (Conclusion e)  instance Monadic (Conclusion e) where-	wrap x = TM . UT . point $ x+	wrap = TM . UT . point  type Failable e = Adaptable (Conclusion e) -instance Covariant u => Covariant (UT Covariant Covariant (Conclusion e) u) where+instance Covariant u => Covariant (Conclusion e <.:> u) where 	f <$> UT x = UT $ f <$$> x -instance Applicative u => Applicative (UT Covariant Covariant (Conclusion e) u) where+instance Applicative u => Applicative (Conclusion e <.:> u) where 	UT f <*> UT x = UT $ (<*>) <$> f <*> x -instance Pointable u => Pointable (UT Covariant Covariant (Conclusion e) u) where+instance Pointable u => Pointable (Conclusion e <.:> u) where 	point = UT . point . point -instance (Pointable u, Bindable u) => Bindable (UT Covariant Covariant (Conclusion e) u) where+instance (Pointable u, Bindable u) => Bindable (Conclusion e <.:> u) where 	UT x >>= f = UT $ x >>= conclusion (point . Failure) (run . f) -instance Monad u => Monad (UT Covariant Covariant (Conclusion e) u) where+instance Monad u => Monad (Conclusion e <.:> u) where  failure :: Failable e t => e -> t a failure = adapt . Failure++class Catchable e t where+	catch :: t a -> (e -> t a) -> t a++instance Catchable e (Conclusion e) where+	catch (Failure e) handle = handle e+	catch (Success x) _ = Success x++instance Monad u => Catchable e (Conclusion e <.:> u) where+	catch (UT x) handle = UT $ x >>= conclusion (run . handle) (point . Success)
Pandora/Paradigm/Primary/Functor/Delta.hs view
@@ -6,6 +6,7 @@ import Pandora.Pattern.Functor.Applicative (Applicative ((<*>))) import Pandora.Pattern.Functor.Distributive (Distributive ((>>-))) import Pandora.Pattern.Functor.Traversable (Traversable ((->>)))+import Pandora.Pattern.Functor.Extendable (Extendable ((=>>))) import Pandora.Pattern.Functor.Representable (Representable (Representation, (<#>), tabulate)) import Pandora.Pattern.Object.Setoid (Setoid ((==))) import Pandora.Pattern.Object.Semigroup (Semigroup ((+)))@@ -30,6 +31,9 @@  instance Traversable Delta where 	(x :^: y) ->> f = (:^:) <$> f x <*> f y++instance Extendable Delta where+	x =>> f = f x :^: f x  instance Representable Delta where 	type Representation Delta = Boolean
Pandora/Paradigm/Primary/Functor/Maybe.hs view
@@ -1,6 +1,6 @@ module Pandora.Paradigm.Primary.Functor.Maybe where -import Pandora.Pattern.Category ((.), ($))+import Pandora.Pattern.Category (identity, (.), ($)) import Pandora.Pattern.Functor.Covariant (Covariant ((<$>), (<$$>))) import Pandora.Pattern.Functor.Avoidable (Avoidable (empty)) import Pandora.Pattern.Functor.Pointable (Pointable (point))@@ -20,7 +20,7 @@ import Pandora.Paradigm.Controlflow.Effect.Interpreted (Schematic, Interpreted (Primary, run)) import Pandora.Paradigm.Controlflow.Effect.Transformer.Monadic (Monadic (wrap), (:>) (TM)) import Pandora.Paradigm.Controlflow.Effect.Adaptable (Adaptable (adapt))-import Pandora.Paradigm.Schemes.UT (UT (UT))+import Pandora.Paradigm.Schemes.UT (UT (UT), type (<.:>))  data Maybe a = Nothing | Just a @@ -87,31 +87,30 @@ maybe x _ Nothing = x maybe _ f (Just y) = f y --- type instance Schematic Monad Maybe u = UT Covariant Covariant Maybe u-type instance Schematic Monad Maybe = UT Covariant Covariant Maybe+type instance Schematic Monad Maybe = (<.:>) Maybe  instance Interpreted Maybe where 	type Primary Maybe a = Maybe a-	run x = x+	run = identity  instance Monadic Maybe where-	wrap x = TM . UT . point $ x+	wrap = TM . UT . point  type Optional = Adaptable Maybe -instance Covariant u => Covariant (UT Covariant Covariant Maybe u) where+instance Covariant u => Covariant (Maybe <.:> u) where 	f <$> UT x = UT $ f <$$> x -instance Applicative u => Applicative (UT Covariant Covariant Maybe u) where+instance Applicative u => Applicative (Maybe <.:> u) where 	UT f <*> UT x = UT $ apply <$> f <*> x -instance Pointable u => Pointable (UT Covariant Covariant Maybe u) where+instance Pointable u => Pointable (Maybe <.:> u) where 	point = UT . point . point -instance (Pointable u, Bindable u) => Bindable (UT Covariant Covariant Maybe u) where+instance (Pointable u, Bindable u) => Bindable (Maybe <.:> u) where 	UT x >>= f = UT $ x >>= maybe (point Nothing) (run . f) -instance Monad u => Monad (UT Covariant Covariant Maybe u) where+instance Monad u => Monad (Maybe <.:> u) where  nothing :: Optional t => t a nothing = adapt Nothing
Pandora/Paradigm/Primary/Functor/Predicate.hs view
@@ -1,10 +1,14 @@ module Pandora.Paradigm.Primary.Functor.Predicate where +import Pandora.Core.Functor (type (|->)) import Pandora.Core.Morphism ((!)) import Pandora.Pattern.Category ((.), ($)) import Pandora.Pattern.Functor.Contravariant (Contravariant ((>$<))) import Pandora.Pattern.Functor.Determinable (Determinable (determine))-import Pandora.Paradigm.Primary.Object.Boolean (Boolean (True))+import Pandora.Pattern.Functor.Pointable (Pointable (point))+import Pandora.Pattern.Functor.Avoidable (Avoidable (empty))+import Pandora.Pattern.Object.Setoid (Setoid ((==)))+import Pandora.Paradigm.Primary.Object.Boolean (Boolean (True), (?))  newtype Predicate a = Predicate (a -> Boolean) @@ -13,3 +17,9 @@  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 (Predicate p) x = p x ? point x $ empty
Pandora/Paradigm/Primary/Functor/Product.hs view
@@ -1,6 +1,5 @@ module Pandora.Paradigm.Primary.Functor.Product where -import Pandora.Pattern.Category (($)) import Pandora.Pattern.Functor.Covariant (Covariant ((<$>))) import Pandora.Pattern.Functor.Extractable (Extractable (extract)) import Pandora.Pattern.Functor.Traversable (Traversable ((->>)))@@ -15,7 +14,6 @@ import Pandora.Pattern.Object.Semilattice (Infimum ((/\)), Supremum ((\/))) import Pandora.Pattern.Object.Lattice (Lattice) import Pandora.Pattern.Object.Group (Group (invert))-import Pandora.Paradigm.Structure.Ability.Monotonic (Monotonic (iterate))  infixr 1 :*: @@ -24,62 +22,53 @@ type (:*:) = Product  instance Covariant (Product s) where-	f <$> (s :*: x) = s :*: f x+	f <$> x = attached x :*: f (extract x)  instance Extractable (Product a) where-	extract (_ :*: y) = y+	extract ~(_ :*: y) = y  instance Traversable (Product s) where-	(s :*: x) ->> f = (s :*:) <$> f x+	x ->> f = (attached x :*:) <$> f (extract x)  instance Extendable (Product s) where-	(s :*: x) =>> f = s :*: f (s :*: x)+	x =>> f = attached x :*: f (attached x :*: extract x)  instance Comonad (Product s) where  instance Bivariant Product where-	f <-> g = \(s :*: x) -> f s :*: g x+	f <-> g = \ ~(s :*: x) -> f s :*: g x -instance (Setoid s, Setoid a) => Setoid (Product s a) where-	(s :*: x) == (s' :*: x') = (s == s') * (x == x')+instance (Setoid s, Setoid a) => Setoid (s :*: a) where+	x == y = (attached x == attached y) * (extract x == extract y) -instance (Semigroup s, Semigroup a) => Semigroup (Product s a) where-	(s :*: x) + (s' :*: x') = s + s' :*: x + x'+instance (Semigroup s, Semigroup a) => Semigroup (s :*: a) where+	x + y = attached x + attached y :*: extract x + extract y -instance (Monoid s, Monoid a) => Monoid (Product s a) where+instance (Monoid s, Monoid a) => Monoid (s :*: a) where 	zero = zero :*: zero -instance (Ringoid s, Ringoid a) => Ringoid (Product s a) where-	(s :*: x) * (s' :*: x') = s * s' :*: x * x'+instance (Ringoid s, Ringoid a) => Ringoid (s :*: a) where+	x * y = attached x * attached y :*: extract x * extract y -instance (Quasiring s, Quasiring a) => Quasiring (Product s a) where+instance (Quasiring s, Quasiring a) => Quasiring (s :*: a) where 	one = one :*: one -instance (Infimum s, Infimum a) => Infimum (Product s a) where-	(s :*: x) /\ (s' :*: x') = s /\ s' :*: x /\ x'--instance (Supremum s, Supremum a) => Supremum (Product s a) where-	(s :*: x) \/ (s' :*: x') = s \/ s' :*: x \/ x'+instance (Infimum s, Infimum a) => Infimum (s :*: a) where+	x /\ y = attached x /\ attached y :*: extract x /\ extract y -instance (Lattice s, Lattice a) => Lattice (Product s a) where+instance (Supremum s, Supremum a) => Supremum (s :*: a) where+	x \/ y = attached x \/ attached y :*: extract x \/ extract y -instance (Group s, Group a) => Group (Product s a) where-	invert (s :*: x) = invert s :*: invert x+instance (Lattice s, Lattice a) => Lattice (s :*: a) where -instance Monotonic e a => Monotonic (Product a e) a where-	iterate f r (x :*: e) = iterate f (f x r) e+instance (Group s, Group a) => Group (s :*: a) where+	invert x = invert (attached x) :*: invert (extract x)  delta :: a -> a :*: a delta x = x :*: x  swap :: a :*: b -> b :*: a-swap (x :*: y) = y :*: x+swap ~(x :*: y) = y :*: x  attached :: a :*: b -> a-attached (x :*: _) = x--curry :: (a :*: b -> c) -> a -> b -> c-curry f x y = f $ x :*: y--uncurry :: (a -> b -> c) -> (a :*: b -> c)-uncurry f (x :*: y) = f x y+attached ~(x :*: _) = x
Pandora/Paradigm/Primary/Transformer/Backwards.hs view
@@ -39,7 +39,7 @@  instance Interpreted (Backwards t) where 	type Primary (Backwards t) a = t a-	run (Backwards x) = x+	run ~(Backwards x) = x  instance Liftable Backwards where 	lift = Backwards
Pandora/Paradigm/Primary/Transformer/Construction.hs view
@@ -19,28 +19,30 @@ import Pandora.Pattern.Object.Semigroup (Semigroup ((+))) import Pandora.Pattern.Object.Ringoid ((*)) import Pandora.Pattern.Object.Monoid (Monoid (zero))+import Pandora.Paradigm.Controlflow (run) import Pandora.Paradigm.Schemes.TU (TU (TU), type (<:.>))  data Construction t a = Construct a (t :. Construction t := a)  instance Covariant t => Covariant (Construction t) where-	f <$> Construct x xs = Construct (f x) $ f <$$> xs+	f <$> x = Construct (f $ extract x) $ f <$$> deconstruct x  instance Avoidable t => Pointable (Construction t) where 	point x = Construct x empty  instance Covariant t => Extractable (Construction t) where-	extract (Construct x _) = x+	extract ~(Construct x _) = x  instance Applicative t => Applicative (Construction t) where-	Construct f fs <*> Construct x xs = Construct (f x) $ fs <**> xs+	f <*> x = Construct (extract f $ extract x)+		$ deconstruct f <**> deconstruct x  instance Traversable t => Traversable (Construction t) where-	Construct x xs ->> f = Construct <$> f x <*> xs ->>> f+	x ->> f = Construct <$> f (extract x) <*> deconstruct x ->>> f  instance Alternative t => Bindable (Construction t) where-	Construct x xs >>= f = case f x of-		Construct y ys -> Construct y $ ys <+> (>>= f) <$> xs+	x >>= f = Construct (extract . f $ extract x)+		$ (deconstruct . f $ extract x) <+> (>>= f) <$> deconstruct x  instance Covariant t => Extendable (Construction t) where 	x =>> f = Construct (f x) $ extend f <$> deconstruct x@@ -50,43 +52,43 @@ instance Covariant t => Comonad (Construction t) where  instance Lowerable Construction where-	lower (Construct _ xs) = extract <$> xs+	lower x = extract <$> deconstruct x  instance Hoistable Construction where-	hoist f (Construct x xs) = Construct x . f $ hoist f <$> xs+	hoist f x = Construct (extract x) . f $ hoist f <$> deconstruct x -instance (Setoid a, forall b . Setoid b => Setoid (t b)) => Setoid (Construction t a) where-	Construct x xs == Construct y ys = (x == y) * (xs == ys)+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)) => Semigroup (Construction t a) where-	Construct x xs + Construct y ys = Construct (x + y) $ xs + ys+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)) => 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  deconstruct :: Construction t a -> (t :. Construction t) a-deconstruct (Construct _ xs) = xs+deconstruct ~(Construct _ xs) = xs -coiterate :: Covariant t => a |-> t -> a |-> Construction t-coiterate coalgebra x = Construct x $ coiterate coalgebra <$> coalgebra x+iterate :: Covariant t => (a |-> t) -> (a |-> Construction t)+iterate f x = Construct x $ iterate f <$> f x  section :: Comonad t => t ~> Construction t-section as = Construct (extract as) $ extend section as+section xs = Construct (extract xs) $ xs =>> section -instance (Covariant t, Covariant u) => Covariant (u <:.> Construction t) where-	f <$> TU g = TU $ f <$$> g+instance (Covariant u, Covariant t) => Covariant (t <:.> Construction u) where+	f <$> g = TU $ f <$$> run g -instance (Avoidable t, Pointable u) => Pointable (u <:.> Construction t) where+instance (Avoidable u, Pointable t) => Pointable (t <:.> Construction u) where 	point x = TU . point . Construct x $ empty -instance (Applicative t, Applicative u) => Applicative (u <:.> Construction t) where-	TU f <*> TU x = TU $ f <**> x+instance (Applicative u, Applicative t) => Applicative (t <:.> Construction u) where+	f <*> x = TU $ run f <**> run x -instance (Covariant t, Alternative u) => Alternative (u <:.> Construction t) where-	TU x <+> TU y = TU $ x <+> y+instance (Covariant u, Alternative t) => Alternative (t <:.> Construction u) where+	x <+> y = TU $ run x <+> run y -instance (Covariant t, Avoidable u) => Avoidable (u <:.> Construction t) where+instance (Covariant u, Avoidable t) => Avoidable (t <:.> Construction u) where 	empty = TU empty -instance (Traversable t, Traversable u) => Traversable (u <:.> Construction t) where-	TU g ->> f = TU <$> g ->>> f+instance (Traversable u, Traversable t) => Traversable (t <:.> Construction u) where+	g ->> f = TU <$> run g ->>> f
Pandora/Paradigm/Primary/Transformer/Continuation.hs view
@@ -41,3 +41,6 @@ -- | Capture the continuation up to the nearest enclosing 'reset' and pass it shift :: Pointable t => ((a -> t r) -> Continuation r t r) -> Continuation r t a shift f = Continuation $ continue % point . f++interruptable :: Pointable t => ((a -> Continuation a t a) -> Continuation a t a) -> t a+interruptable = continue % point . cwcc
Pandora/Paradigm/Primary/Transformer/Day.hs view
@@ -1,7 +1,8 @@ module Pandora.Paradigm.Primary.Transformer.Day where +import Pandora.Pattern ((.|..)) import Pandora.Pattern.Category (($))-import Pandora.Pattern.Functor.Covariant (Covariant ((<$>)), (.|..))+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 ((<*>)))
Pandora/Paradigm/Primary/Transformer/Kan.hs view
@@ -15,7 +15,7 @@  instance Interpreted (Kan Left t u b) where 	type Primary (Kan Left t u b) a = (t b -> a) -> u b-	run (Lan x) = x+	run ~(Lan x) = x  data instance Kan Right t u b a = Ran ((a -> t b) -> u b) @@ -24,4 +24,4 @@  instance Interpreted (Kan Right t u b) where 	type Primary (Kan Right t u b) a = (a -> t b) -> u b-	run (Ran x) = x+	run ~(Ran x) = x
Pandora/Paradigm/Primary/Transformer/Reverse.hs view
@@ -39,7 +39,7 @@  instance Interpreted (Reverse t) where 	type Primary (Reverse t) a = t a-	run (Reverse x) = x+	run ~(Reverse x) = x  instance Liftable Reverse where 	lift = Reverse
Pandora/Paradigm/Primary/Transformer/Tap.hs view
@@ -32,9 +32,9 @@ 	Tap x xs ->> f = Tap <$> f x <*> xs ->> f  instance (Extractable t, Alternative t, Bindable t) => Bindable (Tap t) where-	Tap x xs >>= f = case f x of Tap y ys -> Tap y $ ys <+> (xs >>= lower . f)+	Tap x xs >>= f = case f x of ~(Tap y ys) -> Tap y $ ys <+> (xs >>= lower . f) -instance (Extractable t, Extendable t) => Extendable (Tap t) where+instance Extendable t => Extendable (Tap t) where 	x =>> f = Tap (f x) $ lower x =>> f . Tap (extract x)  instance Lowerable Tap where
Pandora/Paradigm/Schemes/TU.hs view
@@ -20,7 +20,7 @@  instance Interpreted (TU ct cu t u) where 	type Primary (TU ct cu t u) a = t :. u := a-	run (TU x) = x+	run ~(TU x) = x  instance Pointable t => Liftable (TU Covariant Covariant t) where 	lift :: Covariant u => u ~> t <:.> u
Pandora/Paradigm/Schemes/TUT.hs view
@@ -23,7 +23,7 @@  instance Interpreted (TUT ct ct' cu t t' u) where 	type Primary (TUT ct ct' cu t t' u) a = t :. u :. t' := a-	run (TUT x) = x+	run ~(TUT x) = x  instance (Adjoint t' t, Distributive t) => Liftable (t <:<.>:> t') where 	lift :: Covariant u => u ~> t <:<.>:> t' := u
Pandora/Paradigm/Schemes/TUVW.hs view
@@ -7,4 +7,4 @@  instance Interpreted (TUVW ct cu cv cw t u v w) where 	type Primary (TUVW ct cu cv cw t u v w) a = t :. u :. v :. w := a-	run (TUVW x) = x+	run ~(TUVW x) = x
Pandora/Paradigm/Schemes/UT.hs view
@@ -19,7 +19,7 @@  instance Interpreted (UT ct cu t u) where 	type Primary (UT ct cu t u) a = u :. t := a-	run (UT x) = x+	run ~(UT x) = x  instance Pointable t => Liftable (UT Covariant Covariant t) where 	lift :: Covariant u => u ~> t <.:> u
Pandora/Paradigm/Schemes/UTU.hs view
@@ -18,4 +18,4 @@  instance Interpreted (UTU ct cu t u u') where 	type Primary (UTU ct cu t u u') a = u :. t :. u' := a-	run (UTU x) = x+	run ~(UTU x) = x
Pandora/Paradigm/Structure.hs view
@@ -8,11 +8,21 @@ import Pandora.Paradigm.Structure.Splay as Exports import Pandora.Paradigm.Structure.Binary as Exports import Pandora.Paradigm.Structure.Stack as Exports+import Pandora.Paradigm.Structure.Stream as Exports  import Pandora.Pattern (($), (.), extract)-import Pandora.Paradigm.Primary (Product ((:*:)), Tagged (Tag), Wye (Left, Right))-import Pandora.Paradigm.Inventory (Store (Store))+import Pandora.Paradigm.Controlflow.Effect.Interpreted (run)+import Pandora.Paradigm.Inventory (Store (Store), (^.), (.~))+import Pandora.Paradigm.Primary.Functor.Delta (Delta ((:^:)))+import Pandora.Paradigm.Primary.Functor.Product (Product ((:*:)), type (:*:), attached)+import Pandora.Paradigm.Primary.Functor.Tagged (Tagged (Tag))+import Pandora.Paradigm.Primary.Functor.Wye (Wye (Left, Right))+import Pandora.Paradigm.Primary.Transformer.Tap (Tap (Tap))+import Pandora.Paradigm.Schemes.TU (type (<:.>)) +instance Monotonic a s => Monotonic (s :*: a) s where+	bypass f r x = bypass f (f (attached x) r) $ extract x+ instance Substructure Left (Product s) where 	type Substructural Left (Product s) a = s 	substructure (extract -> s :*: x) = Store $ s :*: Tag . (:*: x)@@ -20,3 +30,21 @@ instance Substructure Right (Product s) where 	type Substructural Right (Product s) a = a 	substructure (extract -> s :*: x) = Store $ x :*: Tag . (s :*:)++instance Substructure Left Delta where+	type Substructural Left Delta a = a+	substructure (extract -> l :^: r) = Store $ l :*: Tag . (:^: r)++instance Substructure Right Delta where+	type Substructural Right Delta a = a+	substructure (extract -> l :^: r) = Store $ r :*: Tag . (l :^:)++instance Substructure Left t => Substructure Left (Tap (t <:.> u)) where+	type Substructural Left (Tap (t <:.> u)) a = Substructural Left t (u a)+	substructure (extract -> Tap x xs) = Store $+		sub @Left ^. run xs :*: Tag . (\new -> sub @Left .~ new $ Tap x xs)++instance Substructure Right t => Substructure Right (Tap (t <:.> u)) where+	type Substructural Right (Tap (t <:.> u)) a = Substructural Right t (u a)+	substructure (extract -> Tap x xs) = Store $+		sub @Right ^. run xs :*: Tag . (\new -> sub @Right .~ new $ Tap x xs)
Pandora/Paradigm/Structure/Ability/Comprehension.hs view
@@ -15,7 +15,7 @@  instance Interpreted (Comprehension t) where 	type Primary (Comprehension t) a = t <:.> Construction t := a-	run (Comprehension x) = x+	run ~(Comprehension x) = x  instance Covariant (t <:.> Construction t) => Covariant (Comprehension t) where 	f <$> Comprehension x = Comprehension $ f <$> x
Pandora/Paradigm/Structure/Ability/Monotonic.hs view
@@ -1,7 +1,15 @@ module Pandora.Paradigm.Structure.Ability.Monotonic where +import Pandora.Pattern.Functor ((<+>))+import Pandora.Pattern.Functor.Pointable (Pointable)+import Pandora.Pattern.Functor.Avoidable (Avoidable (empty))+import Pandora.Paradigm.Primary.Functor.Predicate (Predicate, satisfy)+ class Monotonic e a where-	iterate :: (a -> r -> r) -> r -> e -> r+	bypass :: (a -> r -> r) -> r -> e -> r  instance Monotonic a a where-	iterate f r x = f x r+	bypass f r x = f x r++find :: (Monotonic e a, Pointable t, Avoidable t) => Predicate a -> e -> t a+find p struct = bypass (\x r -> r <+> satisfy p x) empty struct
Pandora/Paradigm/Structure/Ability/Rotatable.hs view
@@ -3,11 +3,11 @@ module Pandora.Paradigm.Structure.Ability.Rotatable where  import Pandora.Pattern.Category ((.))-import Pandora.Paradigm.Primary.Functor.Maybe (Maybe) import Pandora.Paradigm.Primary.Functor.Tagged (Tagged (Tag)) -class Rotatable (f :: k) t where-	rotation :: (Tagged f) (t a) -> Maybe (t a)+class Rotatable f t where+	type Rotational (f :: k) (t :: * -> *) a+	rotation :: Tagged f (t a) -> Rotational f t a -rotate :: forall f t a . Rotatable f t => t a -> Maybe (t a)+rotate :: forall f t a . Rotatable f t => t a -> Rotational f t a rotate = rotation . Tag @f
Pandora/Paradigm/Structure/Interface/Set.hs view
@@ -1,7 +1,16 @@ module Pandora.Paradigm.Structure.Interface.Set where -import Pandora.Pattern.Object.Setoid (Setoid)-import Pandora.Paradigm.Primary.Object.Boolean (Boolean)+import Pandora.Core.Morphism ((!), (%))+import Pandora.Pattern.Category ((.))+import Pandora.Pattern.Functor.Traversable (Traversable ((->>)))+import Pandora.Pattern.Object.Setoid (Setoid ((/=)))+import Pandora.Paradigm.Primary.Functor.Maybe (Maybe (Nothing), maybe)+import Pandora.Paradigm.Primary.Functor.Predicate (equate)+import Pandora.Paradigm.Primary.Object.Boolean (Boolean (True, False))+import Pandora.Paradigm.Structure.Ability.Monotonic (Monotonic, find) -class Set t where-	member :: Setoid a => a -> t a -> Boolean+member :: (Setoid a, Monotonic e a) => a -> e -> Boolean+member x = maybe False (True !) . find (equate x)++subset :: (Monotonic (t a) a, Traversable t, Setoid a, Setoid (t a)) => t a -> t a -> Boolean+subset ss s = Nothing /= (ss ->> find % s . equate)
Pandora/Paradigm/Structure/Splay.hs view
@@ -13,13 +13,14 @@ import Pandora.Paradigm.Primary.Functor.Tagged (Tagged (Tag)) import Pandora.Paradigm.Primary.Transformer.Construction (Construction (Construct), deconstruct) import Pandora.Paradigm.Inventory.Optics ((%~))-import Pandora.Paradigm.Structure.Binary ()-import Pandora.Paradigm.Structure.Ability.Rotatable (Rotatable (rotation), rotate)+import Pandora.Paradigm.Structure.Ability.Rotatable (Rotatable (Rotational, rotation), rotate) import Pandora.Paradigm.Structure.Ability.Substructure (sub)+import Pandora.Paradigm.Structure.Binary ()  data Splay a = Zig a | Zag a  instance Rotatable (Left Zig) (Construction Wye) where+	type Rotational (Left Zig) (Construction Wye) a = Maybe (Construction Wye a) 	rotation (Tag (Construct parent st)) = Construct % subtree <$> found where  		subtree = maybe_subtree a . Just . Construct parent $ maybe_subtree b c@@ -29,6 +30,7 @@ 		c = right st  instance Rotatable (Right Zig) (Construction Wye) where+	type Rotational (Right Zig) (Construction Wye) a = Maybe (Construction Wye a) 	rotation (Tag (Construct parent st)) = Construct % subtree <$> found where  		found = extract <$> right st@@ -38,18 +40,20 @@ 		c = deconstruct <$> right st >>= right  instance Rotatable (Left (Zig Zig)) (Construction Wye) where+	type Rotational (Left (Zig Zig)) (Construction Wye) a = Maybe (Construction Wye a) 	rotation (Tag tree) = rotate @(Left Zig) tree >>= rotate @(Left Zig)  instance Rotatable (Right (Zig Zig)) (Construction Wye) where+	type Rotational (Right (Zig Zig)) (Construction Wye) a = Maybe (Construction Wye a) 	rotation (Tag tree) = rotate @(Right Zig) tree >>= rotate @(Right Zig)  instance Rotatable (Left (Zig Zag)) (Construction Wye) where-	rotation (Tag tree) = rotate @(Left Zig)-		$ sub @Left %~ (>>= rotate @(Right Zig)) $ tree+	type Rotational (Left (Zig Zag)) (Construction Wye) a = Maybe (Construction Wye a)+	rotation (Tag tree) = rotate @(Left Zig) $ sub @Left %~ (>>= rotate @(Right Zig)) $ tree  instance Rotatable (Right (Zig Zag)) (Construction Wye) where-	rotation (Tag tree) = rotate @(Right Zig)-		$ sub @Right %~ (>>= rotate @(Left Zig)) $ tree+	type Rotational (Right (Zig Zag)) (Construction Wye) a = Maybe (Construction Wye a)+	rotation (Tag tree) = rotate @(Right Zig) $ sub @Right %~ (>>= rotate @(Left Zig)) $ tree  maybe_subtree :: Maybe a -> Maybe a -> Wye a maybe_subtree (Just x) (Just y) = Both x y
Pandora/Paradigm/Structure/Stack.hs view
@@ -2,12 +2,12 @@  module Pandora.Paradigm.Structure.Stack where -import Pandora.Core.Functor (type (~>))-import Pandora.Core.Morphism ((&), (%), (!))+import Pandora.Core.Functor (type (~>), type (:.), type (:=))+import Pandora.Core.Morphism ((&), (%))+import Pandora.Pattern ((.|..)) import Pandora.Pattern.Category ((.), ($))-import Pandora.Pattern.Functor.Covariant (Covariant ((<$>)), (.|..))+import Pandora.Pattern.Functor.Covariant (Covariant ((<$>))) import Pandora.Pattern.Functor.Alternative ((<+>))-import Pandora.Pattern.Functor.Avoidable (empty) import Pandora.Pattern.Functor.Pointable (point) import Pandora.Pattern.Functor.Extractable (extract) import Pandora.Pattern.Functor.Traversable (Traversable)@@ -18,14 +18,13 @@ import Pandora.Pattern.Object.Monoid (Monoid (zero)) import Pandora.Paradigm.Primary.Object.Boolean ((?)) import Pandora.Paradigm.Primary.Functor.Delta (Delta ((:^:)))-import Pandora.Paradigm.Primary.Functor.Maybe (Maybe (Just, Nothing), maybe)+import Pandora.Paradigm.Primary.Functor.Maybe (Maybe (Just, Nothing)) import Pandora.Paradigm.Primary.Functor.Predicate (Predicate (Predicate)) import Pandora.Paradigm.Primary.Functor.Product (Product ((:*:))) import Pandora.Paradigm.Primary.Functor.Tagged (Tagged (Tag))-import Pandora.Paradigm.Primary.Object (Boolean (True, False)) import Pandora.Paradigm.Primary.Transformer.Construction (Construction (Construct), deconstruct) import Pandora.Paradigm.Primary.Transformer.Tap (Tap (Tap))-import Pandora.Paradigm.Inventory.State (fold, find)+import Pandora.Paradigm.Inventory.State (State, fold) import Pandora.Paradigm.Inventory.Store (Store (Store)) import Pandora.Paradigm.Inventory.Optics ((^.)) import Pandora.Paradigm.Controlflow.Effect.Interpreted (run)@@ -34,7 +33,7 @@ import Pandora.Paradigm.Structure.Ability.Zipper (Zipper) import Pandora.Paradigm.Structure.Ability.Focusable (Focusable (Focusing, focusing), Location (Head), focus) import Pandora.Paradigm.Structure.Ability.Insertable (Insertable (insert))-import Pandora.Paradigm.Structure.Interface.Set (Set (member))+import Pandora.Paradigm.Structure.Ability.Monotonic (Monotonic (bypass))  -- | Linear data structure that serves as a collection of elements type Stack = Maybe <:.> Construction Maybe@@ -59,9 +58,6 @@ instance Insertable Stack where 	insert x (TU stack) = TU $ (Construct x . Just <$> stack) <+> (point . point) x -instance Set Stack where-	member x = maybe False (True !) . find (Predicate (== x))- pop :: Stack ~> Stack pop (TU stack) = TU $ stack >>= deconstruct @@ -70,13 +66,14 @@ delete x (TU (Just (Construct y ys))) = x == y ? TU ys 	$ lift . Construct y . run . delete x $ TU ys -filter :: Predicate a -> Stack a -> Stack a-filter (Predicate p) = TU . fold empty-	(\now new -> p now ? Just (Construct now new) $ new)+filter :: forall a . Predicate a -> Stack a -> Stack a+filter (Predicate p) = TU . extract+	. run @(State (Maybe :. Nonempty Stack := a)) % Nothing+	. fold (\now new -> p now ? Just (Construct now new) $ new)  -- | Transform any traversable structure into a stack-linearize :: Traversable t => t ~> Stack-linearize = TU . fold Nothing (Just .|.. Construct)+linearize :: forall t a . Traversable t => t a -> Stack a+linearize = TU . extract . run @(State (Maybe :. Nonempty Stack := a)) % Nothing . fold (Just .|.. Construct)  type instance Nonempty Stack = Construction Maybe @@ -87,11 +84,24 @@ instance Insertable (Construction Maybe) where 	insert x = Construct x . Just -type instance Zipper Stack = Tap (Delta <:.> Stack)+instance Monotonic (Construction Maybe a) a where+	bypass f r ~(Construct x xs) = f x $ bypass f r xs -instance Covariant (Delta <:.> Stack) where-	f <$> (TU (bs :^: fs)) = TU $ f <$> bs :^: f <$> fs+type instance Zipper Stack = Tap (Delta <:.> Stack)  forward, backward :: Zipper Stack a -> Maybe (Zipper Stack a) forward (Tap x (TU (bs :^: fs))) = Tap % (TU $ insert x bs :^: pop fs) <$> focus @Head ^. fs backward (Tap x (TU (bs :^: fs))) = Tap % (TU $ pop bs :^: insert x fs) <$> focus @Head ^. bs++type instance Zipper (Construction Maybe) = Tap (Delta <:.> Construction Maybe)++forward', backward' :: Zipper (Nonempty Stack) a -> Maybe (Zipper (Nonempty Stack) a)+forward' (Tap x (TU (bs :^: fs))) = Tap (extract fs) . TU . (insert x bs :^:) <$> deconstruct fs+backward' (Tap x (TU (bs :^: fs))) = Tap (extract bs) . TU . (:^: insert x fs) <$> deconstruct bs++instance Monotonic (Maybe :. Construction Maybe := a) a where+	bypass f r (Just x) = bypass f r x+	bypass _ r Nothing = r++instance Monotonic (Maybe <:.> Construction Maybe := a) a where+	bypass f r ~(TU x) = bypass f r x
Pandora/Paradigm/Structure/Stream.hs view
@@ -1,6 +1,32 @@+{-# OPTIONS_GHC -fno-warn-orphans #-}+ module Pandora.Paradigm.Structure.Stream where -import Pandora.Paradigm.Primary.Functor.Identity (Identity)-import Pandora.Paradigm.Primary.Transformer.Construction (Construction)+import Pandora.Pattern.Category ((.), ($))+import Pandora.Pattern.Functor.Pointable (point)+import Pandora.Pattern.Functor.Extractable (extract)+import Pandora.Paradigm.Primary.Functor.Delta (Delta ((:^:)))+import Pandora.Paradigm.Primary.Functor.Identity (Identity (Identity))+import Pandora.Paradigm.Primary.Functor.Wye (Wye (Left, Right))+import Pandora.Paradigm.Primary.Transformer.Construction (Construction (Construct), deconstruct)+import Pandora.Paradigm.Primary.Transformer.Tap (Tap (Tap))+import Pandora.Paradigm.Structure.Ability.Rotatable (Rotatable (Rotational, rotation))+import Pandora.Paradigm.Structure.Ability.Zipper (Zipper)+import Pandora.Paradigm.Schemes.TU (TU (TU), type (<:.>))  type Stream = Construction Identity++type instance Zipper Stream = Tap (Delta <:.> Stream)++instance Rotatable Left (Tap (Delta <:.> Stream)) where+	type Rotational Left (Tap (Delta <:.> Stream)) a = Tap (Delta <:.> Stream) a+	rotation (extract -> Tap x (TU (bs :^: fs))) = Tap (extract bs) . TU+		$ extract (deconstruct bs) :^: Construct x (point fs)++instance Rotatable Right (Tap (Delta <:.> Stream)) where+	type Rotational Right (Tap (Delta <:.> Stream)) a = Tap (Delta <:.> Stream) a+	rotation (extract -> Tap x (TU (bs :^: fs))) = Tap (extract fs) . TU+		$ Construct x (point bs) :^: extract (deconstruct fs)++repeat :: a -> Stream a+repeat x = Construct x . Identity $ repeat x
Pandora/Pattern.hs view
@@ -1,6 +1,20 @@-module Pandora.Pattern (module Exports) where+module Pandora.Pattern (module Exports, (.|..), (.|...), (.|....)) where  import Pandora.Pattern.Object as Exports import Pandora.Pattern.Transformer as Exports import Pandora.Pattern.Functor as Exports import Pandora.Pattern.Category as Exports++import Pandora.Core.Functor (type (:.), type (:=))++(.|..) :: (Category v, Covariant (v a))+	=> v c d -> v a :. v b := c -> v a :. v b := d+f .|.. g = (f .) <$> g++(.|...) :: (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++(.|....) :: (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
Pandora/Pattern/Functor/Adjoint.hs view
@@ -6,7 +6,7 @@  type (-|) = Adjoint -infixl 4 -|, |-+infixl 3 -|, |-  {- | > When providing a new instance, you should ensure it satisfies the four laws:
Pandora/Pattern/Functor/Covariant.hs view
@@ -58,15 +58,3 @@  instance Covariant ((->) a) where 	(<$>) = (.)--(.|..) :: (Category v, Covariant (v a))-	=> v c d -> v a :. v b := c -> v a :. v b := d-f .|.. g = (f .) <$> g--(.|...) :: (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--(.|....) :: (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
Pandora/Pattern/Functor/Monad.hs view
@@ -1,7 +1,7 @@ module Pandora.Pattern.Functor.Monad where -import Pandora.Pattern.Functor.Bindable (Bindable)-import Pandora.Pattern.Functor.Pointable (Pointable)+import Pandora.Pattern.Functor.Bindable (Bindable ((>>=)))+import Pandora.Pattern.Functor.Pointable (Pointable (point))  {- | > Let f :: (Pointable t, Bindable t) => a -> t a@@ -14,4 +14,15 @@ > * Associativity: h >>= (f >=> g) ≡ (h >>= f) >>= g -} -class (Pointable t, Bindable t) => Monad t+infixl 1 >>=-, ->>=+infixr 1 -=<<, =<<-++class (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+	(->>=) x y = x >>= \_ -> y >>= \r -> point r+	(-=<<) :: t a -> t b -> t b+	(-=<<) x y = x >>= \_ -> y >>= \r -> point r+	(=<<-) :: t a -> t b -> t a+	(=<<-) x y = x >>= \r -> y >>= \_ -> point r
pandora.cabal view
@@ -1,5 +1,5 @@ name:                pandora-version:             0.3.1+version:             0.3.2 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