pandora-0.2.2: A box of patterns and paradigms

Safe HaskellSafe
LanguageHaskell2010

Pandora.Core.Functor

Synopsis

Documentation

data Variant Source #

Constructors

Co 
Contra 
Instances
Covariant u => Covariant (TU Co Co ((->) e :: Type -> Type) u) Source # 
Instance details

Defined in Pandora.Paradigm.Inventory.Environment

Methods

(<$>) :: (a -> b) -> TU Co Co ((->) e) u a -> TU Co Co ((->) e) u b Source #

comap :: (a -> b) -> TU Co Co ((->) e) u a -> TU Co Co ((->) e) u b Source #

(<$) :: a -> TU Co Co ((->) e) u b -> TU Co Co ((->) e) u a Source #

($>) :: TU Co Co ((->) e) u a -> b -> TU Co Co ((->) e) u b Source #

void :: TU Co Co ((->) e) u a -> TU Co Co ((->) e) u () Source #

loeb :: TU Co Co ((->) e) u (a <-| TU Co Co ((->) e) u) -> TU Co Co ((->) e) u a Source #

(<&>) :: TU Co Co ((->) e) u a -> (a -> b) -> TU Co Co ((->) e) u b Source #

(<$$>) :: Covariant u0 => (a -> b) -> ((TU Co Co ((->) e) u :. u0) := a) -> (TU Co Co ((->) e) u :. u0) := b Source #

(<$$$>) :: (Covariant u0, Covariant v) => (a -> b) -> ((TU Co Co ((->) e) u :. (u0 :. v)) := a) -> (TU Co Co ((->) e) u :. (u0 :. v)) := b Source #

(<$$$$>) :: (Covariant u0, Covariant v, Covariant w) => (a -> b) -> ((TU Co Co ((->) e) u :. (u0 :. (v :. w))) := a) -> (TU Co Co ((->) e) u :. (u0 :. (v :. w))) := b Source #

(<&&>) :: Covariant u0 => ((TU Co Co ((->) e) u :. u0) := a) -> (a -> b) -> (TU Co Co ((->) e) u :. u0) := b Source #

(<&&&>) :: (Covariant u0, Covariant v) => ((TU Co Co ((->) e) u :. (u0 :. v)) := a) -> (a -> b) -> (TU Co Co ((->) e) u :. (u0 :. v)) := b Source #

(<&&&&>) :: (Covariant u0, Covariant v, Covariant w) => ((TU Co Co ((->) e) u :. (u0 :. (v :. w))) := a) -> (a -> b) -> (TU Co Co ((->) e) u :. (u0 :. (v :. w))) := b Source #

Covariant u => Covariant (UT Co Co ((:*:) e) u) Source # 
Instance details

Defined in Pandora.Paradigm.Inventory.Accumulator

Methods

(<$>) :: (a -> b) -> UT Co Co ((:*:) e) u a -> UT Co Co ((:*:) e) u b Source #

comap :: (a -> b) -> UT Co Co ((:*:) e) u a -> UT Co Co ((:*:) e) u b Source #

(<$) :: a -> UT Co Co ((:*:) e) u b -> UT Co Co ((:*:) e) u a Source #

($>) :: UT Co Co ((:*:) e) u a -> b -> UT Co Co ((:*:) e) u b Source #

void :: UT Co Co ((:*:) e) u a -> UT Co Co ((:*:) e) u () Source #

loeb :: UT Co Co ((:*:) e) u (a <-| UT Co Co ((:*:) e) u) -> UT Co Co ((:*:) e) u a Source #

(<&>) :: UT Co Co ((:*:) e) u a -> (a -> b) -> UT Co Co ((:*:) e) u b Source #

(<$$>) :: Covariant u0 => (a -> b) -> ((UT Co Co ((:*:) e) u :. u0) := a) -> (UT Co Co ((:*:) e) u :. u0) := b Source #

