Safe HaskellSafe-Inferred
LanguageHaskell2010

TypeOperators

Description

This documentation refers to ~, :-:, :+:, <=>, and |||.

Documentation

data a :-: b #

data (a :+: b) c #

data Op a b #

newtype O (g :: Type -> Type) (f :: Type -> Type) a #

Constructors

O 

Fields

  • unO :: g (f a)
     

class a <=> b #

type (|||) = Either #

biO :: forall (g :: Type -> Type) (f :: Type -> Type) a. O g f a #

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

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

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

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