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

Safe HaskellNone
LanguageHaskell2010

Type.Promotion

Documentation

class Known t val where Source

Methods

typeVal :: Proxy t -> val Source

Instances

(~) * val Bool => Known Bool False val Source 
(~) * val Bool => Known Bool True val Source 
(Num i, KnownNat t) => Known Nat t i Source 
(~) * val (Maybe a) => Known (Maybe k) (Nothing k) val Source 
Known [k] ([] k) [a] Source 
((~) * val (Maybe a), Known k t a) => Known (Maybe k) (Just k t) val Source 
(Known k t a, Known [k] ts [a]) => Known [k] ((:) k t ts) [a] Source 
((~) * val (Either l r), Known k1 t r) => Known (Either k k) (Right k k t) val Source 
((~) * val (Either l r), Known k t l) => Known (Either k k) (Left k k t) val Source