-- Hoogle documentation, generated by Haddock -- See Hoogle, http://www.haskell.org/hoogle/ -- | Useful type level operations (type families and related operators). -- -- Useful type level operations (type families and related operators). @package typelevel @version 1.0.4 module Type.Zip module Type.Show class TypeShow a showType :: TypeShow a => Proxy (a :: k) -> String printType :: TypeShow a => Proxy a -> IO () ppPrintType :: TypeShow a => Proxy a -> IO () ppShowType :: TypeShow a => Proxy a -> String ppTypeDoc :: TypeShow a => Proxy a -> Doc class ListElemsShow a showListElems :: ListElemsShow a => Proxy a -> String instance GHC.TypeLits.KnownNat n => Type.Show.TypeShow n instance forall (k :: BOX) (a :: [k]). Type.Show.ListElemsShow a => Type.Show.TypeShow a instance forall (k :: BOX) (k1 :: BOX) (a :: k) (b :: k1). (Type.Show.TypeShow a, Type.Show.TypeShow b) => Type.Show.TypeShow '(a, b) instance Type.Show.ListElemsShow '[] instance forall (k :: BOX) (a :: k). Type.Show.TypeShow a => Type.Show.ListElemsShow '[a] instance forall (k :: BOX) (a :: k) (as :: [k]). (Type.Show.TypeShow a, Type.Show.ListElemsShow as) => Type.Show.ListElemsShow (a : as) module Type.Sequence module Type.Promotion class Known (t :: k) (val :: *) typeVal :: Known t val => Proxy t -> val instance (GHC.Num.Num i, GHC.TypeLits.KnownNat t) => Type.Promotion.Known t i instance (val ~ GHC.Types.Bool) => Type.Promotion.Known 'GHC.Types.True val instance (val ~ GHC.Types.Bool) => Type.Promotion.Known 'GHC.Types.False val instance (val ~ GHC.Base.Maybe a) => Type.Promotion.Known 'GHC.Base.Nothing val instance forall (k :: BOX) (t :: k) val a. (val ~ GHC.Base.Maybe a, Type.Promotion.Known t a) => Type.Promotion.Known ('GHC.Base.Just t) val instance forall (k :: BOX) (k1 :: BOX) (t :: k) val l r. (val ~ Data.Either.Either l r, Type.Promotion.Known t l) => Type.Promotion.Known ('Data.Either.Left t) val instance forall (k :: BOX) (k1 :: BOX) (t :: k1) val l r. (val ~ Data.Either.Either l r, Type.Promotion.Known t r) => Type.Promotion.Known ('Data.Either.Right t) val instance Type.Promotion.Known '[] [a] instance forall (k :: BOX) (t :: k) (ts :: [k]) a. (Type.Promotion.Known t a, Type.Promotion.Known ts [a]) => Type.Promotion.Known (t : ts) [a] module Type.Maybe module Type.Map data Map k v Map :: [(k, v)] -> Map k v module Type.Either module Type.Container type UnsafeIndex el cont = FromJust (Index el cont) module Type.Bool class KnownBool (b :: Bool) boolVal :: KnownBool b => Proxy b -> Bool instance Type.Bool.KnownBool 'GHC.Types.True instance Type.Bool.KnownBool 'GHC.Types.False module Type.Wrapped module Type.Operators type ($) f a = f a type (&) a f = f a module Type.Set data Set (a :: [k]) module Type.List data Lst (l :: [k]) data Recursive a module Constraint.Container.Homo