(<$$$>) :: (Covariant u0, Covariant v) => (a -> b) -> ((UT Co Co ((:*:) e) u :. (u0 :. v)) := a) -> (UT Co Co ((:*:) e) u :. (u0 :. v)) := b Source #

(<$$$$>) :: (Covariant u0, Covariant v, Covariant w) => (a -> b) -> ((UT Co Co ((:*:) e) u :. (u0 :. (v :. w))) := a) -> (UT Co Co ((:*:) e) u :. (u0 :. (v :. w))) := b Source #

(<&&>) :: Covariant u0 => ((UT Co Co ((:*:) e) u :. u0) := a) -> (a -> b) -> (UT Co Co ((:*:) e) u :. u0) := b Source #

(<&&&>) :: (Covariant u0, Covariant v) => ((UT Co Co ((:*:) e) u :. (u0 :. v)) := a) -> (a -> b) -> (UT Co Co ((:*:) e) u :. (u0 :. v)) := b Source #

(<&&&&>) :: (Covariant u0, Covariant v, Covariant w) => ((UT Co Co ((:*:) e) u :. (u0 :. (v :. w))) := a) -> (a -> b) -> (UT Co Co ((:*:) e) u :. (u0 :. (v :. w))) := b Source #

Covariant u => Covariant (UT Co Co Maybe u) Source # 
Instance details

Defined in Pandora.Paradigm.Basis.Maybe

Methods

(<$>) :: (a -> b) -> UT Co Co Maybe u a -> UT Co Co Maybe u b Source #

comap :: (a -> b) -> UT Co Co Maybe u a -> UT Co Co Maybe u b Source #

(<$) :: a -> UT Co Co Maybe u b -> UT Co Co Maybe u a Source #

($>) :: UT Co Co Maybe u a -> b -> UT Co Co Maybe u b Source #

void :: UT Co Co Maybe u a -> UT Co Co Maybe u () Source #

loeb :: UT Co Co Maybe u (a <-| UT Co Co Maybe u) -> UT Co Co Maybe u a Source #

(<&>) :: UT Co Co Maybe u a -> (a -> b) -> UT Co Co Maybe u b Source #

(<$$>) :: Covariant u0 => (a -> b) -> ((UT Co Co Maybe u :. u0) := a) -> (UT Co Co Maybe u :. u0) := b Source #

(<$$$>) :: (Covariant u0, Covariant v) => (a -> b) -> ((UT Co Co Maybe u :. (u0 :. v)) := a) -> (UT Co Co Maybe u :. (u0 :. v)) := b Source #

(<$$$$>) :: (Covariant u0, Covariant v, Covariant w) => (a -> b) -> ((UT Co Co Maybe u :. (u0 :. (v :. w))) := a) -> (UT Co Co Maybe u :. (u0 :. (v :. w))) := b Source #

(<&&>) :: Covariant u0 => ((UT Co Co Maybe u :. u0) := a) -> (a -> b) -> (UT Co Co Maybe u :. u0) := b Source #

(<&&&>) :: (Covariant u0, Covariant v) => ((UT Co Co Maybe u :. (u0 :. v)) := a) -> (a -> b) -> (UT Co Co Maybe u :. (u0 :. v)) := b Source #

(<&&&&>) :: (Covariant u0, Covariant v, Covariant w) => ((UT Co Co Maybe u :. (u0 :. (v :. w))) := a) -> (a -> b) -> (UT Co Co Maybe u :. (u0 :. (v :. w))) := b Source #

Covariant u => Covariant (UT Co Co (Conclusion e) u) Source # 
Instance details

Defined in Pandora.Paradigm.Basis.Conclusion

Methods

(<$>) :: (a -> b) -> UT Co Co (Conclusion e) u a -> UT Co Co (Conclusion e) u b Source #

comap :: (a -> b) -> UT Co Co (Conclusion e) u a -> UT Co Co (Conclusion e) u b Source #

