singletons-1.0: A framework for generating singleton types

Copyright(C) 2014 Jan Stolarek
LicenseBSD-style (see LICENSE)
MaintainerJan Stolarek (jan.stolarek@p.lodz.pl)
Stabilityexperimental
Portabilitynon-portable
Safe HaskellNone
LanguageHaskell2010

Data.Promotion.Prelude.Eq

Description

Provided promoted definitions related to type-level equality.

Synopsis

Documentation

class (kproxy ~ KProxy) => PEq kproxy Source

The promoted analogue of Eq. If you supply no definition for '(:==)' under GHC 7.8+, then it defaults to a use of '(==)', from Data.Type.Equality.

Associated Types

type x :== y :: Bool Source

type x :/= y :: Bool Source

Instances

PEq Bool (KProxy Bool) 
PEq Ordering (KProxy Ordering) 
PEq * (KProxy *) 
PEq Nat (KProxy Nat) 
PEq Symbol (KProxy Symbol) 
PEq () (KProxy ()) 
PEq [k] (KProxy [k]) 
PEq (Maybe k) (KProxy (Maybe k)) 
PEq (Either k k) (KProxy (Either k k)) 
PEq ((,) k k) (KProxy ((,) k k)) 
PEq ((,,) k k k) (KProxy ((,,) k k k)) 
PEq ((,,,) k k k k) (KProxy ((,,,) k k k k)) 
PEq ((,,,,) k k k k k) (KProxy ((,,,,) k k k k k)) 
PEq ((,,,,,) k k k k k k) (KProxy ((,,,,,) k k k k k k)) 
PEq ((,,,,,,) k k k k k k k) (KProxy ((,,,,,,) k k k k k k k)) 

data (:==$) l Source

Instances

SuppressUnusedWarnings (TyFun k (TyFun k Bool -> *) -> *) ((:==$) k) 
type Apply (TyFun k Bool -> *) k ((:==$) k) l0 = (:==$$) k l0 

data l :==$$ l Source

Instances

SuppressUnusedWarnings (k -> TyFun k Bool -> *) ((:==$$) k) 
type Apply Bool k ((:==$$) k l1) l0 = (:==$$$) k l1 l0 

type (:==$$$) t t = (:==) t t Source

data (:/=$) l Source

Instances

SuppressUnusedWarnings (TyFun k (TyFun k Bool -> *) -> *) ((:/=$) k) 
type Apply (TyFun k Bool -> *) k ((:/=$) k) l0 = (:/=$$) k l0 

data l :/=$$ l Source

Instances

SuppressUnusedWarnings (k -> TyFun k Bool -> *) ((:/=$$) k) 
type Apply Bool k ((:/=$$) k l1) l0 = (:/=$$$) k l1 l0 

type (:/=$$$) t t = (:/=) t t Source