pandora-0.2.1: A box of patterns and paradigms
Pandora.Paradigm.Basis.Twister
data Twister t a Source #
Constructors
Defined in Pandora.Paradigm.Basis.Twister
Methods
(<$>) :: (a -> b) -> Twister t a -> Twister t b Source #
comap :: (a -> b) -> Twister t a -> Twister t b Source #
(<$) :: a -> Twister t b -> Twister t a Source #
($>) :: Twister t a -> b -> Twister t b Source #
void :: Twister t a -> Twister t () Source #
loeb :: Twister t (Twister t a -> a) -> Twister t a Source #
(<&>) :: Twister t a -> (a -> b) -> Twister t b Source #
(<$$>) :: Covariant u => (a -> b) -> ((Twister t :. u) := a) -> (Twister t :. u) := b Source #
(<$$$>) :: (Covariant u, Covariant v) => (a -> b) -> ((Twister t :. (u :. v)) := a) -> (Twister t :. (u :. v)) := b Source #
(<$$$$>) :: (Covariant u, Covariant v, Covariant w) => (a -> b) -> ((Twister t :. (u :. (v :. w))) := a) -> (Twister t :. (u :. (v :. w))) := b Source #
(<&&>) :: Covariant u => ((Twister t :. u) := a) -> (a -> b) -> (Twister t :. u) := b Source #
(<&&&>) :: (Covariant u, Covariant v) => ((Twister t :. (u :. v)) := a) -> (a -> b) -> (Twister t :. (u :. v)) := b Source #
(<&&&&>) :: (Covariant u, Covariant v, Covariant w) => ((Twister t :. (u :. (v :. w))) := a) -> (a -> b) -> (Twister t :. (u :. (v :. w))) := b Source #
(>>=) :: Twister t a -> (a -> Twister t b) -> Twister t b Source #
(=<<) :: (a -> Twister t b) -> Twister t a -> Twister t b Source #
bind :: (a -> Twister t b) -> Twister t a -> Twister t b Source #
join :: ((Twister t :. Twister t) := a) -> Twister t a Source #
(>=>) :: (a -> Twister t b) -> (b -> Twister t c) -> a -> Twister t c Source #
(<=<) :: (b -> Twister t c) -> (a -> Twister t b) -> a -> Twister t c Source #
(<*>) :: Twister t (a -> b) -> Twister t a -> Twister t b Source #
apply :: Twister t (a -> b) -> Twister t a -> Twister t b Source #
(*>) :: Twister t a -> Twister t b -> Twister t b Source #
(<*) :: Twister t a -> Twister t b -> Twister t a Source #
forever :: Twister t a -> Twister t b Source #
(<**>) :: Applicative u => ((Twister t :. u) := (a -> b)) -> ((Twister t :. u) := a) -> (Twister t :. u) := b Source #
(<***>) :: (Applicative u, Applicative v) => ((Twister t :. (u :. v)) := (a -> b)) -> ((Twister t :. (u :. v)) := a) -> (Twister t :. (u :. v)) := b Source #
(<****>) :: (Applicative u, Applicative v, Applicative w) => ((Twister t :. (u :. (v :. w))) := (a -> b)) -> ((Twister t :. (u :. (v :. w))) := a) -> (Twister t :. (u :. (v :. w))) := b Source #
(=>>) :: Twister t a -> (Twister t a -> b) -> Twister t b Source #
(<<=) :: (Twister t a -> b) -> Twister t a -> Twister t b Source #
extend :: (Twister t a -> b) -> Twister t a -> Twister t b Source #
duplicate :: Twister t a -> (Twister t :. Twister t) := a Source #
(=<=) :: (Twister t b -> c) -> (Twister t a -> b) -> Twister t a -> c Source #
(=>=) :: (Twister t a -> b) -> (Twister t b -> c) -> Twister t a -> c Source #
extract :: Twister t a -> a Source #
point :: a -> Twister t a Source #
(->>) :: (Pointable u, Applicative u) => Twister t a -> (a -> u b) -> (u :. Twister t) := b Source #
traverse :: (Pointable u, Applicative u) => (a -> u b) -> Twister t a -> (u :. Twister t) := b Source #
sequence :: (Pointable u, Applicative u) => (Twister t :. u) a -> (u :. Twister t) := a Source #
(->>>) :: (Pointable u, Applicative u, Traversable v) => ((v :. Twister t) := a) -> (a -> u b) -> (u :. (v :. Twister t)) := b Source #
(->>>>) :: (Pointable u, Applicative u, Traversable v, Traversable w) => ((w :. (v :. Twister t)) := a) -> (a -> u b) -> (u :. (w :. (v :. Twister t))) := b Source #
(->>>>>) :: (Pointable u, Applicative u, Traversable v, Traversable w, Traversable j) => ((j :. (w :. (v :. Twister t))) := a) -> (a -> u b) -> (u :. (j :. (w :. (v :. Twister t)))) := b Source #
(+) :: Twister t a -> Twister t a -> Twister t a Source #
zero :: Twister t a Source #
(==) :: Twister t a -> Twister t a -> Boolean Source #
(/=) :: Twister t a -> Twister t a -> Boolean Source #
untwist :: Twister t a -> (t :. Twister t) a Source #
coiterate :: Covariant t => (a -> t a) -> a -> Twister t a Source #
section :: Comonad t => t ~> Twister t Source #