UVMHS.Core.Classes.Comonad
class Extract (w :: ★ -> ★) where Source #
Methods
extract :: w a -> a Source #
Defined in UVMHS.Core.Monads
extract :: ID a -> a Source #
Defined in UVMHS.Lib.Annotated
extract :: 𝐴 t a -> a Source #
class Cobind (w :: ★ -> ★) where Source #
(=≫) :: w a -> (w a -> b) -> w b infixr 1 Source #
(=≫) :: ID a -> (ID a -> b) -> ID b Source #
(=≫) :: 𝐴 t a -> (𝐴 t a -> b) -> 𝐴 t b Source #
class (Functor w, Extract w, Cobind w) => Comonad w Source #
wextend :: Cobind w => (w a -> b) -> w a -> w b Source #
(%⋅) :: Cobind w => (w a -> b) -> w a -> w b Source #
(%$) :: Cobind w => (w a -> b) -> w a -> w b Source #
(%∘) :: Cobind w => (w b -> c) -> (w a -> b) -> w a -> c Source #
kextract :: Extract w => (a -> b) -> w a -> b Source #
kextract2 :: Extract w => (a -> b -> c) -> w a -> w b -> c Source #
siphon :: Cobind w => w a -> b -> w b Source #
submerge :: (Functor m, Comonad w) => w (m a) -> m (w a) Source #
wmap :: Comonad w => (a -> b) -> w a -> w b Source #