pandora-0.1.5: A box of patterns and paradigms
Pandora.Paradigm.Basis.Free
data Free t a Source #
Constructors
Defined in Pandora.Paradigm.Basis.Free
Methods
(<$>) :: (a -> b) -> Free t a -> Free t b Source #
comap :: (a -> b) -> Free t a -> Free t b Source #
(<$) :: a -> Free t b -> Free t a Source #
($>) :: Free t a -> b -> Free t b Source #
void :: Free t a -> Free t () Source #
loeb :: Free t (Free t a -> a) -> Free t a Source #
(<$$>) :: Covariant u => (a -> b) -> Free t (u a) -> Free t (u b) Source #
(<$$$>) :: (Covariant u, Covariant v) => (a -> b) -> Free t (u (v a)) -> Free t (u (v b)) Source #
(<$$$$>) :: (Covariant u, Covariant v, Covariant w) => (a -> b) -> Free t (u (v (w a))) -> Free t (u (v (w b))) Source #
(<&>) :: Free t a -> (a -> b) -> Free t b Source #
(<*>) :: Free t (a -> b) -> Free t a -> Free t b Source #
apply :: Free t (a -> b) -> Free t a -> Free t b Source #
(*>) :: Free t a -> Free t b -> Free t b Source #
(<*) :: Free t a -> Free t b -> Free t a Source #
forever :: Free t a -> Free t b Source #
(<+>) :: Free t a -> Free t a -> Free t a Source #
alter :: Free t a -> Free t a -> Free t a Source #
idle :: Free t a Source #
(>>=) :: Free t a -> (a -> Free t b) -> Free t b Source #
(=<<) :: (a -> Free t b) -> Free t a -> Free t b Source #
bind :: (a -> Free t b) -> Free t a -> Free t b Source #
join :: (Free t :.: Free t) a -> Free t a Source #
(>=>) :: (a -> Free t b) -> (b -> Free t c) -> a -> Free t c Source #
(<=<) :: (b -> Free t c) -> (a -> Free t b) -> a -> Free t c Source #
point :: a -> Free t a Source #
(->>) :: (Pointable u, Applicative u) => Free t a -> (a -> u b) -> (u :.: Free t) b Source #
traverse :: (Pointable u, Applicative u) => (a -> u b) -> Free t a -> (u :.: Free t) b Source #
sequence :: (Pointable u, Applicative u) => (Free t :.: u) a -> (u :.: Free t) a Source #