(<$) :: a -> UT Co Co (Conclusion e) u b -> UT Co Co (Conclusion e) u a Source #

($>) :: UT Co Co (Conclusion e) u a -> b -> UT Co Co (Conclusion e) u b Source #

void :: UT Co Co (Conclusion e) u a -> UT Co Co (Conclusion e) u () Source #

loeb :: UT Co Co (Conclusion e) u (a <-| UT Co Co (Conclusion e) u) -> UT Co Co (Conclusion e) u a Source #

(<&>) :: UT Co Co (Conclusion e) u a -> (a -> b) -> UT Co Co (Conclusion e) u b Source #

(<$$>) :: Covariant u0 => (a -> b) -> ((UT Co Co (Conclusion e) u :. u0) := a) -> (UT Co Co (Conclusion e) u :. u0) := b Source #

(<$$$>) :: (Covariant u0, Covariant v) => (a -> b) -> ((UT Co Co (Conclusion e) u :. (u0 :. v)) := a) -> (UT Co Co (Conclusion e) u :. (u0 :. v)) := b Source #

(<$$$$>) :: (Covariant u0, Covariant v, Covariant w) => (a -> b) -> ((UT Co Co (Conclusion e) u :. (u0 :. (v :. w))) := a) -> (UT Co Co (Conclusion e) u :. (u0 :. (v :. w))) := b Source #

(<&&>) :: Covariant u0 => ((UT Co Co (Conclusion e) u :. u0) := a) -> (a -> b) -> (UT Co Co (Conclusion e) u :. u0) := b Source #

(<&&&>) :: (Covariant u0, Covariant v) => ((UT Co Co (Conclusion e) u :. (u0 :. v)) := a) -> (a -> b) -> (UT Co Co (Conclusion e) u :. (u0 :. v)) := b Source #

(<&&&&>) :: (Covariant u0, Covariant v, Covariant w) => ((UT Co Co (Conclusion e) u :. (u0 :. (v :. w))) := a) -> (a -> b) -> (UT Co Co (Conclusion e) u :. (u0 :. (v :. w))) := b Source #

Bindable u => Bindable (TU Co Co ((->) e :: Type -> Type) u) Source # 
Instance details

Defined in Pandora.Paradigm.Inventory.Environment

Methods

(>>=) :: TU Co Co ((->) e) u a -> (a -> TU Co Co ((->) e) u b) -> TU Co Co ((->) e) u b Source #

(=<<) :: (a -> TU Co Co ((->) e) u b) -> TU Co Co ((->) e) u a -> TU Co Co ((->) e) u b Source #

bind :: (a -> TU Co Co ((->) e) u b) -> TU Co Co ((->) e) u a -> TU Co Co ((->) e) u b Source #

join :: ((TU Co Co ((->) e) u :. TU Co Co ((->) e) u) := a) -> TU Co Co ((->) e) u a Source #

(>=>) :: (a -> TU Co Co ((->) e) u b) -> (b -> TU Co Co ((->) e) u c) -> a -> TU Co Co ((->) e) u c Source #

(<=<) :: (b -> TU Co Co ((->) e) u c) -> (a -> TU Co Co ((->) e) u b) -> a -> TU Co Co ((->) e) u c Source #

(Semigroup e, Pointable u, Bindable u) => Bindable (UT Co Co ((:*:) e) u) Source # 
Instance details

Defined in Pandora.Paradigm.Inventory.Accumulator

Methods

(>>=) :: UT Co Co ((:*:) e) u a -> (a -> UT Co Co ((:*:) e) u b) -> UT Co Co ((:*:) e) u b Source #

(=<<) :: (a -> UT Co Co ((:*:) e) u b) -> UT Co Co ((:*:) e) u a -> UT Co Co ((:*:) e) u b Source #

bind :: (a -> UT Co Co ((:*:) e) u b) -> UT Co Co ((:*:) e) u a -> UT Co Co ((:*:) e) u b Source #

