Safe Haskell | Safe |
---|---|
Language | Haskell2010 |
Documentation
Instances
Pointable t => Liftable (T t) Source # | |
Extractable t => Lowerable (T t) Source # | |
(Covariant t, Covariant u) => Covariant (T t u) Source # | |
Defined in Pandora.Paradigm.Junction.Transformer (<$>) :: (a -> b) -> T t u a -> T t u b Source # comap :: (a -> b) -> T t u a -> T t u b Source # (<$) :: a -> T t u b -> T t u a Source # ($>) :: T t u a -> b -> T t u b Source # void :: T t u a -> T t u () Source # loeb :: T t u (T t u a -> a) -> T t u a Source # (<&>) :: T t u a -> (a -> b) -> T t u b Source # (<$$>) :: Covariant u0 => (a -> b) -> ((T t u :.: u0) >< a) -> (T t u :.: u0) >< b Source # (<$$$>) :: (Covariant u0, Covariant v) => (a -> b) -> ((T t u :.: (u0 :.: v)) >< a) -> (T t u :.: (u0 :.: v)) >< b Source # (<$$$$>) :: (Covariant u0, Covariant v, Covariant w) => (a -> b) -> ((T t u :.: (u0 :.: (v :.: w))) >< a) -> (T t u :.: (u0 :.: (v :.: w))) >< b Source # (<&&>) :: Covariant u0 => ((T t u :.: u0) >< a) -> (a -> b) -> (T t u :.: u0) >< b Source # (<&&&>) :: (Covariant u0, Covariant v) => ((T t u :.: (u0 :.: v)) >< a) -> (a -> b) -> (T t u :.: (u0 :.: v)) >< b Source # (<&&&&>) :: (Covariant u0, Covariant v, Covariant w) => ((T t u :.: (u0 :.: (v :.: w))) >< a) -> (a -> b) -> (T t u :.: (u0 :.: (v :.: w))) >< b Source # | |
(Pointable t, Bindable t) => Bindable (Maybe :!: t) Source # | |
Defined in Pandora.Paradigm.Basis.Maybe (>>=) :: (Maybe :!: t) a -> (a -> (Maybe :!: t) b) -> (Maybe :!: t) b Source # (=<<) :: (a -> (Maybe :!: t) b) -> (Maybe :!: t) a -> (Maybe :!: t) b Source # bind :: (a -> (Maybe :!: t) b) -> (Maybe :!: t) a -> (Maybe :!: t) b Source # join :: ((Maybe :!: t) :.: (Maybe :!: t)) a -> (Maybe :!: t) a Source # (>=>) :: (a -> (Maybe :!: t) b) -> (b -> (Maybe :!: t) c) -> a -> (Maybe :!: t) c Source # (<=<) :: (b -> (Maybe :!: t) c) -> (a -> (Maybe :!: t) b) -> a -> (Maybe :!: t) c Source # | |
(Pointable t, Bindable t) => Bindable (Conclusion e :!: t) Source # | |
Defined in Pandora.Paradigm.Basis.Conclusion (>>=) :: (Conclusion e :!: t) a -> (a -> (Conclusion e :!: t) b) -> (Conclusion e :!: t) b Source # (=<<) :: (a -> (Conclusion e :!: t) b) -> (Conclusion e :!: t) a -> (Conclusion e :!: t) b Source # bind :: (a -> (Conclusion e :!: t) b) -> (Conclusion e :!: t) a -> (Conclusion e :!: t) b Source # join :: ((Conclusion e :!: t) :.: (Conclusion e :!: t)) a -> (Conclusion e :!: t) a Source # (>=>) :: (a -> (Conclusion e :!: t) b) -> (b -> (Conclusion e :!: t) c) -> a -> (Conclusion e :!: t) c Source # (<=<) :: (b -> (Conclusion e :!: t) c) -> (a -> (Conclusion e :!: t) b) -> a -> (Conclusion e :!: t) c Source # | |
(Applicative t, Applicative u) => Applicative (T t u) Source # | |
Defined in Pandora.Paradigm.Junction.Transformer (<*>) :: T t u (a -> b) -> T t u a -> T t u b Source # apply :: T t u (a -> b) -> T t u a -> T t u b Source # (*>) :: T t u a -> T t u b -> T t u b Source # (<*) :: T t u a -> T t u b -> T t u a Source # forever :: T t u a -> T t u b Source # (<**>) :: Applicative u0 => (T t u :.: u0) (a -> b) -> (T t u :.: u0) a -> (T t u :.: u0) b Source # (<***>) :: (Applicative u0, Applicative v) => (T t u :.: (u0 :.: v)) (a -> b) -> (T t u :.: (u0 :.: v)) a -> (T t u :.: (u0 :.: v)) b Source # (<****>) :: (Applicative u0, Applicative v, Applicative w) => (T t u :.: (u0 :.: (v :.: w))) (a -> b) -> (T t u :.: (u0 :.: (v :.: w))) a -> (T t u :.: (u0 :.: (v :.: w))) b Source # | |
(Covariant t, Alternative u) => Alternative (T t u) Source # | |
(Covariant t, Avoidable u) => Avoidable (T t u) Source # | |
Defined in Pandora.Paradigm.Junction.Transformer | |
(Distributive t, Distributive u) => Distributive (T t u) Source # | |
Defined in Pandora.Paradigm.Junction.Transformer (>>-) :: Covariant t0 => t0 a -> (a -> T t u b) -> (T t u :.: t0) b Source # collect :: Covariant t0 => (a -> T t u b) -> t0 a -> (T t u :.: t0) b Source # distribute :: Covariant t0 => (t0 :.: T t u) a -> (T t u :.: t0) a Source # (>>>-) :: (Covariant t0, Covariant v) => (t0 :.: v) a -> (a -> T t u b) -> (T t u :.: (t0 :.: v)) b Source # (>>>>-) :: (Covariant t0, Covariant v, Covariant w) => (t0 :.: (v :.: w)) a -> (a -> T t u b) -> (T t u :.: (t0 :.: (v :.: w))) b Source # (>>>>>-) :: (Covariant t0, Covariant v, Covariant w, Covariant j) => (t0 :.: (v :.: (w :.: j))) a -> (a -> T t u b) -> (T t u :.: (t0 :.: (v :.: (w :.: j)))) b Source # | |
(Extractable t, Extractable u) => Extractable (T t u) Source # | |
Defined in Pandora.Paradigm.Junction.Transformer | |
(Pointable t, Pointable u) => Pointable (T t u) Source # | |
Defined in Pandora.Paradigm.Junction.Transformer | |
Monad t => Monad (Maybe :!: t) Source # | |
Defined in Pandora.Paradigm.Basis.Maybe | |
Monad t => Monad (Conclusion e :!: t) Source # | |
Defined in Pandora.Paradigm.Basis.Conclusion | |
(Traversable t, Traversable u) => Traversable (T t u) Source # | |
Defined in Pandora.Paradigm.Junction.Transformer (->>) :: (Pointable u0, Applicative u0) => T t u a -> (a -> u0 b) -> (u0 :.: T t u) b Source # traverse :: (Pointable u0, Applicative u0) => (a -> u0 b) -> T t u a -> (u0 :.: T t u) b Source # sequence :: (Pointable u0, Applicative u0) => (T t u :.: u0) a -> (u0 :.: T t u) a Source # (->>>) :: (Pointable u0, Applicative u0, Traversable v) => (v :.: T t u) a -> (a -> u0 b) -> (u0 :.: (v :.: T t u)) b Source # (->>>>) :: (Pointable u0, Applicative u0, Traversable v, Traversable w) => (w :.: (v :.: T t u)) a -> (a -> u0 b) -> (u0 :.: (w :.: (v :.: T t u))) b Source # (->>>>>) :: (Pointable u0, Applicative u0, Traversable v, Traversable w, Traversable j) => (j :.: (w :.: (v :.: T t u))) a -> (a -> u0 b) -> (u0 :.: (j :.: (w :.: (v :.: T t u)))) b Source # | |
Semigroup ((u :.: t) a) => Semigroup (T t u a) Source # | |
Monoid ((u :.: t) a) => Monoid (T t u a) Source # | |
Defined in Pandora.Paradigm.Junction.Transformer | |
Setoid ((u :.: t) a) => Setoid (T t u a) Source # | |
Chain ((u :.: t) a) => Chain (T t u a) Source # | |
Instances
(forall (u' :: Type -> Type). Pointable u', Liftable t) => Liftable (Y t) Source # | |
(forall (u' :: Type -> Type). Extractable u', Lowerable t) => Lowerable (Y t) Source # | |
(Covariant (t u), Covariant u) => Covariant (Y t u) Source # | |
Defined in Pandora.Paradigm.Junction.Transformer (<$>) :: (a -> b) -> Y t u a -> Y t u b Source # comap :: (a -> b) -> Y t u a -> Y t u b Source # (<$) :: a -> Y t u b -> Y t u a Source # ($>) :: Y t u a -> b -> Y t u b Source # void :: Y t u a -> Y t u () Source # loeb :: Y t u (Y t u a -> a) -> Y t u a Source # (<&>) :: Y t u a -> (a -> b) -> Y t u b Source # (<$$>) :: Covariant u0 => (a -> b) -> ((Y t u :.: u0) >< a) -> (Y t u :.: u0) >< b Source # (<$$$>) :: (Covariant u0, Covariant v) => (a -> b) -> ((Y t u :.: (u0 :.: v)) >< a) -> (Y t u :.: (u0 :.: v)) >< b Source # (<$$$$>) :: (Covariant u0, Covariant v, Covariant w) => (a -> b) -> ((Y t u :.: (u0 :.: (v :.: w))) >< a) -> (Y t u :.: (u0 :.: (v :.: w))) >< b Source # (<&&>) :: Covariant u0 => ((Y t u :.: u0) >< a) -> (a -> b) -> (Y t u :.: u0) >< b Source # (<&&&>) :: (Covariant u0, Covariant v) => ((Y t u :.: (u0 :.: v)) >< a) -> (a -> b) -> (Y t u :.: (u0 :.: v)) >< b Source # (<&&&&>) :: (Covariant u0, Covariant v, Covariant w) => ((Y t u :.: (u0 :.: (v :.: w))) >< a) -> (a -> b) -> (Y t u :.: (u0 :.: (v :.: w))) >< b Source # | |
(Applicative (t u), Applicative u) => Applicative (Y t u) Source # | |
Defined in Pandora.Paradigm.Junction.Transformer (<*>) :: Y t u (a -> b) -> Y t u a -> Y t u b Source # apply :: Y t u (a -> b) -> Y t u a -> Y t u b Source # (*>) :: Y t u a -> Y t u b -> Y t u b Source # (<*) :: Y t u a -> Y t u b -> Y t u a Source # forever :: Y t u a -> Y t u b Source # (<**>) :: Applicative u0 => (Y t u :.: u0) (a -> b) -> (Y t u :.: u0) a -> (Y t u :.: u0) b Source # (<***>) :: (Applicative u0, Applicative v) => (Y t u :.: (u0 :.: v)) (a -> b) -> (Y t u :.: (u0 :.: v)) a -> (Y t u :.: (u0 :.: v)) b Source # (<****>) :: (Applicative u0, Applicative v, Applicative w) => (Y t u :.: (u0 :.: (v :.: w))) (a -> b) -> (Y t u :.: (u0 :.: (v :.: w))) a -> (Y t u :.: (u0 :.: (v :.: w))) b Source # | |
(Covariant (t u), Alternative u) => Alternative (Y t u) Source # | |
(Covariant (t u), Avoidable u) => Avoidable (Y t u) Source # | |
Defined in Pandora.Paradigm.Junction.Transformer | |
(Distributive (t u), Distributive u) => Distributive (Y t u) Source # | |
Defined in Pandora.Paradigm.Junction.Transformer (>>-) :: Covariant t0 => t0 a -> (a -> Y t u b) -> (Y t u :.: t0) b Source # collect :: Covariant t0 => (a -> Y t u b) -> t0 a -> (Y t u :.: t0) b Source # distribute :: Covariant t0 => (t0 :.: Y t u) a -> (Y t u :.: t0) a Source # (>>>-) :: (Covariant t0, Covariant v) => (t0 :.: v) a -> (a -> Y t u b) -> (Y t u :.: (t0 :.: v)) b Source # (>>>>-) :: (Covariant t0, Covariant v, Covariant w) => (t0 :.: (v :.: w)) a -> (a -> Y t u b) -> (Y t u :.: (t0 :.: (v :.: w))) b Source # (>>>>>-) :: (Covariant t0, Covariant v, Covariant w, Covariant j) => (t0 :.: (v :.: (w :.: j))) a -> (a -> Y t u b) -> (Y t u :.: (t0 :.: (v :.: (w :.: j)))) b Source # | |
(Extractable (t u), Extractable u) => Extractable (Y t u) Source # | |
Defined in Pandora.Paradigm.Junction.Transformer | |
(Pointable (t u), Pointable u) => Pointable (Y t u) Source # | |
Defined in Pandora.Paradigm.Junction.Transformer | |
(Traversable (t u), Traversable u) => Traversable (Y t u) Source # | |
Defined in Pandora.Paradigm.Junction.Transformer (->>) :: (Pointable u0, Applicative u0) => Y t u a -> (a -> u0 b) -> (u0 :.: Y t u) b Source # traverse :: (Pointable u0, Applicative u0) => (a -> u0 b) -> Y t u a -> (u0 :.: Y t u) b Source # sequence :: (Pointable u0, Applicative u0) => (Y t u :.: u0) a -> (u0 :.: Y t u) a Source # (->>>) :: (Pointable u0, Applicative u0, Traversable v) => (v :.: Y t u) a -> (a -> u0 b) -> (u0 :.: (v :.: Y t u)) b Source # (->>>>) :: (Pointable u0, Applicative u0, Traversable v, Traversable w) => (w :.: (v :.: Y t u)) a -> (a -> u0 b) -> (u0 :.: (w :.: (v :.: Y t u))) b Source # (->>>>>) :: (Pointable u0, Applicative u0, Traversable v, Traversable w, Traversable j) => (j :.: (w :.: (v :.: Y t u))) a -> (a -> u0 b) -> (u0 :.: (j :.: (w :.: (v :.: Y t u)))) b Source # | |
(forall (u' :: k2 -> Type). Semigroup ((u' :.: t u') a)) => Semigroup (Y t u a) Source # | |
(forall (u' :: k2 -> Type). Monoid ((u' :.: t u') a)) => Monoid (Y t u a) Source # | |
Defined in Pandora.Paradigm.Junction.Transformer | |
(forall (u' :: k2 -> Type). Setoid ((u' :.: t u') a)) => Setoid (Y t u a) Source # | |
(forall (u' :: k2 -> Type). Chain ((u' :.: t u') a)) => Chain (Y t u a) Source # | |