TypeOperators

Safe Haskell | Safe-Inferred
Language | Haskell2010

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 #