join :: ((UT Co Co ((:*:) e) u :. UT Co Co ((:*:) e) u) := a) -> UT Co Co ((:*:) e) u a Source #

(>=>) :: (a -> UT Co Co ((:*:) e) u b) -> (b -> UT Co Co ((:*:) e) u c) -> a -> UT Co Co ((:*:) e) u c Source #

(<=<) :: (b -> UT Co Co ((:*:) e) u c) -> (a -> UT Co Co ((:*:) e) u b) -> a -> UT Co Co ((:*:) e) u c Source #

(Pointable u, Bindable u) => Bindable (UT Co Co Maybe u) Source # 
Instance details

Defined in Pandora.Paradigm.Basis.Maybe

Methods

(>>=) :: UT Co Co Maybe u a -> (a -> UT Co Co Maybe u b) -> UT Co Co Maybe u b Source #

(=<<) :: (a -> UT Co Co Maybe u b) -> UT Co Co Maybe u a -> UT Co Co Maybe u b Source #

bind :: (a -> UT Co Co Maybe u b) -> UT Co Co Maybe u a -> UT Co Co Maybe u b Source #

join :: ((UT Co Co Maybe u :. UT Co Co Maybe u) := a) -> UT Co Co Maybe u a Source #

(>=>) :: (a -> UT Co Co Maybe u b) -> (b -> UT Co Co Maybe u c) -> a -> UT Co Co Maybe u c Source #

(<=<) :: (b -> UT Co Co Maybe u c) -> (a -> UT Co Co Maybe u b) -> a -> UT Co Co Maybe u c Source #

(Pointable u, Bindable u) => Bindable (UT Co Co (Conclusion e) u) Source # 
Instance details

Defined in Pandora.Paradigm.Basis.Conclusion

Methods

(>>=) :: UT Co Co (Conclusion e) u a -> (a -> UT Co Co (Conclusion e) u b) -> UT Co Co (Conclusion e) u b Source #

(=<<) :: (a -> UT Co Co (Conclusion e) u b) -> UT Co Co (Conclusion e) u a -> UT Co Co (Conclusion e) u b Source #

bind :: (a -> UT Co Co (Conclusion e) u b) -> UT Co Co (Conclusion e) u a -> UT Co Co (Conclusion e) u b Source #

join :: ((UT Co Co (Conclusion e) u :. UT Co Co (Conclusion e) u) := a) -> UT Co Co (Conclusion e) u a Source #

(>=>) :: (a -> UT Co Co (Conclusion e) u b) -> (b -> UT Co Co (Conclusion e) u c) -> a -> UT Co Co (Conclusion e) u c Source #

(<=<) :: (b -> UT Co Co (Conclusion e) u c) -> (a -> UT Co Co (Conclusion e) u b) -> a -> UT Co Co (Conclusion e) u c Source #

Applicative u => Applicative (TU Co Co ((->) e :: Type -> Type) u) Source # 
Instance details

Defined in Pandora.Paradigm.Inventory.Environment

Methods

(<*>) :: TU Co Co ((->) e) u (a -> b) -> TU Co Co ((->) e) u a -> TU Co Co ((->) e) u b Source #

apply :: TU Co Co ((->) e) u (a -> b) -> TU Co Co ((->) e) u a -> TU Co Co ((->) e) u b Source #

(*>) :: TU Co Co ((->) e) u a -> TU Co Co ((->) e) u b -> TU Co Co ((->) e) u b Source #

(<*) :: TU Co Co ((->) e) u a -> TU Co Co ((->) e) u b -> TU Co Co ((->) e) u a Source #

forever :: TU Co Co ((->) e) u a -> TU Co Co ((->) e) u b Source #

(<**>) :: Applicative u0 => ((TU Co Co ((->) e) u :. u0) := (a -> b)) -> ((TU Co Co ((->) e) u :. u0) := a) -> (TU Co Co ((->) e) u :. u0) := b Source #

