Safe Haskell | None |
---|---|

Language | Haskell98 |

- class Coeffect c where
- class CoeffectZip c where
- class Subcoeffect c s t where
- subco :: c s a -> c t a

# Documentation

Specifies "parametric coeffect comonads" which are essentially comonads but
annotated by a type-level monoid formed by `Plus`

and `Unit`

extract :: c (Unit c) a -> a Source

Coeffect-parameterised version of `extract`

,
annotated with the 'Unit m' effect, denoting pure contexts

extend :: Inv c s t => (c t a -> b) -> c (Plus c s t) a -> c s b Source

Coeffect [*] IxCoreader |

class CoeffectZip c where Source

Zips two coeffecting computations together

type CzipInv c s t :: Constraint Source

class Subcoeffect c s t where Source

Specifies sub-coeffecting behaviour