typelevel-1.2.2: Useful type level operations (type families and related operators).

Safe HaskellNone
LanguageHaskell2010

Type.Show

Documentation

class Typeable a => TypeShow a where Source #

Minimal complete definition

showType

Instances

KnownNat n => TypeShow Nat n Source # 
Typeable k a => TypeShow k a Source # 
(ListElemsShow [k] a, Typeable [k] a) => TypeShow [k] a Source # 
(TypeShow k2 a, TypeShow k1 b, Typeable (k2, k1) ((,) k2 k1 a b)) => TypeShow (k2, k1) ((,) k2 k1 a b) Source # 

printType :: forall a m. (TypeShow a, MonadIO m) => m () Source #

ppPrintType :: forall a m. (TypeShow a, MonadIO m) => m () Source #

ppShowType :: forall a. TypeShow a => String Source #

ppTypeDoc :: forall a. TypeShow a => Doc Source #

class ListElemsShow a where Source #

Minimal complete definition

showListElems

Instances

ListElemsShow [k] ([] k) Source # 
(TypeShow a1 a2, ListElemsShow [a1] as) => ListElemsShow [a1] ((:) a1 a2 as) Source # 
TypeShow k a => ListElemsShow [k] ((:) k a ([] k)) Source #