(<***>) :: (Applicative u0, Applicative v) => ((TU Co Co ((->) e) u :. (u0 :. v)) := (a -> b)) -> ((TU Co Co ((->) e) u :. (u0 :. v)) := a) -> (TU Co Co ((->) e) u :. (u0 :. v)) := b Source #

(<****>) :: (Applicative u0, Applicative v, Applicative w) => ((TU Co Co ((->) e) u :. (u0 :. (v :. w))) := (a -> b)) -> ((TU Co Co ((->) e) u :. (u0 :. (v :. w))) := a) -> (TU Co Co ((->) e) u :. (u0 :. (v :. w))) := b Source #

(Semigroup e, Applicative u) => Applicative (UT Co Co ((:*:) e) u) Source # 
Instance details

Defined in Pandora.Paradigm.Inventory.Accumulator

Methods

(<*>) :: UT Co Co ((:*:) e) u (a -> b) -> UT Co Co ((:*:) e) u a -> UT Co Co ((:*:) e) u b Source #

apply :: UT Co Co ((:*:) e) u (a -> b) -> UT Co Co ((:*:) e) u a -> UT Co Co ((:*:) e) u b Source #

(*>) :: UT Co Co ((:*:) e) u a -> UT Co Co ((:*:) e) u b -> UT Co Co ((:*:) e) u b Source #

(<*) :: UT Co Co ((:*:) e) u a -> UT Co Co ((:*:) e) u b -> UT Co Co ((:*:) e) u a Source #

forever :: UT Co Co ((:*:) e) u a -> UT Co Co ((:*:) e) u b Source #

(<**>) :: Applicative u0 => ((UT Co Co ((:*:) e) u :. u0) := (a -> b)) -> ((UT Co Co ((:*:) e) u :. u0) := a) -> (UT Co Co ((:*:) e) u :. u0) := b Source #

(<***>) :: (Applicative u0, Applicative v) => ((UT Co Co ((:*:) e) u :. (u0 :. v)) := (a -> b)) -> ((UT Co Co ((:*:) e) u :. (u0 :. v)) := a) -> (UT Co Co ((:*:) e) u :. (u0 :. v)) := b Source #

(<****>) :: (Applicative u0, Applicative v, Applicative w) => ((UT Co Co ((:*:) e) u :. (u0 :. (v :. w))) := (a -> b)) -> ((UT Co Co ((:*:) e) u :. (u0 :. (v :. w))) := a) -> (UT Co Co ((:*:) e) u :. (u0 :. (v :. w))) := b Source #

Applicative u => Applicative (UT Co Co Maybe u) Source # 
Instance details

Defined in Pandora.Paradigm.Basis.Maybe

Methods

(<*>) :: UT Co Co Maybe u (a -> b) -> UT Co Co Maybe u a -> UT Co Co Maybe u b Source #

apply :: UT Co Co Maybe u (a -> b) -> UT Co Co Maybe u a -> UT Co Co Maybe u b Source #

(*>) :: UT Co Co Maybe u a -> UT Co Co Maybe u b -> UT Co Co Maybe u b Source #

(<*) :: UT Co Co Maybe u a -> UT Co Co Maybe u b -> UT Co Co Maybe u a Source #

forever :: UT Co Co Maybe u a -> UT Co Co Maybe u b Source #

(<**>) :: Applicative u0 => ((UT Co Co Maybe u :. u0) := (a -> b)) -> ((UT Co Co Maybe u :. u0) := a) -> (UT Co Co Maybe u :. u0) := b Source #

(<***>) :: (Applicative u0, Applicative v) => ((UT Co Co Maybe u :. (u0 :. v)) := (a -> b)) -> ((UT Co Co Maybe u :. (u0 :. v)) := a) -> (UT Co Co Maybe u :. (u0 :. v)) := b Source #

