Safe HaskellSafe

TypeOperators

Documentation

data a :-: b #

data (a :+: b) c #

data Op a b #

newtype O g f a #

Constructors

O

Fields

class a <=> b #

biO :: (g `O` f) a #

f :: a ~ b => a -> b #

g :: (a ~ b, b ~ c) => a -> c #

x :: (a :-: a) <=> (a `Op` a) => a #

y :: (a <=> a, (a `Op` a) <=> a) => a #