Safe Haskell | Safe-Inferred |
---|---|
Language | Haskell2010 |
Documentation
class Interpreted t => Comonadic t where Source #
newtype (t :< u) a infixr 3 Source #
Instances
Lowerable (Schematic Comonad t) => Lowerable ((:<) t) Source # | |
Hoistable (Schematic Comonad t) => Hoistable ((:<) t :: (Type -> Type) -> Type -> Type) Source # | |
(Covariant (t :< (u :< (v :< (w :< (x :< (y :< (z :< (f :< h)))))))), Lowering t (Schematic Comonad u (v :< (w :< (x :< (y :< (z :< (f :< h))))))), Lowering u (Schematic Comonad v (w :< (x :< (y :< (z :< (f :< h)))))), Lowering v (Schematic Comonad w (x :< (y :< (z :< (f :< h))))), Lowering w (Schematic Comonad x (y :< (z :< (f :< h)))), Lowering x (Schematic Comonad y (z :< (f :< h))), Lowering y (Schematic Comonad z (f :< h)), Lowering z (Schematic Comonad f h), Bringable f h) => Adaptable (t :< (u :< (v :< (w :< (x :< (y :< (z :< (f :< h))))))) :: Type -> Type) (f :: Type -> Type) Source # | |
(Covariant (t :< (u :< (v :< (w :< (x :< (y :< (z :< (f :< h)))))))), Lowering t (Schematic Comonad u (v :< (w :< (x :< (y :< (z :< (f :< h))))))), Lowering u (Schematic Comonad v (w :< (x :< (y :< (z :< (f :< h)))))), Lowering v (Schematic Comonad w (x :< (y :< (z :< (f :< h))))), Lowering w (Schematic Comonad x (y :< (z :< (f :< h)))), Lowering x (Schematic Comonad y (z :< (f :< h))), Lowering y (Schematic Comonad z (f :< h)), Lowering z (Schematic Comonad f h), Lowering f h) => Adaptable (t :< (u :< (v :< (w :< (x :< (y :< (z :< (f :< h))))))) :: Type -> Type) (h :: Type -> Type) Source # | |
(Covariant (t :< (u :< (v :< (w :< (x :< (y :< (z :< f))))))), Lowering t (Schematic Comonad u (v :< (w :< (x :< (y :< (z :< f)))))), Lowering u (Schematic Comonad v (w :< (x :< (y :< (z :< f))))), Lowering v (Schematic Comonad w (x :< (y :< (z :< f)))), Lowering w (Schematic Comonad x (y :< (z :< f))), Lowering x (Schematic Comonad y (z :< f)), Lowering y (Schematic Comonad z f), Bringable z f) => Adaptable (t :< (u :< (v :< (w :< (x :< (y :< (z :< f)))))) :: Type -> Type) (z :: Type -> Type) Source # | |
(Covariant (t :< (u :< (v :< (w :< (x :< (y :< (z :< f))))))), Lowering t (Schematic Comonad u (v :< (w :< (x :< (y :< (z :< f)))))), Lowering u (Schematic Comonad v (w :< (x :< (y :< (z :< f))))), Lowering v (Schematic Comonad w (x :< (y :< (z :< f)))), Lowering w (Schematic Comonad x (y :< (z :< f))), Lowering x (Schematic Comonad y (z :< f)), Lowering y (Schematic Comonad z f), Lowering z f) => Adaptable (t :< (u :< (v :< (w :< (x :< (y :< (z :< f)))))) :: Type -> Type) (f :: Type -> Type) Source # | |
(Covariant (t :< (u :< (v :< (w :< (x :< (y :< z)))))), Lowering t (Schematic Comonad u (v :< (w :< (x :< (y :< z))))), Lowering u (Schematic Comonad v (w :< (x :< (y :< z)))), Lowering v (Schematic Comonad w (x :< (y :< z))), Lowering w (Schematic Comonad x (y :< z)), Lowering x (Schematic Comonad y z), Bringable y z) => Adaptable (t :< (u :< (v :< (w :< (x :< (y :< z))))) :: Type -> Type) (y :: Type -> Type) Source # | |
(Covariant (t :< (u :< (v :< (w :< (x :< (y :< z)))))), Lowering t (Schematic Comonad u (v :< (w :< (x :< (y :< z))))), Lowering u (Schematic Comonad v (w :< (x :< (y :< z)))), Lowering v (Schematic Comonad w (x :< (y :< z))), Lowering w (Schematic Comonad x (y :< z)), Lowering x (Schematic Comonad y z), Lowering y z) => Adaptable (t :< (u :< (v :< (w :< (x :< (y :< z))))) :: Type -> Type) (z :: Type -> Type) Source # | |
(Covariant (t :< (u :< (v :< (w :< (x :< y))))), Lowering t (Schematic Comonad u (v :< (w :< (x :< y)))), Lowering u (Schematic Comonad v (w :< (x :< y))), Lowering v (Schematic Comonad w (x :< y)), Lowering w (Schematic Comonad x y), Bringable x y) => Adaptable (t :< (u :< (v :< (w :< (x :< y)))) :: Type -> Type) (x :: Type -> Type) Source # | |
(Covariant (t :< (u :< (v :< (w :< (x :< y))))), Lowering t (Schematic Comonad u (v :< (w :< (x :< y)))), Lowering u (Schematic Comonad v (w :< (x :< y))), Lowering v (Schematic Comonad w (x :< y)), Lowering w (Schematic Comonad x y), Lowering x y) => Adaptable (t :< (u :< (v :< (w :< (x :< y)))) :: Type -> Type) (y :: Type -> Type) Source # | |
(Covariant (t :< (u :< (v :< (w :< x)))), Lowering t (Schematic Comonad u (v :< (w :< x))), Lowering u (Schematic Comonad v (w :< x)), Lowering v (Schematic Comonad w x), Bringable w x) => Adaptable (t :< (u :< (v :< (w :< x))) :: Type -> Type) (w :: Type -> Type) Source # | |
(Covariant (t :< (u :< (v :< (w :< x)))), Lowering t (Schematic Comonad u (v :< (w :< x))), Lowering u (Schematic Comonad v (w :< x)), Lowering v (Schematic Comonad w x), Lowering w x) => Adaptable (t :< (u :< (v :< (w :< x))) :: Type -> Type) (x :: Type -> Type) Source # | |
(Covariant (t :< (u :< (v :< w))), Lowering t (Schematic Comonad u v), Lowering t (Schematic Comonad u (v :< w)), Lowering u (Schematic Comonad v w), Lowering v w) => Adaptable (t :< (u :< (v :< w)) :: Type -> Type) (w :: Type -> Type) Source # | |
(Covariant (t :< (u :< (v :< w))), Lowering t (Schematic Comonad u (v :< w)), Lowering u (Schematic Comonad v w), Bringable v w) => Adaptable (t :< (u :< (v :< w)) :: Type -> Type) (v :: Type -> Type) Source # | |
(Covariant (t :< (u :< v)), Lowering t (Schematic Comonad u v), Lowering u v) => Adaptable (t :< (u :< v) :: Type -> Type) (v :: Type -> Type) Source # | |
(Covariant (t :< (u :< v)), Lowering t (Schematic Comonad u v), Bringable u v) => Adaptable (t :< (u :< v) :: Type -> Type) (u :: Type -> Type) Source # | |
(Covariant (t :< u), Bringable t u) => Adaptable (t :< u :: Type -> Type) (t :: Type -> Type) Source # | |
(Covariant (t :> u), Lowering t u) => Adaptable (t :< u :: Type -> Type) (u :: Type -> Type) Source # | |
Covariant (Schematic Comonad t u) => Covariant (t :< u) Source # | |
Defined in Pandora.Paradigm.Controlflow.Effect.Transformer.Comonadic (<$>) :: (a -> b) -> (t :< u) a -> (t :< u) b Source # comap :: (a -> b) -> (t :< u) a -> (t :< u) b Source # (<$) :: a -> (t :< u) b -> (t :< u) a Source # ($>) :: (t :< u) a -> b -> (t :< u) b Source # void :: (t :< u) a -> (t :< u) () Source # loeb :: (t :< u) (a <:= (t :< u)) -> (t :< u) a Source # (<&>) :: (t :< u) a -> (a -> b) -> (t :< u) b Source # (<$$>) :: Covariant u0 => (a -> b) -> (((t :< u) :. u0) := a) -> ((t :< u) :. u0) := b Source # (<$$$>) :: (Covariant u0, Covariant v) => (a -> b) -> (((t :< u) :. (u0 :. v)) := a) -> ((t :< u) :. (u0 :. v)) := b Source # (<$$$$>) :: (Covariant u0, Covariant v, Covariant w) => (a -> b) -> (((t :< u) :. (u0 :. (v :. w))) := a) -> ((t :< u) :. (u0 :. (v :. w))) := b Source # (<&&>) :: Covariant u0 => (((t :< u) :. u0) := a) -> (a -> b) -> ((t :< u) :. u0) := b Source # (<&&&>) :: (Covariant u0, Covariant v) => (((t :< u) :. (u0 :. v)) := a) -> (a -> b) -> ((t :< u) :. (u0 :. v)) := b Source # (<&&&&>) :: (Covariant u0, Covariant v, Covariant w) => (((t :< u) :. (u0 :. (v :. w))) := a) -> (a -> b) -> ((t :< u) :. (u0 :. (v :. w))) := b Source # (.#..) :: ((t :< u) ~ v a, Category v) => v c d -> ((v a :. v b) := c) -> (v a :. v b) := d Source # (.#...) :: ((t :< u) ~ v a, (t :< u) ~ v b, Category v, Covariant (v a), Covariant (v b)) => v d e -> ((v a :. (v b :. v c)) := d) -> (v a :. (v b :. v c)) := e Source # (.#....) :: ((t :< u) ~ v a, (t :< u) ~ v b, (t :< u) ~ v c, Category v, Covariant (v a), Covariant (v b), Covariant (v c)) => v e f -> ((v a :. (v b :. (v c :. v d))) := e) -> (v a :. (v b :. (v c :. v d))) := f Source # (<$$) :: Covariant u0 => b -> (((t :< u) :. u0) := a) -> ((t :< u) :. u0) := b Source # (<$$$) :: (Covariant u0, Covariant v) => b -> (((t :< u) :. (u0 :. v)) := a) -> ((t :< u) :. (u0 :. v)) := b Source # (<$$$$) :: (Covariant u0, Covariant v, Covariant w) => b -> (((t :< u) :. (u0 :. (v :. w))) := a) -> ((t :< u) :. (u0 :. (v :. w))) := b Source # ($$>) :: Covariant u0 => (((t :< u) :. u0) := a) -> b -> ((t :< u) :. u0) := b Source # ($$$>) :: (Covariant u0, Covariant v) => (((t :< u) :. (u0 :. v)) := a) -> b -> ((t :< u) :. (u0 :. v)) := b Source # ($$$$>) :: (Covariant u0, Covariant v, Covariant w) => (((t :< u) :. (u0 :. (v :. w))) := a) -> b -> ((t :< u) :. (u0 :. (v :. w))) := b Source # | |
Bindable (Schematic Comonad t u) => Bindable (t :< u) Source # | |
Defined in Pandora.Paradigm.Controlflow.Effect.Transformer.Comonadic (>>=) :: (t :< u) a -> (a -> (t :< u) b) -> (t :< u) b Source # (=<<) :: (a -> (t :< u) b) -> (t :< u) a -> (t :< u) b Source # bind :: (a -> (t :< u) b) -> (t :< u) a -> (t :< u) b Source # join :: (((t :< u) :. (t :< u)) := a) -> (t :< u) a Source # (>=>) :: (a -> (t :< u) b) -> (b -> (t :< u) c) -> a -> (t :< u) c Source # (<=<) :: (b -> (t :< u) c) -> (a -> (t :< u) b) -> a -> (t :< u) c Source # ($>>=) :: Covariant u0 => ((u0 :. (t :< u)) := a) -> (a -> (t :< u) b) -> (u0 :. (t :< u)) := b Source # | |
Applicative (Schematic Comonad t u) => Applicative (t :< u) Source # | |
Defined in Pandora.Paradigm.Controlflow.Effect.Transformer.Comonadic (<*>) :: (t :< u) (a -> b) -> (t :< u) a -> (t :< u) b Source # apply :: (t :< u) (a -> b) -> (t :< u) a -> (t :< u) b Source # (*>) :: (t :< u) a -> (t :< u) b -> (t :< u) b Source # (<*) :: (t :< u) a -> (t :< u) b -> (t :< u) a Source # forever :: (t :< u) a -> (t :< u) b Source # (<%>) :: (t :< u) a -> (t :< u) (a -> b) -> (t :< u) b Source # (<**>) :: Applicative u0 => (((t :< u) :. u0) := (a -> b)) -> (((t :< u) :. u0) := a) -> ((t :< u) :. u0) := b Source # (<***>) :: (Applicative u0, Applicative v) => (((t :< u) :. (u0 :. v)) := (a -> b)) -> (((t :< u) :. (u0 :. v)) := a) -> ((t :< u) :. (u0 :. v)) := b Source # (<****>) :: (Applicative u0, Applicative v, Applicative w) => (((t :< u) :. (u0 :. (v :. w))) := (a -> b)) -> (((t :< u) :. (u0 :. (v :. w))) := a) -> ((t :< u) :. (u0 :. (v :. w))) := b Source # | |
Alternative (Schematic Comonad t u) => Alternative (t :< u) Source # | |
Distributive (Schematic Comonad t u) => Distributive (t :< u) Source # | |
Defined in Pandora.Paradigm.Controlflow.Effect.Transformer.Comonadic (>>-) :: Covariant u0 => u0 a -> (a -> (t :< u) b) -> ((t :< u) :. u0) := b Source # collect :: Covariant u0 => (a -> (t :< u) b) -> u0 a -> ((t :< u) :. u0) := b Source # distribute :: Covariant u0 => ((u0 :. (t :< u)) := a) -> ((t :< u) :. u0) := a Source # (>>>-) :: (Covariant u0, Covariant v) => ((u0 :. v) := a) -> (a -> (t :< u) b) -> ((t :< u) :. (u0 :. v)) := b Source # (>>>>-) :: (Covariant u0, Covariant v, Covariant w) => ((u0 :. (v :. w)) := a) -> (a -> (t :< u) b) -> ((t :< u) :. (u0 :. (v :. w))) := b Source # (>>>>>-) :: (Covariant u0, Covariant v, Covariant w, Covariant j) => ((u0 :. (v :. (w :. j))) := a) -> (a -> (t :< u) b) -> ((t :< u) :. (u0 :. (v :. (w :. j)))) := b Source # | |
Extendable (Schematic Comonad t u) => Extendable (t :< u) Source # | |
Defined in Pandora.Paradigm.Controlflow.Effect.Transformer.Comonadic (=>>) :: (t :< u) a -> ((t :< u) a -> b) -> (t :< u) b Source # (<<=) :: ((t :< u) a -> b) -> (t :< u) a -> (t :< u) b Source # extend :: ((t :< u) a -> b) -> (t :< u) a -> (t :< u) b Source # duplicate :: (t :< u) a -> ((t :< u) :. (t :< u)) := a Source # (=<=) :: ((t :< u) b -> c) -> ((t :< u) a -> b) -> (t :< u) a -> c Source # (=>=) :: ((t :< u) a -> b) -> ((t :< u) b -> c) -> (t :< u) a -> c Source # ($=>>) :: Covariant u0 => ((u0 :. (t :< u)) := a) -> ((t :< u) a -> b) -> (u0 :. (t :< u)) := b Source # (<<=$) :: Covariant u0 => ((u0 :. (t :< u)) := a) -> ((t :< u) a -> b) -> (u0 :. (t :< u)) := b Source # | |
Traversable (Schematic Comonad t u) => Traversable (t :< u) Source # | |
Defined in Pandora.Paradigm.Controlflow.Effect.Transformer.Comonadic (->>) :: (Pointable u0 (->), Applicative u0) => (t :< u) a -> (a -> u0 b) -> (u0 :. (t :< u)) := b Source # traverse :: (Pointable u0 (->), Applicative u0) => (a -> u0 b) -> (t :< u) a -> (u0 :. (t :< u)) := b Source # sequence :: (Pointable u0 (->), Applicative u0) => (((t :< u) :. u0) := a) -> (u0 :. (t :< u)) := a Source # (->>>) :: (Pointable u0 (->), Applicative u0, Traversable v) => ((v :. (t :< u)) := a) -> (a -> u0 b) -> (u0 :. (v :. (t :< u))) := b Source # (->>>>) :: (Pointable u0 (->), Applicative u0, Traversable v, Traversable w) => ((w :. (v :. (t :< u))) := a) -> (a -> u0 b) -> (u0 :. (w :. (v :. (t :< u)))) := b Source # (->>>>>) :: (Pointable u0 (->), Applicative u0, Traversable v, Traversable w, Traversable j) => ((j :. (w :. (v :. (t :< u)))) := a) -> (a -> u0 b) -> (u0 :. (j :. (w :. (v :. (t :< u))))) := b Source # | |
Interpreted (Schematic Comonad t u) => Interpreted (t :< u) Source # | |
Defined in Pandora.Paradigm.Controlflow.Effect.Transformer.Comonadic run :: (t :< u) a -> Primary (t :< u) a Source # unite :: Primary (t :< u) a -> (t :< u) a Source # (||=) :: Interpreted u0 => (Primary (t :< u) a -> Primary u0 b) -> (t :< u) a -> u0 b Source # (=||) :: Interpreted u0 => ((t :< u) a -> u0 b) -> Primary (t :< u) a -> Primary u0 b Source # (<$||=) :: (Covariant j, Interpreted u0) => (Primary (t :< u) a -> Primary u0 b) -> (j := (t :< u) a) -> j := u0 b Source # (<$$||=) :: (Covariant j, Covariant k, Interpreted u0) => (Primary (t :< u) a -> Primary u0 b) -> ((j :. k) := (t :< u) a) -> (j :. k) := u0 b Source # (<$$$||=) :: (Covariant j, Covariant k, Covariant l, Interpreted u0) => (Primary (t :< u) a -> Primary u0 b) -> ((j :. (k :. l)) := (t :< u) a) -> (j :. (k :. l)) := u0 b Source # (<$$$$||=) :: (Covariant j, Covariant k, Covariant l, Covariant m, Interpreted u0) => (Primary (t :< u) a -> Primary u0 b) -> ((j :. (k :. (l :. m))) := (t :< u) a) -> (j :. (k :. (l :. m))) := u0 b Source # (=||$>) :: (Covariant j, Interpreted u0) => ((t :< u) a -> u0 b) -> (j := Primary (t :< u) a) -> j := Primary u0 b Source # (=||$$>) :: (Covariant j, Covariant k, Interpreted u0) => ((t :< u) a -> u0 b) -> ((j :. k) := Primary (t :< u) a) -> (j :. k) := Primary u0 b Source # (=||$$$>) :: (Covariant j, Covariant k, Covariant l, Interpreted u0) => ((t :< u) a -> u0 b) -> ((j :. (k :. l)) := Primary (t :< u) a) -> (j :. (k :. l)) := Primary u0 b Source # (=||$$$$>) :: (Covariant j, Covariant k, Covariant l, Covariant m, Interpreted u0) => ((t :< u) a -> u0 b) -> ((j :. (k :. (l :. m))) := Primary (t :< u) a) -> (j :. (k :. (l :. m))) := Primary u0 b Source # | |
Extractable (Schematic Comonad t u) ((->) :: Type -> Type -> Type) => Extractable (t :< u) ((->) :: Type -> Type -> Type) Source # | |
(Extractable (t :< u) ((->) :: Type -> Type -> Type), Extendable (t :< u)) => Comonad (t :< u) ((->) :: Type -> Type -> Type) Source # | |
Pointable (Schematic Comonad t u) ((->) :: Type -> Type -> Type) => Pointable (t :< u) ((->) :: Type -> Type -> Type) Source # | |
Covariant_ (Schematic Comonad t u) ((->) :: Type -> Type -> Type) ((->) :: Type -> Type -> Type) => Covariant_ (t :< u) ((->) :: Type -> Type -> Type) ((->) :: Type -> Type -> Type) Source # | |
type Primary (t :< u) a Source # | |