pandora-0.1.3: A box of patterns and paradigms
Pandora.Paradigm.Basis.Cofree
data Cofree t a Source #
Constructors
Defined in Pandora.Paradigm.Basis.Cofree
Methods
(<$>) :: (a -> b) -> Cofree t a -> Cofree t b Source #
comap :: (a -> b) -> Cofree t a -> Cofree t b Source #
(<$) :: a -> Cofree t b -> Cofree t a Source #
($>) :: Cofree t a -> b -> Cofree t b Source #
void :: Cofree t a -> Cofree t () Source #
(<*>) :: Cofree t (a -> b) -> Cofree t a -> Cofree t b Source #
apply :: Cofree t (a -> b) -> Cofree t a -> Cofree t b Source #
(*>) :: Cofree t a -> Cofree t b -> Cofree t b Source #
(<*) :: Cofree t a -> Cofree t b -> Cofree t a Source #
forever :: Cofree t a -> Cofree t b Source #
(>>=) :: Cofree t a -> (a -> Cofree t b) -> Cofree t b Source #
(=<<) :: (a -> Cofree t b) -> Cofree t a -> Cofree t b Source #
bind :: (a -> Cofree t b) -> Cofree t a -> Cofree t b Source #
join :: (Cofree t :.: Cofree t) a -> Cofree t a Source #
(>=>) :: (a -> Cofree t b) -> (b -> Cofree t c) -> a -> Cofree t c Source #
(<=<) :: (b -> Cofree t c) -> (a -> Cofree t b) -> a -> Cofree t c Source #
(=>>) :: Cofree t a -> (Cofree t a -> b) -> Cofree t b Source #
(<<=) :: (Cofree t a -> b) -> Cofree t a -> Cofree t b Source #
extend :: (Cofree t a -> b) -> Cofree t a -> Cofree t b Source #
duplicate :: Cofree t a -> (Cofree t :.: Cofree t) a Source #
(=<=) :: (Cofree t b -> c) -> (Cofree t a -> b) -> Cofree t a -> c Source #
(=>=) :: (Cofree t a -> b) -> (Cofree t b -> c) -> Cofree t a -> c Source #
extract :: Cofree t a -> a Source #
point :: a -> Cofree t a Source #
(->>) :: (Pointable u, Applicative u) => Cofree t a -> (a -> u b) -> (u :.: Cofree t) b Source #
traverse :: (Pointable u, Applicative u) => (a -> u b) -> Cofree t a -> (u :.: Cofree t) b Source #
sequence :: (Pointable u, Applicative u) => (Cofree t :.: u) a -> (u :.: Cofree t) a Source #
(<>) :: Cofree t a -> Cofree t a -> Cofree t a Source #
unit :: Cofree t a Source #
(==) :: Cofree t a -> Cofree t a -> Boolean Source #
(/=) :: Cofree t a -> Cofree t a -> Boolean Source #
unwrap :: Cofree t a -> (t :.: Cofree t) a Source #
coiterate :: Covariant t => (a -> t a) -> a -> Cofree t a Source #
section :: Comonad t => t ~> Cofree t Source #