(<****>) :: (Applicative u0, Applicative v, Applicative w) => ((UT Co Co Maybe u :. (u0 :. (v :. w))) := (a -> b)) -> ((UT Co Co Maybe u :. (u0 :. (v :. w))) := a) -> (UT Co Co Maybe u :. (u0 :. (v :. w))) := b Source #

Applicative u => Applicative (UT Co Co (Conclusion e) u) Source # 
Instance details

Defined in Pandora.Paradigm.Basis.Conclusion

Methods

(<*>) :: UT Co Co (Conclusion e) u (a -> b) -> UT Co Co (Conclusion e) u a -> UT Co Co (Conclusion e) u b Source #

apply :: UT Co Co (Conclusion e) u (a -> b) -> UT Co Co (Conclusion e) u a -> UT Co Co (Conclusion e) u b Source #

(*>) :: UT Co Co (Conclusion e) u a -> UT Co Co (Conclusion e) u b -> UT Co Co (Conclusion e) u b Source #

(<*) :: UT Co Co (Conclusion e) u a -> UT Co Co (Conclusion e) u b -> UT Co Co (Conclusion e) u a Source #

forever :: UT Co Co (Conclusion e) u a -> UT Co Co (Conclusion e) u b Source #

(<**>) :: Applicative u0 => ((UT Co Co (Conclusion e) u :. u0) := (a -> b)) -> ((UT Co Co (Conclusion e) u :. u0) := a) -> (UT Co Co (Conclusion e) u :. u0) := b Source #

(<***>) :: (Applicative u0, Applicative v) => ((UT Co Co (Conclusion e) u :. (u0 :. v)) := (a -> b)) -> ((UT Co Co (Conclusion e) u :. (u0 :. v)) := a) -> (UT Co Co (Conclusion e) u :. (u0 :. v)) := b Source #

(<****>) :: (Applicative u0, Applicative v, Applicative w) => ((UT Co Co (Conclusion e) u :. (u0 :. (v :. w))) := (a -> b)) -> ((UT Co Co (Conclusion e) u :. (u0 :. (v :. w))) := a) -> (UT Co Co (Conclusion e) u :. (u0 :. (v :. w))) := b Source #

(Covariant u, Pointable u) => Pointable (TU Co Co ((->) e :: Type -> Type) u) Source # 
Instance details

Defined in Pandora.Paradigm.Inventory.Environment

Methods

point :: a |-> TU Co Co ((->) e) u Source #

(Pointable u, Monoid e) => Pointable (UT Co Co ((:*:) e) u) Source # 
Instance details

Defined in Pandora.Paradigm.Inventory.Accumulator

Methods

point :: a |-> UT Co Co ((:*:) e) u Source #

Pointable u => Pointable (UT Co Co Maybe u) Source # 
Instance details

Defined in Pandora.Paradigm.Basis.Maybe

Methods

point :: a |-> UT Co Co Maybe u Source #

Pointable u => Pointable (UT Co Co (Conclusion e) u) Source # 
Instance details

Defined in Pandora.Paradigm.Basis.Conclusion

Methods

point :: a |-> UT Co Co (Conclusion e) u Source #

Monad u => Monad (UT Co Co Maybe u) Source # 
Instance details

Defined in Pandora.Paradigm.Basis.Maybe

Monad u => Monad (UT Co Co (Conclusion e) u) Source # 
Instance details

Defined in Pandora.Paradigm.Basis.Conclusion

Covariant u => Covariant (TUV Co Co Co ((->) s :: Type -> Type) u ((:*:) s)) Source # 
Instance details

Defined in Pandora.Paradigm.Inventory.State

Methods

(<$>) :: (a -> b) -> TUV Co Co Co ((->) s) u ((:*:) s) a -> TUV Co Co Co ((->) s) u ((:*:) s) b Source #

comap :: (a -> b) -> TUV Co Co Co ((->) s) u ((:*:) s) a -> TUV Co Co Co ((->) s) u ((:*:) s) b Source #

