Copyright | (C) 2017 Ryan Scott |
---|---|
License | BSD-style (see LICENSE) |
Maintainer | Richard Eisenberg (rae@cs.brynmawr.edu) |
Stability | experimental |
Portability | non-portable |
Safe Haskell | None |
Language | Haskell2010 |
Defines the SShow singleton version of the Show type class.
Synopsis
- class PShow (a :: Type) where
- class SShow a where
- type SymbolS = Symbol -> Symbol
- type SChar = Symbol
- show_ :: Show a => a -> String
- type (<>) a b = AppendSymbol a b
- (%<>) :: Sing a -> Sing b -> Sing (a <> b)
- type family Shows (a :: a) (a :: Symbol) :: Symbol where ...
- sShows :: forall (t :: a) (t :: Symbol). SShow a => Sing t -> Sing t -> Sing (Apply (Apply ShowsSym0 t) t :: Symbol)
- type family ShowListWith (a :: TyFun a (TyFun Symbol Symbol -> Type) -> Type) (a :: [a]) (a :: Symbol) :: Symbol where ...
- sShowListWith :: forall (t :: TyFun a (TyFun Symbol Symbol -> Type) -> Type) (t :: [a]) (t :: Symbol). Sing t -> Sing t -> Sing t -> Sing (Apply (Apply (Apply ShowListWithSym0 t) t) t :: Symbol)
- type family ShowChar (a :: Symbol) (a :: Symbol) :: Symbol where ...
- sShowChar :: forall (t :: Symbol) (t :: Symbol). Sing t -> Sing t -> Sing (Apply (Apply ShowCharSym0 t) t :: Symbol)
- type family ShowString (a :: Symbol) (a :: Symbol) :: Symbol where ...
- sShowString :: forall (t :: Symbol) (t :: Symbol). Sing t -> Sing t -> Sing (Apply (Apply ShowStringSym0 t) t :: Symbol)
- type family ShowParen (a :: Bool) (a :: TyFun Symbol Symbol -> Type) (a :: Symbol) :: Symbol where ...
- sShowParen :: forall (t :: Bool) (t :: TyFun Symbol Symbol -> Type) (t :: Symbol). Sing t -> Sing t -> Sing t -> Sing (Apply (Apply (Apply ShowParenSym0 t) t) t :: Symbol)
- type family ShowSpace (a :: Symbol) :: Symbol where ...
- sShowSpace :: forall (t :: Symbol). Sing t -> Sing (Apply ShowSpaceSym0 t :: Symbol)
- type family ShowCommaSpace (a :: Symbol) :: Symbol where ...
- sShowCommaSpace :: forall (t :: Symbol). Sing t -> Sing (Apply ShowCommaSpaceSym0 t :: Symbol)
- type family AppPrec :: Nat where ...
- sAppPrec :: Sing (AppPrecSym0 :: Nat)
- type family AppPrec1 :: Nat where ...
- sAppPrec1 :: Sing (AppPrec1Sym0 :: Nat)
- data ShowsPrecSym0 (l :: TyFun Nat (TyFun a6989586621679729880 (TyFun Symbol Symbol -> Type) -> Type))
- data ShowsPrecSym1 (l :: Nat) (l :: TyFun a6989586621679729880 (TyFun Symbol Symbol -> Type))
- data ShowsPrecSym2 (l :: Nat) (l :: a6989586621679729880) (l :: TyFun Symbol Symbol)
- type ShowsPrecSym3 (t :: Nat) (t :: a6989586621679729880) (t :: Symbol) = ShowsPrec t t t
- data Show_Sym0 (l :: TyFun a6989586621679729880 Symbol)
- type Show_Sym1 (t :: a6989586621679729880) = Show_ t
- data ShowListSym0 (l :: TyFun [a6989586621679729880] (TyFun Symbol Symbol -> Type))
- data ShowListSym1 (l :: [a6989586621679729880]) (l :: TyFun Symbol Symbol)
- type ShowListSym2 (t :: [a6989586621679729880]) (t :: Symbol) = ShowList t t
- data (<>@#@$) l
- data (l :: Symbol) <>@#@$$ l
- type (<>@#@$$$) (t :: Symbol) (t :: Symbol) = (<>) t t
- data ShowsSym0 (l :: TyFun a6989586621679729865 (TyFun Symbol Symbol -> Type))
- data ShowsSym1 (l :: a6989586621679729865) (l :: TyFun Symbol Symbol)
- type ShowsSym2 (t :: a6989586621679729865) (t :: Symbol) = Shows t t
- data ShowListWithSym0 (l :: TyFun (TyFun a6989586621679729864 (TyFun Symbol Symbol -> Type) -> Type) (TyFun [a6989586621679729864] (TyFun Symbol Symbol -> Type) -> Type))
- data ShowListWithSym1 (l :: TyFun a6989586621679729864 (TyFun Symbol Symbol -> Type) -> Type) (l :: TyFun [a6989586621679729864] (TyFun Symbol Symbol -> Type))
- data ShowListWithSym2 (l :: TyFun a6989586621679729864 (TyFun Symbol Symbol -> Type) -> Type) (l :: [a6989586621679729864]) (l :: TyFun Symbol Symbol)
- type ShowListWithSym3 (t :: TyFun a6989586621679729864 (TyFun Symbol Symbol -> Type) -> Type) (t :: [a6989586621679729864]) (t :: Symbol) = ShowListWith t t t
- data ShowCharSym0 (l :: TyFun Symbol (TyFun Symbol Symbol -> Type))
- data ShowCharSym1 (l :: Symbol) (l :: TyFun Symbol Symbol)
- type ShowCharSym2 (t :: Symbol) (t :: Symbol) = ShowChar t t
- data ShowStringSym0 (l :: TyFun Symbol (TyFun Symbol Symbol -> Type))
- data ShowStringSym1 (l :: Symbol) (l :: TyFun Symbol Symbol)
- type ShowStringSym2 (t :: Symbol) (t :: Symbol) = ShowString t t
- data ShowParenSym0 (l :: TyFun Bool (TyFun (TyFun Symbol Symbol -> Type) (TyFun Symbol Symbol -> Type) -> Type))
- data ShowParenSym1 (l :: Bool) (l :: TyFun (TyFun Symbol Symbol -> Type) (TyFun Symbol Symbol -> Type))
- data ShowParenSym2 (l :: Bool) (l :: TyFun Symbol Symbol -> Type) (l :: TyFun Symbol Symbol)
- data ShowSpaceSym0 (l :: TyFun Symbol Symbol)
- type ShowSpaceSym1 (t :: Symbol) = ShowSpace t
- data ShowCommaSpaceSym0 (l :: TyFun Symbol Symbol)
- type ShowCommaSpaceSym1 (t :: Symbol) = ShowCommaSpace t
- type AppPrecSym0 = AppPrec
- type AppPrec1Sym0 = AppPrec1
Documentation
class PShow (a :: Type) Source #
type ShowsPrec (arg :: Nat) (arg :: a) (arg :: Symbol) :: Symbol Source #
type Show_ (arg :: a) :: Symbol Source #
type ShowList (arg :: [a]) (arg :: Symbol) :: Symbol Source #
Instances
PShow Bool Source # | |
PShow Ordering Source # | |
PShow Nat Source # | Note that this instance is really, really slow, since it uses an inefficient, inductive definition of division behind the hood. |
PShow Symbol Source # | |
PShow () Source # | |
PShow Void Source # | |
PShow [a] Source # | |
PShow (Maybe a) Source # | |
PShow (NonEmpty a) Source # | |
PShow (Either a b) Source # | |
PShow (a, b) Source # | |
PShow (a, b, c) Source # | |
PShow (a, b, c, d) Source # | |
PShow (a, b, c, d, e) Source # | |
PShow (a, b, c, d, e, f) Source # | |
PShow (a, b, c, d, e, f, g) Source # | |
sShowsPrec :: forall (t :: Nat) (t :: a) (t :: Symbol). Sing t -> Sing t -> Sing t -> Sing (Apply (Apply (Apply ShowsPrecSym0 t) t) t :: Symbol) Source #
sShow_ :: forall (t :: a). Sing t -> Sing (Apply Show_Sym0 t :: Symbol) Source #
sShowList :: forall (t :: [a]) (t :: Symbol). Sing t -> Sing t -> Sing (Apply (Apply ShowListSym0 t) t :: Symbol) Source #
sShowsPrec :: forall (t :: Nat) (t :: a) (t :: Symbol). ((Apply (Apply (Apply ShowsPrecSym0 t) t) t :: Symbol) ~ Apply (Apply (Apply ShowsPrec_6989586621679731952Sym0 t) t) t) => Sing t -> Sing t -> Sing t -> Sing (Apply (Apply (Apply ShowsPrecSym0 t) t) t :: Symbol) Source #
sShow_ :: forall (t :: a). ((Apply Show_Sym0 t :: Symbol) ~ Apply Show__6989586621679731972Sym0 t) => Sing t -> Sing (Apply Show_Sym0 t :: Symbol) Source #
sShowList :: forall (t :: [a]) (t :: Symbol). ((Apply (Apply ShowListSym0 t) t :: Symbol) ~ Apply (Apply ShowList_6989586621679731990Sym0 t) t) => Sing t -> Sing t -> Sing (Apply (Apply ShowListSym0 t) t :: Symbol) Source #
Instances
SShow Bool Source # | |
SShow Ordering Source # | |
SShow Nat Source # | |
SShow Symbol Source # | |
SShow () Source # | |
SShow Void Source # | |
SShow a => SShow [a] Source # | |
SShow a => SShow (Maybe a) Source # | |
(SShow a, SShow [a]) => SShow (NonEmpty a) Source # | |
(SShow a, SShow b) => SShow (Either a b) Source # | |
(SShow a, SShow b) => SShow (a, b) Source # | |
(SShow a, SShow b, SShow c) => SShow (a, b, c) Source # | |
(SShow a, SShow b, SShow c, SShow d) => SShow (a, b, c, d) Source # | |
(SShow a, SShow b, SShow c, SShow d, SShow e) => SShow (a, b, c, d, e) Source # | |
(SShow a, SShow b, SShow c, SShow d, SShow e, SShow f) => SShow (a, b, c, d, e, f) Source # | |
(SShow a, SShow b, SShow c, SShow d, SShow e, SShow f, SShow g) => SShow (a, b, c, d, e, f, g) Source # | |
type (<>) a b = AppendSymbol a b infixr 6 Source #
The promoted analogue of '(<>)' for Symbol
s. This uses the special
AppendSymbol
type family from GHC.TypeLits.
(%<>) :: Sing a -> Sing b -> Sing (a <> b) infixr 6 Source #
The singleton analogue of '(<>)' for Symbol
s.
type family Shows (a :: a) (a :: Symbol) :: Symbol where ... Source #
Shows s a_6989586621679731900 = Apply (Apply (Apply ShowsPrecSym0 (FromInteger 0)) s) a_6989586621679731900 |
sShows :: forall (t :: a) (t :: Symbol). SShow a => Sing t -> Sing t -> Sing (Apply (Apply ShowsSym0 t) t :: Symbol) Source #
type family ShowListWith (a :: TyFun a (TyFun Symbol Symbol -> Type) -> Type) (a :: [a]) (a :: Symbol) :: Symbol where ... Source #
sShowListWith :: forall (t :: TyFun a (TyFun Symbol Symbol -> Type) -> Type) (t :: [a]) (t :: Symbol). Sing t -> Sing t -> Sing t -> Sing (Apply (Apply (Apply ShowListWithSym0 t) t) t :: Symbol) Source #
sShowChar :: forall (t :: Symbol) (t :: Symbol). Sing t -> Sing t -> Sing (Apply (Apply ShowCharSym0 t) t :: Symbol) Source #
type family ShowString (a :: Symbol) (a :: Symbol) :: Symbol where ... Source #
ShowString a_6989586621679731745 a_6989586621679731747 = Apply (Apply (<>@#@$) a_6989586621679731745) a_6989586621679731747 |
sShowString :: forall (t :: Symbol) (t :: Symbol). Sing t -> Sing t -> Sing (Apply (Apply ShowStringSym0 t) t :: Symbol) Source #
type family ShowParen (a :: Bool) (a :: TyFun Symbol Symbol -> Type) (a :: Symbol) :: Symbol where ... Source #
sShowParen :: forall (t :: Bool) (t :: TyFun Symbol Symbol -> Type) (t :: Symbol). Sing t -> Sing t -> Sing t -> Sing (Apply (Apply (Apply ShowParenSym0 t) t) t :: Symbol) Source #
sShowSpace :: forall (t :: Symbol). Sing t -> Sing (Apply ShowSpaceSym0 t :: Symbol) Source #
type family ShowCommaSpace (a :: Symbol) :: Symbol where ... Source #
ShowCommaSpace a_6989586621679731760 = Apply (Apply ShowStringSym0 ", ") a_6989586621679731760 |
sShowCommaSpace :: forall (t :: Symbol). Sing t -> Sing (Apply ShowCommaSpaceSym0 t :: Symbol) Source #
Defunctionalization symbols
data ShowsPrecSym0 (l :: TyFun Nat (TyFun a6989586621679729880 (TyFun Symbol Symbol -> Type) -> Type)) Source #
Instances
SuppressUnusedWarnings (ShowsPrecSym0 :: TyFun Nat (TyFun a6989586621679729880 (TyFun Symbol Symbol -> Type) -> Type) -> *) Source # | |
Defined in Data.Singletons.Prelude.Show suppressUnusedWarnings :: () Source # | |
type Apply (ShowsPrecSym0 :: TyFun Nat (TyFun a6989586621679729880 (TyFun Symbol Symbol -> Type) -> Type) -> *) (l :: Nat) Source # | |
data ShowsPrecSym1 (l :: Nat) (l :: TyFun a6989586621679729880 (TyFun Symbol Symbol -> Type)) Source #
Instances
SuppressUnusedWarnings (ShowsPrecSym1 :: Nat -> TyFun a6989586621679729880 (TyFun Symbol Symbol -> Type) -> *) Source # | |
Defined in Data.Singletons.Prelude.Show suppressUnusedWarnings :: () Source # | |
type Apply (ShowsPrecSym1 l1 :: TyFun a6989586621679729880 (TyFun Symbol Symbol -> Type) -> *) (l2 :: a6989586621679729880) Source # | |
Defined in Data.Singletons.Prelude.Show type Apply (ShowsPrecSym1 l1 :: TyFun a6989586621679729880 (TyFun Symbol Symbol -> Type) -> *) (l2 :: a6989586621679729880) = ShowsPrecSym2 l1 l2 |
data ShowsPrecSym2 (l :: Nat) (l :: a6989586621679729880) (l :: TyFun Symbol Symbol) Source #
Instances
SuppressUnusedWarnings (ShowsPrecSym2 :: Nat -> a6989586621679729880 -> TyFun Symbol Symbol -> *) Source # | |
Defined in Data.Singletons.Prelude.Show suppressUnusedWarnings :: () Source # | |
type Apply (ShowsPrecSym2 l1 l2 :: TyFun Symbol Symbol -> *) (l3 :: Symbol) Source # | |
Defined in Data.Singletons.Prelude.Show |
data Show_Sym0 (l :: TyFun a6989586621679729880 Symbol) Source #
data ShowListSym0 (l :: TyFun [a6989586621679729880] (TyFun Symbol Symbol -> Type)) Source #
Instances
SuppressUnusedWarnings (ShowListSym0 :: TyFun [a6989586621679729880] (TyFun Symbol Symbol -> Type) -> *) Source # | |
Defined in Data.Singletons.Prelude.Show suppressUnusedWarnings :: () Source # | |
type Apply (ShowListSym0 :: TyFun [a6989586621679729880] (TyFun Symbol Symbol -> Type) -> *) (l :: [a6989586621679729880]) Source # | |
Defined in Data.Singletons.Prelude.Show type Apply (ShowListSym0 :: TyFun [a6989586621679729880] (TyFun Symbol Symbol -> Type) -> *) (l :: [a6989586621679729880]) = ShowListSym1 l |
data ShowListSym1 (l :: [a6989586621679729880]) (l :: TyFun Symbol Symbol) Source #
Instances
SuppressUnusedWarnings (ShowListSym1 :: [a6989586621679729880] -> TyFun Symbol Symbol -> *) Source # | |
Defined in Data.Singletons.Prelude.Show suppressUnusedWarnings :: () Source # | |
type Apply (ShowListSym1 l1 :: TyFun Symbol Symbol -> *) (l2 :: Symbol) Source # | |
Defined in Data.Singletons.Prelude.Show |
type ShowListSym2 (t :: [a6989586621679729880]) (t :: Symbol) = ShowList t t Source #
Instances
SuppressUnusedWarnings (<>@#@$) Source # | |
Defined in Data.Singletons.TypeLits.Internal suppressUnusedWarnings :: () Source # | |
type Apply (<>@#@$) (l :: Symbol) Source # | |
Defined in Data.Singletons.TypeLits.Internal |
data ShowsSym0 (l :: TyFun a6989586621679729865 (TyFun Symbol Symbol -> Type)) Source #
Instances
SuppressUnusedWarnings (ShowsSym0 :: TyFun a6989586621679729865 (TyFun Symbol Symbol -> Type) -> *) Source # | |
Defined in Data.Singletons.Prelude.Show suppressUnusedWarnings :: () Source # | |
type Apply (ShowsSym0 :: TyFun a6989586621679729865 (TyFun Symbol Symbol -> Type) -> *) (l :: a6989586621679729865) Source # | |
data ShowsSym1 (l :: a6989586621679729865) (l :: TyFun Symbol Symbol) Source #
data ShowListWithSym0 (l :: TyFun (TyFun a6989586621679729864 (TyFun Symbol Symbol -> Type) -> Type) (TyFun [a6989586621679729864] (TyFun Symbol Symbol -> Type) -> Type)) Source #
Instances
SuppressUnusedWarnings (ShowListWithSym0 :: TyFun (TyFun a6989586621679729864 (TyFun Symbol Symbol -> Type) -> Type) (TyFun [a6989586621679729864] (TyFun Symbol Symbol -> Type) -> Type) -> *) Source # | |
Defined in Data.Singletons.Prelude.Show suppressUnusedWarnings :: () Source # | |
type Apply (ShowListWithSym0 :: TyFun (TyFun a6989586621679729864 (TyFun Symbol Symbol -> Type) -> Type) (TyFun [a6989586621679729864] (TyFun Symbol Symbol -> Type) -> Type) -> *) (l :: TyFun a6989586621679729864 (TyFun Symbol Symbol -> Type) -> Type) Source # | |
Defined in Data.Singletons.Prelude.Show |
data ShowListWithSym1 (l :: TyFun a6989586621679729864 (TyFun Symbol Symbol -> Type) -> Type) (l :: TyFun [a6989586621679729864] (TyFun Symbol Symbol -> Type)) Source #
Instances
SuppressUnusedWarnings (ShowListWithSym1 :: (TyFun a6989586621679729864 (TyFun Symbol Symbol -> Type) -> Type) -> TyFun [a6989586621679729864] (TyFun Symbol Symbol -> Type) -> *) Source # | |
Defined in Data.Singletons.Prelude.Show suppressUnusedWarnings :: () Source # | |
type Apply (ShowListWithSym1 l1 :: TyFun [a6989586621679729864] (TyFun Symbol Symbol -> Type) -> *) (l2 :: [a6989586621679729864]) Source # | |
Defined in Data.Singletons.Prelude.Show type Apply (ShowListWithSym1 l1 :: TyFun [a6989586621679729864] (TyFun Symbol Symbol -> Type) -> *) (l2 :: [a6989586621679729864]) = ShowListWithSym2 l1 l2 |
data ShowListWithSym2 (l :: TyFun a6989586621679729864 (TyFun Symbol Symbol -> Type) -> Type) (l :: [a6989586621679729864]) (l :: TyFun Symbol Symbol) Source #
Instances
SuppressUnusedWarnings (ShowListWithSym2 :: (TyFun a6989586621679729864 (TyFun Symbol Symbol -> Type) -> Type) -> [a6989586621679729864] -> TyFun Symbol Symbol -> *) Source # | |
Defined in Data.Singletons.Prelude.Show suppressUnusedWarnings :: () Source # | |
type Apply (ShowListWithSym2 l1 l2 :: TyFun Symbol Symbol -> *) (l3 :: Symbol) Source # | |
Defined in Data.Singletons.Prelude.Show type Apply (ShowListWithSym2 l1 l2 :: TyFun Symbol Symbol -> *) (l3 :: Symbol) = ShowListWith l1 l2 l3 |
type ShowListWithSym3 (t :: TyFun a6989586621679729864 (TyFun Symbol Symbol -> Type) -> Type) (t :: [a6989586621679729864]) (t :: Symbol) = ShowListWith t t t Source #
data ShowCharSym0 (l :: TyFun Symbol (TyFun Symbol Symbol -> Type)) Source #
Instances
SuppressUnusedWarnings ShowCharSym0 Source # | |
Defined in Data.Singletons.Prelude.Show suppressUnusedWarnings :: () Source # | |
type Apply ShowCharSym0 (l :: Symbol) Source # | |
Defined in Data.Singletons.Prelude.Show |
data ShowCharSym1 (l :: Symbol) (l :: TyFun Symbol Symbol) Source #
Instances
SuppressUnusedWarnings ShowCharSym1 Source # | |
Defined in Data.Singletons.Prelude.Show suppressUnusedWarnings :: () Source # | |
type Apply (ShowCharSym1 l1 :: TyFun Symbol Symbol -> *) (l2 :: Symbol) Source # | |
Defined in Data.Singletons.Prelude.Show |
data ShowStringSym0 (l :: TyFun Symbol (TyFun Symbol Symbol -> Type)) Source #
Instances
SuppressUnusedWarnings ShowStringSym0 Source # | |
Defined in Data.Singletons.Prelude.Show suppressUnusedWarnings :: () Source # | |
type Apply ShowStringSym0 (l :: Symbol) Source # | |
Defined in Data.Singletons.Prelude.Show |
data ShowStringSym1 (l :: Symbol) (l :: TyFun Symbol Symbol) Source #
Instances
SuppressUnusedWarnings ShowStringSym1 Source # | |
Defined in Data.Singletons.Prelude.Show suppressUnusedWarnings :: () Source # | |
type Apply (ShowStringSym1 l1 :: TyFun Symbol Symbol -> *) (l2 :: Symbol) Source # | |
Defined in Data.Singletons.Prelude.Show |
type ShowStringSym2 (t :: Symbol) (t :: Symbol) = ShowString t t Source #
data ShowParenSym0 (l :: TyFun Bool (TyFun (TyFun Symbol Symbol -> Type) (TyFun Symbol Symbol -> Type) -> Type)) Source #
Instances
SuppressUnusedWarnings ShowParenSym0 Source # | |
Defined in Data.Singletons.Prelude.Show suppressUnusedWarnings :: () Source # | |
type Apply ShowParenSym0 (l :: Bool) Source # | |
Defined in Data.Singletons.Prelude.Show |
data ShowParenSym1 (l :: Bool) (l :: TyFun (TyFun Symbol Symbol -> Type) (TyFun Symbol Symbol -> Type)) Source #
data ShowParenSym2 (l :: Bool) (l :: TyFun Symbol Symbol -> Type) (l :: TyFun Symbol Symbol) Source #
Instances
SuppressUnusedWarnings ShowParenSym2 Source # | |
Defined in Data.Singletons.Prelude.Show suppressUnusedWarnings :: () Source # | |
type Apply (ShowParenSym2 l1 l2 :: TyFun Symbol Symbol -> *) (l3 :: Symbol) Source # | |
Defined in Data.Singletons.Prelude.Show |
data ShowSpaceSym0 (l :: TyFun Symbol Symbol) Source #
Instances
SuppressUnusedWarnings ShowSpaceSym0 Source # | |
Defined in Data.Singletons.Prelude.Show suppressUnusedWarnings :: () Source # | |
type Apply ShowSpaceSym0 (l :: Symbol) Source # | |
Defined in Data.Singletons.Prelude.Show |
type ShowSpaceSym1 (t :: Symbol) = ShowSpace t Source #
data ShowCommaSpaceSym0 (l :: TyFun Symbol Symbol) Source #
Instances
SuppressUnusedWarnings ShowCommaSpaceSym0 Source # | |
Defined in Data.Singletons.Prelude.Show suppressUnusedWarnings :: () Source # | |
type Apply ShowCommaSpaceSym0 (l :: Symbol) Source # | |
Defined in Data.Singletons.Prelude.Show |
type ShowCommaSpaceSym1 (t :: Symbol) = ShowCommaSpace t Source #
type AppPrecSym0 = AppPrec Source #
type AppPrec1Sym0 = AppPrec1 Source #