uvmhs-0.0.0.0
Safe HaskellSafe-Inferred
LanguageHaskell2010

UVMHS.Core.Classes.Comonad

Documentation

class Extract (w :: ★ -> ★) where Source #

Methods

extract :: w a -> a Source #

Instances

Instances details
Extract ID Source # 
Instance details

Defined in UVMHS.Core.Monads

Methods

extract :: ID a -> a Source #

Extract (𝐴 t) Source # 
Instance details

Defined in UVMHS.Lib.Annotated

Methods

extract :: 𝐴 t a -> a Source #

class Cobind (w :: ★ -> ★) where Source #

Methods

(=≫) :: w a -> (w a -> b) -> w b infixr 1 Source #

Instances

Instances details
Cobind ID Source # 
Instance details

Defined in UVMHS.Core.Monads

Methods

(=≫) :: ID a -> (ID a -> b) -> ID b Source #

Cobind (𝐴 t) Source # 
Instance details

Defined in UVMHS.Lib.Annotated

Methods

(=≫) :: 𝐴 t a -> (𝐴 t a -> b) -> 𝐴 t b Source #

class (Functor w, Extract w, Cobind w) => Comonad w Source #

Instances

Instances details
Comonad ID Source # 
Instance details

Defined in UVMHS.Core.Monads

Comonad (𝐴 t) Source # 
Instance details

Defined in UVMHS.Lib.Annotated

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 #