-- Hoogle documentation, generated by Haddock -- See Hoogle, http://www.haskell.org/hoogle/ -- | Trying to compose non-composable -- -- Trying to compose non-composable @package joint @version 0.1.8 module Control.Joint.Abilities.Interpreted class Interpreted t where { type family Primary t a :: *; } run :: Interpreted t => t a -> Primary t a module Control.Joint.Core -- | Functor composition type (:.) t u a = t (u a) infixr 2 :. -- | Functor's object type (:=) t a = t a infixr 1 := -- | Natural transformation type (~>) t u = forall a. t a -> u a infixr 0 ~> module Control.Joint.Abilities.Transformer type family Schema (t :: * -> *) = (r :: (* -> *) -> * -> *) | r -> t class Interpreted t => Transformer t build :: (Transformer t, Applicative u) => t ~> (t :> u) unite :: Transformer t => Primary (Schema t u) a -> (t :> u) a newtype (:>) t u a T :: (Transformer t => Schema t u a) -> (:>) t u a [trans] :: (:>) t u a -> Transformer t => Schema t u a infixr 3 :> instance GHC.Base.Functor (Control.Joint.Abilities.Transformer.Schema t u) => GHC.Base.Functor (t Control.Joint.Abilities.Transformer.:> u) instance (Control.Joint.Abilities.Transformer.Transformer t, GHC.Base.Applicative (Control.Joint.Abilities.Transformer.Schema t u)) => GHC.Base.Applicative (t Control.Joint.Abilities.Transformer.:> u) instance (Control.Joint.Abilities.Transformer.Transformer t, GHC.Base.Alternative (Control.Joint.Abilities.Transformer.Schema t u)) => GHC.Base.Alternative (t Control.Joint.Abilities.Transformer.:> u) instance (Control.Joint.Abilities.Transformer.Transformer t, GHC.Base.Monad (Control.Joint.Abilities.Transformer.Schema t u)) => GHC.Base.Monad (t Control.Joint.Abilities.Transformer.:> u) instance (Control.Joint.Abilities.Interpreted.Interpreted (Control.Joint.Abilities.Transformer.Schema t u), Control.Joint.Abilities.Transformer.Transformer t) => Control.Joint.Abilities.Interpreted.Interpreted (t Control.Joint.Abilities.Transformer.:> u) instance Control.Monad.Trans.Class.MonadTrans (Control.Joint.Abilities.Transformer.Schema t) => Control.Monad.Trans.Class.MonadTrans ((Control.Joint.Abilities.Transformer.:>) t) module Control.Joint.Abilities.Completable class Completable (subeff :: * -> *) (eff :: * -> *) | subeff -> eff complete :: Completable subeff eff => subeff ~> eff module Control.Joint.Abilities.Adaptable class Adaptable (eff :: * -> *) (schema :: * -> *) adapt :: Adaptable eff schema => eff ~> schema type Embedding t u = (Transformer t, Monad u) type Building t u = (Transformer t, Applicative u) instance Control.Joint.Abilities.Adaptable.Building t u => Control.Joint.Abilities.Adaptable.Adaptable t (t Control.Joint.Abilities.Transformer.:> u) instance (Control.Joint.Abilities.Adaptable.Embedding t (Control.Joint.Abilities.Transformer.Schema u v), Control.Monad.Trans.Class.MonadTrans ((Control.Joint.Abilities.Transformer.:>) t), Control.Joint.Abilities.Adaptable.Building u v) => Control.Joint.Abilities.Adaptable.Adaptable u (t Control.Joint.Abilities.Transformer.:> (u Control.Joint.Abilities.Transformer.:> v)) instance (Control.Joint.Abilities.Adaptable.Embedding t (Control.Joint.Abilities.Transformer.Schema u (v Control.Joint.Abilities.Transformer.:> w)), Control.Joint.Abilities.Adaptable.Embedding u (Control.Joint.Abilities.Transformer.Schema v w), Control.Monad.Trans.Class.MonadTrans ((Control.Joint.Abilities.Transformer.:>) t), Control.Monad.Trans.Class.MonadTrans ((Control.Joint.Abilities.Transformer.:>) u), Control.Joint.Abilities.Adaptable.Building v w) => Control.Joint.Abilities.Adaptable.Adaptable v (t Control.Joint.Abilities.Transformer.:> (u Control.Joint.Abilities.Transformer.:> (v Control.Joint.Abilities.Transformer.:> w))) instance (Control.Joint.Abilities.Adaptable.Embedding t (Control.Joint.Abilities.Transformer.Schema u (v Control.Joint.Abilities.Transformer.:> (w Control.Joint.Abilities.Transformer.:> x))), Control.Joint.Abilities.Adaptable.Embedding u (Control.Joint.Abilities.Transformer.Schema v (w Control.Joint.Abilities.Transformer.:> x)), Control.Joint.Abilities.Adaptable.Embedding v (Control.Joint.Abilities.Transformer.Schema w x), Control.Joint.Abilities.Adaptable.Building w x, Control.Monad.Trans.Class.MonadTrans ((Control.Joint.Abilities.Transformer.:>) t), Control.Monad.Trans.Class.MonadTrans ((Control.Joint.Abilities.Transformer.:>) u), Control.Monad.Trans.Class.MonadTrans ((Control.Joint.Abilities.Transformer.:>) v)) => Control.Joint.Abilities.Adaptable.Adaptable w (t Control.Joint.Abilities.Transformer.:> (u Control.Joint.Abilities.Transformer.:> (v Control.Joint.Abilities.Transformer.:> (w Control.Joint.Abilities.Transformer.:> x)))) instance (Control.Joint.Abilities.Adaptable.Embedding t (Control.Joint.Abilities.Transformer.Schema u (v Control.Joint.Abilities.Transformer.:> (w Control.Joint.Abilities.Transformer.:> (x Control.Joint.Abilities.Transformer.:> y)))), Control.Joint.Abilities.Adaptable.Embedding u (Control.Joint.Abilities.Transformer.Schema v (w Control.Joint.Abilities.Transformer.:> (x Control.Joint.Abilities.Transformer.:> y))), Control.Joint.Abilities.Adaptable.Embedding v (Control.Joint.Abilities.Transformer.Schema w (x Control.Joint.Abilities.Transformer.:> y)), Control.Joint.Abilities.Adaptable.Embedding w (Control.Joint.Abilities.Transformer.Schema x y), Control.Joint.Abilities.Adaptable.Building x y, Control.Monad.Trans.Class.MonadTrans ((Control.Joint.Abilities.Transformer.:>) t), Control.Monad.Trans.Class.MonadTrans ((Control.Joint.Abilities.Transformer.:>) u), Control.Monad.Trans.Class.MonadTrans ((Control.Joint.Abilities.Transformer.:>) v), Control.Monad.Trans.Class.MonadTrans ((Control.Joint.Abilities.Transformer.:>) w)) => Control.Joint.Abilities.Adaptable.Adaptable x (t Control.Joint.Abilities.Transformer.:> (u Control.Joint.Abilities.Transformer.:> (v Control.Joint.Abilities.Transformer.:> (w Control.Joint.Abilities.Transformer.:> (x Control.Joint.Abilities.Transformer.:> y))))) instance (Control.Joint.Abilities.Adaptable.Embedding t (Control.Joint.Abilities.Transformer.Schema u (v Control.Joint.Abilities.Transformer.:> (w Control.Joint.Abilities.Transformer.:> (x Control.Joint.Abilities.Transformer.:> (y Control.Joint.Abilities.Transformer.:> z))))), Control.Joint.Abilities.Adaptable.Embedding u (Control.Joint.Abilities.Transformer.Schema v (w Control.Joint.Abilities.Transformer.:> (x Control.Joint.Abilities.Transformer.:> (y Control.Joint.Abilities.Transformer.:> z)))), Control.Joint.Abilities.Adaptable.Embedding v (Control.Joint.Abilities.Transformer.Schema w (x Control.Joint.Abilities.Transformer.:> (y Control.Joint.Abilities.Transformer.:> z))), Control.Joint.Abilities.Adaptable.Embedding w (Control.Joint.Abilities.Transformer.Schema x (y Control.Joint.Abilities.Transformer.:> z)), Control.Joint.Abilities.Adaptable.Embedding x (Control.Joint.Abilities.Transformer.Schema y z), Control.Joint.Abilities.Adaptable.Building y z, Control.Monad.Trans.Class.MonadTrans ((Control.Joint.Abilities.Transformer.:>) t), Control.Monad.Trans.Class.MonadTrans ((Control.Joint.Abilities.Transformer.:>) u), Control.Monad.Trans.Class.MonadTrans ((Control.Joint.Abilities.Transformer.:>) v), Control.Monad.Trans.Class.MonadTrans ((Control.Joint.Abilities.Transformer.:>) w), Control.Monad.Trans.Class.MonadTrans ((Control.Joint.Abilities.Transformer.:>) x)) => Control.Joint.Abilities.Adaptable.Adaptable y (t Control.Joint.Abilities.Transformer.:> (u Control.Joint.Abilities.Transformer.:> (v Control.Joint.Abilities.Transformer.:> (w Control.Joint.Abilities.Transformer.:> (x Control.Joint.Abilities.Transformer.:> (y Control.Joint.Abilities.Transformer.:> z)))))) instance (Control.Joint.Abilities.Adaptable.Embedding t (Control.Joint.Abilities.Transformer.Schema u (v Control.Joint.Abilities.Transformer.:> (w Control.Joint.Abilities.Transformer.:> (x Control.Joint.Abilities.Transformer.:> (y Control.Joint.Abilities.Transformer.:> (z Control.Joint.Abilities.Transformer.:> f)))))), Control.Joint.Abilities.Adaptable.Embedding u (Control.Joint.Abilities.Transformer.Schema v (w Control.Joint.Abilities.Transformer.:> (x Control.Joint.Abilities.Transformer.:> (y Control.Joint.Abilities.Transformer.:> (z Control.Joint.Abilities.Transformer.:> f))))), Control.Joint.Abilities.Adaptable.Embedding v (Control.Joint.Abilities.Transformer.Schema w (x Control.Joint.Abilities.Transformer.:> (y Control.Joint.Abilities.Transformer.:> (z Control.Joint.Abilities.Transformer.:> f)))), Control.Joint.Abilities.Adaptable.Embedding w (Control.Joint.Abilities.Transformer.Schema x (y Control.Joint.Abilities.Transformer.:> (z Control.Joint.Abilities.Transformer.:> f))), Control.Joint.Abilities.Adaptable.Embedding x (Control.Joint.Abilities.Transformer.Schema y (z Control.Joint.Abilities.Transformer.:> f)), Control.Joint.Abilities.Adaptable.Embedding y (Control.Joint.Abilities.Transformer.Schema z f), Control.Joint.Abilities.Adaptable.Building z f, Control.Monad.Trans.Class.MonadTrans ((Control.Joint.Abilities.Transformer.:>) t), Control.Monad.Trans.Class.MonadTrans ((Control.Joint.Abilities.Transformer.:>) u), Control.Monad.Trans.Class.MonadTrans ((Control.Joint.Abilities.Transformer.:>) v), Control.Monad.Trans.Class.MonadTrans ((Control.Joint.Abilities.Transformer.:>) w), Control.Monad.Trans.Class.MonadTrans ((Control.Joint.Abilities.Transformer.:>) x), Control.Monad.Trans.Class.MonadTrans ((Control.Joint.Abilities.Transformer.:>) y), Control.Monad.Trans.Class.MonadTrans ((Control.Joint.Abilities.Transformer.:>) z)) => Control.Joint.Abilities.Adaptable.Adaptable z (t Control.Joint.Abilities.Transformer.:> (u Control.Joint.Abilities.Transformer.:> (v Control.Joint.Abilities.Transformer.:> (w Control.Joint.Abilities.Transformer.:> (x Control.Joint.Abilities.Transformer.:> (y Control.Joint.Abilities.Transformer.:> (z Control.Joint.Abilities.Transformer.:> f))))))) instance (Control.Joint.Abilities.Adaptable.Embedding t (Control.Joint.Abilities.Transformer.Schema u (v Control.Joint.Abilities.Transformer.:> (w Control.Joint.Abilities.Transformer.:> (x Control.Joint.Abilities.Transformer.:> (y Control.Joint.Abilities.Transformer.:> (z Control.Joint.Abilities.Transformer.:> (f Control.Joint.Abilities.Transformer.:> h))))))), Control.Joint.Abilities.Adaptable.Embedding u (Control.Joint.Abilities.Transformer.Schema v (w Control.Joint.Abilities.Transformer.:> (x Control.Joint.Abilities.Transformer.:> (y Control.Joint.Abilities.Transformer.:> (z Control.Joint.Abilities.Transformer.:> (f Control.Joint.Abilities.Transformer.:> h)))))), Control.Joint.Abilities.Adaptable.Embedding v (Control.Joint.Abilities.Transformer.Schema w (x Control.Joint.Abilities.Transformer.:> (y Control.Joint.Abilities.Transformer.:> (z Control.Joint.Abilities.Transformer.:> (f Control.Joint.Abilities.Transformer.:> h))))), Control.Joint.Abilities.Adaptable.Embedding w (Control.Joint.Abilities.Transformer.Schema x (y Control.Joint.Abilities.Transformer.:> (z Control.Joint.Abilities.Transformer.:> (f Control.Joint.Abilities.Transformer.:> h)))), Control.Joint.Abilities.Adaptable.Embedding x (Control.Joint.Abilities.Transformer.Schema y (z Control.Joint.Abilities.Transformer.:> (f Control.Joint.Abilities.Transformer.:> h))), Control.Joint.Abilities.Adaptable.Embedding y (Control.Joint.Abilities.Transformer.Schema z (f Control.Joint.Abilities.Transformer.:> h)), Control.Joint.Abilities.Adaptable.Embedding z (Control.Joint.Abilities.Transformer.Schema f h), Control.Joint.Abilities.Adaptable.Building f h, Control.Monad.Trans.Class.MonadTrans ((Control.Joint.Abilities.Transformer.:>) t), Control.Monad.Trans.Class.MonadTrans ((Control.Joint.Abilities.Transformer.:>) u), Control.Monad.Trans.Class.MonadTrans ((Control.Joint.Abilities.Transformer.:>) v), Control.Monad.Trans.Class.MonadTrans ((Control.Joint.Abilities.Transformer.:>) w), Control.Monad.Trans.Class.MonadTrans ((Control.Joint.Abilities.Transformer.:>) x), Control.Monad.Trans.Class.MonadTrans ((Control.Joint.Abilities.Transformer.:>) y), Control.Monad.Trans.Class.MonadTrans ((Control.Joint.Abilities.Transformer.:>) z)) => Control.Joint.Abilities.Adaptable.Adaptable f (t Control.Joint.Abilities.Transformer.:> (u Control.Joint.Abilities.Transformer.:> (v Control.Joint.Abilities.Transformer.:> (w Control.Joint.Abilities.Transformer.:> (x Control.Joint.Abilities.Transformer.:> (y Control.Joint.Abilities.Transformer.:> (z Control.Joint.Abilities.Transformer.:> (f Control.Joint.Abilities.Transformer.:> h)))))))) instance (Control.Joint.Abilities.Adaptable.Embedding t (Control.Joint.Abilities.Transformer.Schema u v), Control.Joint.Abilities.Adaptable.Embedding u v, Control.Monad.Trans.Class.MonadTrans ((Control.Joint.Abilities.Transformer.:>) t), Control.Monad.Trans.Class.MonadTrans ((Control.Joint.Abilities.Transformer.:>) u)) => Control.Joint.Abilities.Adaptable.Adaptable v (t Control.Joint.Abilities.Transformer.:> (u Control.Joint.Abilities.Transformer.:> v)) instance (Control.Joint.Abilities.Adaptable.Embedding t (Control.Joint.Abilities.Transformer.Schema u v), Control.Joint.Abilities.Adaptable.Embedding t (Control.Joint.Abilities.Transformer.Schema u (v Control.Joint.Abilities.Transformer.:> w)), Control.Joint.Abilities.Adaptable.Embedding u (Control.Joint.Abilities.Transformer.Schema v w), Control.Joint.Abilities.Adaptable.Embedding v w, Control.Monad.Trans.Class.MonadTrans ((Control.Joint.Abilities.Transformer.:>) t), Control.Monad.Trans.Class.MonadTrans ((Control.Joint.Abilities.Transformer.:>) u), Control.Monad.Trans.Class.MonadTrans ((Control.Joint.Abilities.Transformer.:>) v)) => Control.Joint.Abilities.Adaptable.Adaptable w (t Control.Joint.Abilities.Transformer.:> (u Control.Joint.Abilities.Transformer.:> (v Control.Joint.Abilities.Transformer.:> w))) instance (Control.Joint.Abilities.Adaptable.Embedding t (Control.Joint.Abilities.Transformer.Schema u (v Control.Joint.Abilities.Transformer.:> (w Control.Joint.Abilities.Transformer.:> x))), Control.Joint.Abilities.Adaptable.Embedding u (Control.Joint.Abilities.Transformer.Schema v (w Control.Joint.Abilities.Transformer.:> x)), Control.Joint.Abilities.Adaptable.Embedding v (Control.Joint.Abilities.Transformer.Schema w x), Control.Joint.Abilities.Adaptable.Embedding w x, Control.Monad.Trans.Class.MonadTrans ((Control.Joint.Abilities.Transformer.:>) t), Control.Monad.Trans.Class.MonadTrans ((Control.Joint.Abilities.Transformer.:>) u), Control.Monad.Trans.Class.MonadTrans ((Control.Joint.Abilities.Transformer.:>) v), Control.Monad.Trans.Class.MonadTrans ((Control.Joint.Abilities.Transformer.:>) w)) => Control.Joint.Abilities.Adaptable.Adaptable x (t Control.Joint.Abilities.Transformer.:> (u Control.Joint.Abilities.Transformer.:> (v Control.Joint.Abilities.Transformer.:> (w Control.Joint.Abilities.Transformer.:> x)))) instance (Control.Joint.Abilities.Adaptable.Embedding t (Control.Joint.Abilities.Transformer.Schema u (v Control.Joint.Abilities.Transformer.:> (w Control.Joint.Abilities.Transformer.:> (x Control.Joint.Abilities.Transformer.:> y)))), Control.Joint.Abilities.Adaptable.Embedding u (Control.Joint.Abilities.Transformer.Schema v (w Control.Joint.Abilities.Transformer.:> (x Control.Joint.Abilities.Transformer.:> y))), Control.Joint.Abilities.Adaptable.Embedding v (Control.Joint.Abilities.Transformer.Schema w (x Control.Joint.Abilities.Transformer.:> y)), Control.Joint.Abilities.Adaptable.Embedding w (Control.Joint.Abilities.Transformer.Schema x y), Control.Joint.Abilities.Adaptable.Embedding x y, Control.Monad.Trans.Class.MonadTrans ((Control.Joint.Abilities.Transformer.:>) t), Control.Monad.Trans.Class.MonadTrans ((Control.Joint.Abilities.Transformer.:>) u), Control.Monad.Trans.Class.MonadTrans ((Control.Joint.Abilities.Transformer.:>) v), Control.Monad.Trans.Class.MonadTrans ((Control.Joint.Abilities.Transformer.:>) w), Control.Monad.Trans.Class.MonadTrans ((Control.Joint.Abilities.Transformer.:>) x)) => Control.Joint.Abilities.Adaptable.Adaptable y (t Control.Joint.Abilities.Transformer.:> (u Control.Joint.Abilities.Transformer.:> (v Control.Joint.Abilities.Transformer.:> (w Control.Joint.Abilities.Transformer.:> (x Control.Joint.Abilities.Transformer.:> y))))) instance (Control.Joint.Abilities.Adaptable.Embedding t (Control.Joint.Abilities.Transformer.Schema u (v Control.Joint.Abilities.Transformer.:> (w Control.Joint.Abilities.Transformer.:> (x Control.Joint.Abilities.Transformer.:> (y Control.Joint.Abilities.Transformer.:> z))))), Control.Joint.Abilities.Adaptable.Embedding u (Control.Joint.Abilities.Transformer.Schema v (w Control.Joint.Abilities.Transformer.:> (x Control.Joint.Abilities.Transformer.:> (y Control.Joint.Abilities.Transformer.:> z)))), Control.Joint.Abilities.Adaptable.Embedding v (Control.Joint.Abilities.Transformer.Schema w (x Control.Joint.Abilities.Transformer.:> (y Control.Joint.Abilities.Transformer.:> z))), Control.Joint.Abilities.Adaptable.Embedding w (Control.Joint.Abilities.Transformer.Schema x (y Control.Joint.Abilities.Transformer.:> z)), Control.Joint.Abilities.Adaptable.Embedding x (Control.Joint.Abilities.Transformer.Schema y z), Control.Joint.Abilities.Adaptable.Embedding y z, Control.Monad.Trans.Class.MonadTrans ((Control.Joint.Abilities.Transformer.:>) t), Control.Monad.Trans.Class.MonadTrans ((Control.Joint.Abilities.Transformer.:>) u), Control.Monad.Trans.Class.MonadTrans ((Control.Joint.Abilities.Transformer.:>) v), Control.Monad.Trans.Class.MonadTrans ((Control.Joint.Abilities.Transformer.:>) w), Control.Monad.Trans.Class.MonadTrans ((Control.Joint.Abilities.Transformer.:>) x), Control.Monad.Trans.Class.MonadTrans ((Control.Joint.Abilities.Transformer.:>) y)) => Control.Joint.Abilities.Adaptable.Adaptable z (t Control.Joint.Abilities.Transformer.:> (u Control.Joint.Abilities.Transformer.:> (v Control.Joint.Abilities.Transformer.:> (w Control.Joint.Abilities.Transformer.:> (x Control.Joint.Abilities.Transformer.:> (y Control.Joint.Abilities.Transformer.:> z)))))) instance (Control.Joint.Abilities.Adaptable.Embedding t (Control.Joint.Abilities.Transformer.Schema u (v Control.Joint.Abilities.Transformer.:> (w Control.Joint.Abilities.Transformer.:> (x Control.Joint.Abilities.Transformer.:> (y Control.Joint.Abilities.Transformer.:> (z Control.Joint.Abilities.Transformer.:> f)))))), Control.Joint.Abilities.Adaptable.Embedding u (Control.Joint.Abilities.Transformer.Schema v (w Control.Joint.Abilities.Transformer.:> (x Control.Joint.Abilities.Transformer.:> (y Control.Joint.Abilities.Transformer.:> (z Control.Joint.Abilities.Transformer.:> f))))), Control.Joint.Abilities.Adaptable.Embedding v (Control.Joint.Abilities.Transformer.Schema w (x Control.Joint.Abilities.Transformer.:> (y Control.Joint.Abilities.Transformer.:> (z Control.Joint.Abilities.Transformer.:> f)))), Control.Joint.Abilities.Adaptable.Embedding w (Control.Joint.Abilities.Transformer.Schema x (y Control.Joint.Abilities.Transformer.:> (z Control.Joint.Abilities.Transformer.:> f))), Control.Joint.Abilities.Adaptable.Embedding x (Control.Joint.Abilities.Transformer.Schema y (z Control.Joint.Abilities.Transformer.:> f)), Control.Joint.Abilities.Adaptable.Embedding y (Control.Joint.Abilities.Transformer.Schema z f), Control.Joint.Abilities.Adaptable.Embedding z f, Control.Monad.Trans.Class.MonadTrans ((Control.Joint.Abilities.Transformer.:>) t), Control.Monad.Trans.Class.MonadTrans ((Control.Joint.Abilities.Transformer.:>) u), Control.Monad.Trans.Class.MonadTrans ((Control.Joint.Abilities.Transformer.:>) v), Control.Monad.Trans.Class.MonadTrans ((Control.Joint.Abilities.Transformer.:>) w), Control.Monad.Trans.Class.MonadTrans ((Control.Joint.Abilities.Transformer.:>) x), Control.Monad.Trans.Class.MonadTrans ((Control.Joint.Abilities.Transformer.:>) y), Control.Monad.Trans.Class.MonadTrans ((Control.Joint.Abilities.Transformer.:>) z)) => Control.Joint.Abilities.Adaptable.Adaptable f (t Control.Joint.Abilities.Transformer.:> (u Control.Joint.Abilities.Transformer.:> (v Control.Joint.Abilities.Transformer.:> (w Control.Joint.Abilities.Transformer.:> (x Control.Joint.Abilities.Transformer.:> (y Control.Joint.Abilities.Transformer.:> (z Control.Joint.Abilities.Transformer.:> f))))))) instance (Control.Joint.Abilities.Adaptable.Embedding t (Control.Joint.Abilities.Transformer.Schema u (v Control.Joint.Abilities.Transformer.:> (w Control.Joint.Abilities.Transformer.:> (x Control.Joint.Abilities.Transformer.:> (y Control.Joint.Abilities.Transformer.:> (z Control.Joint.Abilities.Transformer.:> (f Control.Joint.Abilities.Transformer.:> h))))))), Control.Joint.Abilities.Adaptable.Embedding u (Control.Joint.Abilities.Transformer.Schema v (w Control.Joint.Abilities.Transformer.:> (x Control.Joint.Abilities.Transformer.:> (y Control.Joint.Abilities.Transformer.:> (z Control.Joint.Abilities.Transformer.:> (f Control.Joint.Abilities.Transformer.:> h)))))), Control.Joint.Abilities.Adaptable.Embedding v (Control.Joint.Abilities.Transformer.Schema w (x Control.Joint.Abilities.Transformer.:> (y Control.Joint.Abilities.Transformer.:> (z Control.Joint.Abilities.Transformer.:> (f Control.Joint.Abilities.Transformer.:> h))))), Control.Joint.Abilities.Adaptable.Embedding w (Control.Joint.Abilities.Transformer.Schema x (y Control.Joint.Abilities.Transformer.:> (z Control.Joint.Abilities.Transformer.:> (f Control.Joint.Abilities.Transformer.:> h)))), Control.Joint.Abilities.Adaptable.Embedding x (Control.Joint.Abilities.Transformer.Schema y (z Control.Joint.Abilities.Transformer.:> (f Control.Joint.Abilities.Transformer.:> h))), Control.Joint.Abilities.Adaptable.Embedding y (Control.Joint.Abilities.Transformer.Schema z (f Control.Joint.Abilities.Transformer.:> h)), Control.Joint.Abilities.Adaptable.Embedding z (Control.Joint.Abilities.Transformer.Schema f h), Control.Joint.Abilities.Adaptable.Embedding f h, Control.Monad.Trans.Class.MonadTrans ((Control.Joint.Abilities.Transformer.:>) t), Control.Monad.Trans.Class.MonadTrans ((Control.Joint.Abilities.Transformer.:>) u), Control.Monad.Trans.Class.MonadTrans ((Control.Joint.Abilities.Transformer.:>) v), Control.Monad.Trans.Class.MonadTrans ((Control.Joint.Abilities.Transformer.:>) w), Control.Monad.Trans.Class.MonadTrans ((Control.Joint.Abilities.Transformer.:>) x), Control.Monad.Trans.Class.MonadTrans ((Control.Joint.Abilities.Transformer.:>) y), Control.Monad.Trans.Class.MonadTrans ((Control.Joint.Abilities.Transformer.:>) z), Control.Monad.Trans.Class.MonadTrans ((Control.Joint.Abilities.Transformer.:>) f)) => Control.Joint.Abilities.Adaptable.Adaptable h (t Control.Joint.Abilities.Transformer.:> (u Control.Joint.Abilities.Transformer.:> (v Control.Joint.Abilities.Transformer.:> (w Control.Joint.Abilities.Transformer.:> (x Control.Joint.Abilities.Transformer.:> (y Control.Joint.Abilities.Transformer.:> (z Control.Joint.Abilities.Transformer.:> (f Control.Joint.Abilities.Transformer.:> h)))))))) instance Control.Joint.Abilities.Adaptable.Adaptable t t instance (GHC.Base.Monad u, Control.Monad.Trans.Class.MonadTrans ((Control.Joint.Abilities.Transformer.:>) t)) => Control.Joint.Abilities.Adaptable.Adaptable u (t Control.Joint.Abilities.Transformer.:> u) module Control.Joint.Abilities module Control.Joint.Operators (<$$>) :: (Functor t, Functor u) => (a -> b) -> ((t :. u) := a) -> (t :. u) := b (<$$$>) :: (Functor t, Functor u, Functor v) => (a -> b) -> ((t :. (u :. v)) := a) -> (t :. (u :. v)) := b (<$$$$>) :: (Functor t, Functor u, Functor v, Functor w) => (a -> b) -> ((t :. (u :. (v :. w))) := a) -> (t :. (u :. (v :. w))) := b (<**>) :: (Applicative t, Applicative u) => ((t :. u) := (a -> b)) -> ((t :. u) := a) -> (t :. u) := b (<***>) :: (Applicative t, Applicative u, Applicative v) => ((t :. (u :. v)) := (a -> b)) -> ((t :. (u :. v)) := a) -> (t :. (u :. v)) := b (<****>) :: (Applicative t, Applicative u, Applicative v, Applicative w) => ((t :. (u :. (v :. w))) := (a -> b)) -> ((t :. (u :. (v :. w))) := a) -> (t :. (u :. (v :. w))) := b ($>>=) :: (Functor u, Monad t) => (a -> t b) -> ((u :. t) := a) -> (u :. t) := b (>>=$) :: Monad t => (t b -> c) -> (a -> t b) -> t a -> c module Control.Joint.Effects.Store newtype Store s a Store :: (((,) s :. (->) s) := a) -> Store s a instance GHC.Base.Functor (Control.Joint.Effects.Store.Store s) instance Control.Comonad.Comonad (Control.Joint.Effects.Store.Store s) instance Control.Joint.Abilities.Interpreted.Interpreted (Control.Joint.Effects.Store.Store s) module Control.Joint.Schemes.TU newtype TU t u a TU :: ((t :. u) := a) -> TU t u a instance Control.Joint.Abilities.Interpreted.Interpreted (Control.Joint.Schemes.TU.TU t u) instance GHC.Base.Monad t => Control.Monad.Trans.Class.MonadTrans (Control.Joint.Schemes.TU.TU t) instance Control.Comonad.Comonad t => Control.Comonad.Trans.Class.ComonadTrans (Control.Joint.Schemes.TU.TU t) module Control.Joint.Schemes.TUT newtype TUT t t' u a TUT :: ((t :. (u :. t')) := a) -> TUT t t' u a instance Control.Joint.Abilities.Interpreted.Interpreted (Control.Joint.Schemes.TUT.TUT t t' u) instance (Data.Functor.Adjunction.Adjunction t' t, Data.Distributive.Distributive t) => Control.Monad.Trans.Class.MonadTrans (Control.Joint.Schemes.TUT.TUT t t') module Control.Joint.Schemes.UT newtype UT t u a UT :: ((u :. t) := a) -> UT t u a instance Control.Joint.Abilities.Interpreted.Interpreted (Control.Joint.Schemes.UT.UT t u) instance GHC.Base.Monad t => Control.Monad.Trans.Class.MonadTrans (Control.Joint.Schemes.UT.UT t) instance Control.Comonad.Comonad t => Control.Comonad.Trans.Class.ComonadTrans (Control.Joint.Schemes.UT.UT t) module Control.Joint.Schemes module Control.Joint.Effects.Writer newtype Writer e a Writer :: (e, a) -> Writer e a type Accumulated e t = Adaptable (Writer e) t add :: Accumulated e t => e -> t () instance GHC.Base.Functor (Control.Joint.Effects.Writer.Writer e) instance GHC.Base.Monoid e => GHC.Base.Applicative (Control.Joint.Effects.Writer.Writer e) instance GHC.Base.Monoid e => GHC.Base.Monad (Control.Joint.Effects.Writer.Writer e) instance Control.Joint.Abilities.Interpreted.Interpreted (Control.Joint.Effects.Writer.Writer e) instance GHC.Base.Monoid e => Control.Joint.Abilities.Transformer.Transformer (Control.Joint.Effects.Writer.Writer e) instance GHC.Base.Functor u => GHC.Base.Functor (Control.Joint.Schemes.UT.UT ((,) e) u) instance (GHC.Base.Monoid e, GHC.Base.Applicative u) => GHC.Base.Applicative (Control.Joint.Schemes.UT.UT ((,) e) u) instance (GHC.Base.Monoid e, GHC.Base.Applicative u, GHC.Base.Monad u) => GHC.Base.Monad (Control.Joint.Schemes.UT.UT ((,) e) u) module Control.Joint.Effects.Reader newtype Reader e a Reader :: (e -> a) -> Reader e a type Configured e = Adaptable (Reader e) get :: Configured e t => t e instance GHC.Base.Functor (Control.Joint.Effects.Reader.Reader e) instance GHC.Base.Applicative (Control.Joint.Effects.Reader.Reader e) instance GHC.Base.Monad (Control.Joint.Effects.Reader.Reader e) instance Control.Joint.Abilities.Interpreted.Interpreted (Control.Joint.Effects.Reader.Reader e) instance Control.Joint.Abilities.Transformer.Transformer (Control.Joint.Effects.Reader.Reader e) instance GHC.Base.Functor u => GHC.Base.Functor (Control.Joint.Schemes.TU.TU ((->) e) u) instance GHC.Base.Applicative u => GHC.Base.Applicative (Control.Joint.Schemes.TU.TU ((->) e) u) instance (GHC.Base.Applicative u, GHC.Base.Monad u) => GHC.Base.Monad (Control.Joint.Schemes.TU.TU ((->) e) u) module Control.Joint.Effects.State newtype State s a State :: (((->) s :. (,) s) := a) -> State s a statefully :: s -> State s a -> (s, a) type Stateful e = Adaptable (State e) modify :: Stateful s t => (s -> s) -> t () current :: Stateful s t => t s replace :: Stateful s t => s -> t () instance GHC.Base.Functor (Control.Joint.Effects.State.State s) instance GHC.Base.Applicative (Control.Joint.Effects.State.State s) instance GHC.Base.Monad (Control.Joint.Effects.State.State s) instance Control.Joint.Abilities.Interpreted.Interpreted (Control.Joint.Effects.State.State s) instance Control.Joint.Abilities.Transformer.Transformer (Control.Joint.Effects.State.State s) instance Control.Joint.Abilities.Completable.Completable (Control.Joint.Effects.Reader.Reader e) (Control.Joint.Effects.State.State e) instance Control.Joint.Abilities.Completable.Completable (Control.Joint.Effects.Writer.Writer e) (Control.Joint.Effects.State.State e) instance GHC.Base.Functor u => GHC.Base.Functor (Control.Joint.Schemes.TUT.TUT ((->) s) ((,) s) u) instance GHC.Base.Monad u => GHC.Base.Applicative (Control.Joint.Schemes.TUT.TUT ((->) s) ((,) s) u) instance GHC.Base.Monad u => GHC.Base.Monad (Control.Joint.Schemes.TUT.TUT ((->) s) ((,) s) u) instance (GHC.Base.Alternative u, GHC.Base.Monad u) => GHC.Base.Alternative (Control.Joint.Schemes.TUT.TUT ((->) s) ((,) s) u) module Control.Joint.Effects.Maybe type Optional = Adaptable Maybe nothing :: Optional t => t a instance Control.Joint.Abilities.Interpreted.Interpreted GHC.Maybe.Maybe instance Control.Joint.Abilities.Transformer.Transformer GHC.Maybe.Maybe instance GHC.Base.Functor u => GHC.Base.Functor (Control.Joint.Schemes.UT.UT GHC.Maybe.Maybe u) instance GHC.Base.Applicative u => GHC.Base.Applicative (Control.Joint.Schemes.UT.UT GHC.Maybe.Maybe u) instance (GHC.Base.Applicative u, GHC.Base.Monad u) => GHC.Base.Monad (Control.Joint.Schemes.UT.UT GHC.Maybe.Maybe u) instance Control.Joint.Abilities.Completable.Completable (Data.Either.Either e) GHC.Maybe.Maybe module Control.Joint.Effects.Either type Failable e = Adaptable (Either e) failure :: Failable e t => e -> t a instance Control.Joint.Abilities.Interpreted.Interpreted (Data.Either.Either e) instance Control.Joint.Abilities.Transformer.Transformer (Data.Either.Either e) instance GHC.Base.Functor u => GHC.Base.Functor (Control.Joint.Schemes.UT.UT (Data.Either.Either e) u) instance GHC.Base.Applicative u => GHC.Base.Applicative (Control.Joint.Schemes.UT.UT (Data.Either.Either e) u) instance (GHC.Base.Applicative u, GHC.Base.Monad u) => GHC.Base.Monad (Control.Joint.Schemes.UT.UT (Data.Either.Either e) u) module Control.Joint.Effects module Control.Joint