Safe HaskellSafe-Inferred
LanguageHaskell2010

TypeOperators

Documentation

data a :-: b #

data (a :+: b) c #

data Op a b #

newtype O g f a #

Constructors

O 

Fields

  • unO :: g (f a)
     

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 #