(<$) :: a -> TUV Co Co Co ((->) s) u ((:*:) s) b -> TUV Co Co Co ((->) s) u ((:*:) s) a Source #

($>) :: TUV Co Co Co ((->) s) u ((:*:) s) a -> b -> TUV Co Co Co ((->) s) u ((:*:) s) b Source #

void :: TUV Co Co Co ((->) s) u ((:*:) s) a -> TUV Co Co Co ((->) s) u ((:*:) s) () Source #

loeb :: TUV Co Co Co ((->) s) u ((:*:) s) (a <-| TUV Co Co Co ((->) s) u ((:*:) s)) -> TUV Co Co Co ((->) s) u ((:*:) s) a Source #

(<&>) :: TUV Co Co Co ((->) s) u ((:*:) s) a -> (a -> b) -> TUV Co Co Co ((->) s) u ((:*:) s) b Source #

(<$$>) :: Covariant u0 => (a -> b) -> ((TUV Co Co Co ((->) s) u ((:*:) s) :. u0) := a) -> (TUV Co Co Co ((->) s) u ((:*:) s) :. u0) := b Source #

(<$$$>) :: (Covariant u0, Covariant v) => (a -> b) -> ((TUV Co Co Co ((->) s) u ((:*:) s) :. (u0 :. v)) := a) -> (TUV Co Co Co ((->) s) u ((:*:) s) :. (u0 :. v)) := b Source #

(<$$$$>) :: (Covariant u0, Covariant v, Covariant w) => (a -> b) -> ((TUV Co Co Co ((->) s) u ((:*:) s) :. (u0 :. (v :. w))) := a) -> (TUV Co Co Co ((->) s) u ((:*:) s) :. (u0 :. (v :. w))) := b Source #

(<&&>) :: Covariant u0 => ((TUV Co Co Co ((->) s) u ((:*:) s) :. u0) := a) -> (a -> b) -> (TUV Co Co Co ((->) s) u ((:*:) s) :. u0) := b Source #

(<&&&>) :: (Covariant u0, Covariant v) => ((TUV Co Co Co ((->) s) u ((:*:) s) :. (u0 :. v)) := a) -> (a -> b) -> (TUV Co Co Co ((->) s) u ((:*:) s) :. (u0 :. v)) := b Source #

(<&&&&>) :: (Covariant u0, Covariant v, Covariant w) => ((TUV Co Co Co ((->) s) u ((:*:) s) :. (u0 :. (v :. w))) := a) -> (a -> b) -> (TUV Co Co Co ((->) s) u ((:*:) s) :. (u0 :. (v :. w))) := b Source #

Bindable u => Bindable (TUV Co Co Co ((->) s :: Type -> Type) u ((:*:) s)) Source # 
Instance details

Defined in Pandora.Paradigm.Inventory.State

Methods

(>>=) :: TUV Co Co Co ((->) s) u ((:*:) s) a -> (a -> TUV Co Co Co ((->) s) u ((:*:) s) b) -> TUV Co Co Co ((->) s) u ((:*:) s) b Source #

(=<<) :: (a -> TUV Co Co Co ((->) s) u ((:*:) s) b) -> TUV Co Co Co ((->) s) u ((:*:) s) a -> TUV Co Co Co ((->) s) u ((:*:) s) b Source #

bind :: (a -> TUV Co Co Co ((->) s) u ((:*:) s) b) -> TUV Co Co Co ((->) s) u ((:*:) s) a -> TUV Co Co Co ((->) s) u ((:*:) s) b Source #

join :: ((TUV Co Co Co ((->) s) u ((:*:) s) :. TUV Co Co Co ((->) s) u ((:*:) s)) := a) -> TUV Co Co Co ((->) s) u ((:*:) s) a Source #

(>=>) :: (a -> TUV Co Co Co ((->) s) u ((:*:) s) b) -> (b -> TUV Co Co Co ((->) s) u ((:*:) s) c) -> a -> TUV Co Co Co ((->) s) u ((:*:) s) c Source #

(<=<) :: (b -> TUV Co Co Co ((->) s) u ((:*:) s) c) -> (a -> TUV Co Co Co ((->) s) u ((:*:) s) b) -> a -> TUV Co Co Co ((->) s) u ((:*:) s) c Source #

Bindable u => Applicative (TUV Co Co Co ((->) s :: Type -> Type) u ((:*:) s)) Source # 
Instance details

Defined in Pandora.Paradigm.Inventory.State

Methods

(<*>) :: TUV Co Co Co ((->) s) u ((:*:) s) (a -> b) -> TUV Co Co Co ((->) s) u ((:*:) s) a -> TUV Co Co Co ((->) s) u ((:*:) s) b Source #

apply :: TUV Co Co Co ((->) s) u ((:*:) s) (a -> b) -> TUV Co Co Co ((->) s) u ((:*:) s) a -> TUV Co Co Co ((->) s) u ((:*:) s) b Source #

(*>) :: TUV Co Co Co ((->) s) u ((:*:) s) a -> TUV Co Co Co ((->) s) u ((:*:) s) b -> TUV Co Co Co ((->) s) u ((:*:) s) b Source #

(<*) :: TUV Co Co Co ((->) s) u ((:*:) s) a -> TUV Co Co Co ((->) s) u ((:*:) s) b -> TUV Co Co Co ((->) s) u ((:*:) s) a Source #

forever :: TUV Co Co Co ((->) s) u ((:*:) s) a -> TUV Co Co Co ((->) s) u ((:*:) s) b Source #

(<**>) :: Applicative u0 => ((TUV Co Co Co ((->) s) u ((:*:) s) :. u0) := (a -> b)) -> ((TUV Co Co Co ((->) s) u ((:*:) s) :. u0) := a) -> (TUV Co Co Co ((->) s) u ((:*:) s) :. u0) := b Source #

(<***>) :: (Applicative u0, Applicative v) => ((TUV Co Co Co ((->) s) u ((:*:) s) :. (u0 :. v)) := (a -> b)) -> ((TUV Co Co Co ((->) s) u ((:*:) s) :. (u0 :. v)) := a) -> (TUV Co Co Co ((->) s) u ((:*:) s) :. (u0 :. v)) := b Source #

(<****>) :: (Applicative u0, Applicative v, Applicative w) => ((TUV Co Co Co ((->) s) u ((:*:) s) :. (u0 :. (v :. w))) := (a -> b)) -> ((TUV Co Co Co ((->) s) u ((:*:) s) :. (u0 :. (v :. w))) := a) -> (TUV Co Co Co ((->) s) u ((:*:) s) :. (u0 :. (v :. w))) := b Source #

Pointable u => Pointable (TUV Co Co Co ((->) s :: Type -> Type) u ((:*:) s)) Source # 
Instance details

Defined in Pandora.Paradigm.Inventory.State

Methods

point :: a |-> TUV Co Co Co ((->) s) u ((:*:) s) Source #

Monad u => Monad (TUV Co Co Co ((->) s :: Type -> Type) u ((:*:) s)) Source # 
Instance details

Defined in Pandora.Paradigm.Inventory.State

type (:=) t a = t a infixr 0 Source #

Parameter application

type (:.) t u a = t (u a) infixr 1 Source #

Functors composition

type (.:) t u a = u (t a) infixr 1 Source #

Flipped functors composition

type (|->) a t = a -> t a infixr 0 Source #

Coalgebra's type operator

type (<-|) a t = t a -> a infixr 0 Source #

Algebra's type operator

type (::|:.) p a b = p (p a b) b infixr 2 Source #

type (::|.:) p a b = p a (p a b) infixr 2 Source #

type (::|::) p a b = p (p a b) (p a b) infixr 2 Source #