singletons-2.4: tests/compile-and-dump/Singletons/ShowDeriving.ghc84.template
Singletons/ShowDeriving.hs:(0,0)-(0,0): Splicing declarations
singletons
[d| infixl 5 `MkFoo2b`, :*:, :&:
data Foo1
= MkFoo1
deriving Show
data Foo2 a
= MkFoo2a a a | a `MkFoo2b` a | (:*:) a a | a :&: a
deriving Show
data Foo3
= MkFoo3 {getFoo3a :: Bool, *** :: Bool}
deriving Show |]
======>
data Foo1
= MkFoo1
deriving Show
infixl 5 `MkFoo2b`
infixl 5 :*:
infixl 5 :&:
data Foo2 a
= MkFoo2a a a | a `MkFoo2b` a | (:*:) a a | a :&: a
deriving Show
data Foo3
= MkFoo3 {getFoo3a :: Bool, *** :: Bool}
deriving Show
type GetFoo3aSym1 (t :: Foo3) = GetFoo3a t
instance SuppressUnusedWarnings GetFoo3aSym0 where
suppressUnusedWarnings
= snd ((GHC.Tuple.(,) GetFoo3aSym0KindInference) GHC.Tuple.())
data GetFoo3aSym0 (l :: TyFun Foo3 Bool)
= forall arg. SameKind (Apply GetFoo3aSym0 arg) (GetFoo3aSym1 arg) =>
GetFoo3aSym0KindInference
type instance Apply GetFoo3aSym0 l = GetFoo3a l
type (***@#@$$) (t :: Foo3) = (***) t
instance SuppressUnusedWarnings (***@#@$) where
suppressUnusedWarnings
= snd ((GHC.Tuple.(,) (:***@#@$###)) GHC.Tuple.())
data (***@#@$) (l :: TyFun Foo3 Bool)
= forall arg. SameKind (Apply (***@#@$) arg) ((***@#@$$) arg) =>
(:***@#@$###)
type instance Apply (***@#@$) l = (***) l
type family GetFoo3a (a :: Foo3) :: Bool where
GetFoo3a (MkFoo3 field _) = field
type family (***) (a :: Foo3) :: Bool where
(***) (MkFoo3 _ field) = field
type MkFoo1Sym0 = MkFoo1
type MkFoo2aSym2 (t :: a0123456789876543210) (t :: a0123456789876543210) =
MkFoo2a t t
instance SuppressUnusedWarnings MkFoo2aSym1 where
suppressUnusedWarnings
= snd ((GHC.Tuple.(,) MkFoo2aSym1KindInference) GHC.Tuple.())
data MkFoo2aSym1 (l :: a0123456789876543210) (l :: TyFun a0123456789876543210 (Foo2 a0123456789876543210))
= forall arg. SameKind (Apply (MkFoo2aSym1 l) arg) (MkFoo2aSym2 l arg) =>
MkFoo2aSym1KindInference
type instance Apply (MkFoo2aSym1 l) l = MkFoo2a l l
instance SuppressUnusedWarnings MkFoo2aSym0 where
suppressUnusedWarnings
= snd ((GHC.Tuple.(,) MkFoo2aSym0KindInference) GHC.Tuple.())
data MkFoo2aSym0 (l :: TyFun a0123456789876543210 (TyFun a0123456789876543210 (Foo2 a0123456789876543210)
-> GHC.Types.Type))
= forall arg. SameKind (Apply MkFoo2aSym0 arg) (MkFoo2aSym1 arg) =>
MkFoo2aSym0KindInference
type instance Apply MkFoo2aSym0 l = MkFoo2aSym1 l
type MkFoo2bSym2 (t :: a0123456789876543210) (t :: a0123456789876543210) =
MkFoo2b t t
instance SuppressUnusedWarnings MkFoo2bSym1 where
suppressUnusedWarnings
= snd ((GHC.Tuple.(,) MkFoo2bSym1KindInference) GHC.Tuple.())
data MkFoo2bSym1 (l :: a0123456789876543210) (l :: TyFun a0123456789876543210 (Foo2 a0123456789876543210))
= forall arg. SameKind (Apply (MkFoo2bSym1 l) arg) (MkFoo2bSym2 l arg) =>
MkFoo2bSym1KindInference
type instance Apply (MkFoo2bSym1 l) l = MkFoo2b l l
instance SuppressUnusedWarnings MkFoo2bSym0 where
suppressUnusedWarnings
= snd ((GHC.Tuple.(,) MkFoo2bSym0KindInference) GHC.Tuple.())
data MkFoo2bSym0 (l :: TyFun a0123456789876543210 (TyFun a0123456789876543210 (Foo2 a0123456789876543210)
-> GHC.Types.Type))
= forall arg. SameKind (Apply MkFoo2bSym0 arg) (MkFoo2bSym1 arg) =>
MkFoo2bSym0KindInference
type instance Apply MkFoo2bSym0 l = MkFoo2bSym1 l
type (:*:@#@$$$) (t :: a0123456789876543210) (t :: a0123456789876543210) =
(:*:) t t
instance SuppressUnusedWarnings (:*:@#@$$) where
suppressUnusedWarnings
= snd ((GHC.Tuple.(,) (::*:@#@$$###)) GHC.Tuple.())
data (:*:@#@$$) (l :: a0123456789876543210) (l :: TyFun a0123456789876543210 (Foo2 a0123456789876543210))
= forall arg. SameKind (Apply ((:*:@#@$$) l) arg) ((:*:@#@$$$) l arg) =>
(::*:@#@$$###)
type instance Apply ((:*:@#@$$) l) l = (:*:) l l
instance SuppressUnusedWarnings (:*:@#@$) where
suppressUnusedWarnings
= snd ((GHC.Tuple.(,) (::*:@#@$###)) GHC.Tuple.())
data (:*:@#@$) (l :: TyFun a0123456789876543210 (TyFun a0123456789876543210 (Foo2 a0123456789876543210)
-> GHC.Types.Type))
= forall arg. SameKind (Apply (:*:@#@$) arg) ((:*:@#@$$) arg) =>
(::*:@#@$###)
type instance Apply (:*:@#@$) l = (:*:@#@$$) l
type (:&:@#@$$$) (t :: a0123456789876543210) (t :: a0123456789876543210) =
(:&:) t t
instance SuppressUnusedWarnings (:&:@#@$$) where
suppressUnusedWarnings
= snd ((GHC.Tuple.(,) (::&:@#@$$###)) GHC.Tuple.())
data (:&:@#@$$) (l :: a0123456789876543210) (l :: TyFun a0123456789876543210 (Foo2 a0123456789876543210))
= forall arg. SameKind (Apply ((:&:@#@$$) l) arg) ((:&:@#@$$$) l arg) =>
(::&:@#@$$###)
type instance Apply ((:&:@#@$$) l) l = (:&:) l l
instance SuppressUnusedWarnings (:&:@#@$) where
suppressUnusedWarnings
= snd ((GHC.Tuple.(,) (::&:@#@$###)) GHC.Tuple.())
data (:&:@#@$) (l :: TyFun a0123456789876543210 (TyFun a0123456789876543210 (Foo2 a0123456789876543210)
-> GHC.Types.Type))
= forall arg. SameKind (Apply (:&:@#@$) arg) ((:&:@#@$$) arg) =>
(::&:@#@$###)
type instance Apply (:&:@#@$) l = (:&:@#@$$) l
type MkFoo3Sym2 (t :: Bool) (t :: Bool) = MkFoo3 t t
instance SuppressUnusedWarnings MkFoo3Sym1 where
suppressUnusedWarnings
= snd ((GHC.Tuple.(,) MkFoo3Sym1KindInference) GHC.Tuple.())
data MkFoo3Sym1 (l :: Bool) (l :: TyFun Bool Foo3)
= forall arg. SameKind (Apply (MkFoo3Sym1 l) arg) (MkFoo3Sym2 l arg) =>
MkFoo3Sym1KindInference
type instance Apply (MkFoo3Sym1 l) l = MkFoo3 l l
instance SuppressUnusedWarnings MkFoo3Sym0 where
suppressUnusedWarnings
= snd ((GHC.Tuple.(,) MkFoo3Sym0KindInference) GHC.Tuple.())
data MkFoo3Sym0 (l :: TyFun Bool (TyFun Bool Foo3
-> GHC.Types.Type))
= forall arg. SameKind (Apply MkFoo3Sym0 arg) (MkFoo3Sym1 arg) =>
MkFoo3Sym0KindInference
type instance Apply MkFoo3Sym0 l = MkFoo3Sym1 l
type family ShowsPrec_0123456789876543210 (a :: GHC.Types.Nat) (a :: Foo1) (a :: Symbol) :: Symbol where
ShowsPrec_0123456789876543210 _ MkFoo1 a_0123456789876543210 = Apply (Apply ShowStringSym0 "MkFoo1") a_0123456789876543210
type ShowsPrec_0123456789876543210Sym3 (t :: GHC.Types.Nat) (t :: Foo1) (t :: Symbol) =
ShowsPrec_0123456789876543210 t t t
instance SuppressUnusedWarnings ShowsPrec_0123456789876543210Sym2 where
suppressUnusedWarnings
= snd
((GHC.Tuple.(,) ShowsPrec_0123456789876543210Sym2KindInference)
GHC.Tuple.())
data ShowsPrec_0123456789876543210Sym2 (l :: GHC.Types.Nat) (l :: Foo1) (l :: TyFun Symbol Symbol)
= forall arg. SameKind (Apply (ShowsPrec_0123456789876543210Sym2 l l) arg) (ShowsPrec_0123456789876543210Sym3 l l arg) =>
ShowsPrec_0123456789876543210Sym2KindInference
type instance Apply (ShowsPrec_0123456789876543210Sym2 l l) l = ShowsPrec_0123456789876543210 l l l
instance SuppressUnusedWarnings ShowsPrec_0123456789876543210Sym1 where
suppressUnusedWarnings
= snd
((GHC.Tuple.(,) ShowsPrec_0123456789876543210Sym1KindInference)
GHC.Tuple.())
data ShowsPrec_0123456789876543210Sym1 (l :: GHC.Types.Nat) (l :: TyFun Foo1 (TyFun Symbol Symbol
-> GHC.Types.Type))
= forall arg. SameKind (Apply (ShowsPrec_0123456789876543210Sym1 l) arg) (ShowsPrec_0123456789876543210Sym2 l arg) =>
ShowsPrec_0123456789876543210Sym1KindInference
type instance Apply (ShowsPrec_0123456789876543210Sym1 l) l = ShowsPrec_0123456789876543210Sym2 l l
instance SuppressUnusedWarnings ShowsPrec_0123456789876543210Sym0 where
suppressUnusedWarnings
= snd
((GHC.Tuple.(,) ShowsPrec_0123456789876543210Sym0KindInference)
GHC.Tuple.())
data ShowsPrec_0123456789876543210Sym0 (l :: TyFun GHC.Types.Nat (TyFun Foo1 (TyFun Symbol Symbol
-> GHC.Types.Type)
-> GHC.Types.Type))
= forall arg. SameKind (Apply ShowsPrec_0123456789876543210Sym0 arg) (ShowsPrec_0123456789876543210Sym1 arg) =>
ShowsPrec_0123456789876543210Sym0KindInference
type instance Apply ShowsPrec_0123456789876543210Sym0 l = ShowsPrec_0123456789876543210Sym1 l
instance PShow Foo1 where
type ShowsPrec a a a = Apply (Apply (Apply ShowsPrec_0123456789876543210Sym0 a) a) a
type family ShowsPrec_0123456789876543210 (a :: GHC.Types.Nat) (a :: Foo2 a) (a :: Symbol) :: Symbol where
ShowsPrec_0123456789876543210 p_0123456789876543210 (MkFoo2a arg_0123456789876543210 arg_0123456789876543210) a_0123456789876543210 = Apply (Apply (Apply ShowParenSym0 (Apply (Apply (>@#@$) p_0123456789876543210) (FromInteger 10))) (Apply (Apply (.@#@$) (Apply ShowStringSym0 "MkFoo2a ")) (Apply (Apply (.@#@$) (Apply (Apply ShowsPrecSym0 (FromInteger 11)) arg_0123456789876543210)) (Apply (Apply (.@#@$) ShowSpaceSym0) (Apply (Apply ShowsPrecSym0 (FromInteger 11)) arg_0123456789876543210))))) a_0123456789876543210
ShowsPrec_0123456789876543210 p_0123456789876543210 (MkFoo2b argL_0123456789876543210 argR_0123456789876543210) a_0123456789876543210 = Apply (Apply (Apply ShowParenSym0 (Apply (Apply (>@#@$) p_0123456789876543210) (FromInteger 5))) (Apply (Apply (.@#@$) (Apply (Apply ShowsPrecSym0 (FromInteger 6)) argL_0123456789876543210)) (Apply (Apply (.@#@$) (Apply ShowStringSym0 " `MkFoo2b` ")) (Apply (Apply ShowsPrecSym0 (FromInteger 6)) argR_0123456789876543210)))) a_0123456789876543210
ShowsPrec_0123456789876543210 p_0123456789876543210 ((:*:) arg_0123456789876543210 arg_0123456789876543210) a_0123456789876543210 = Apply (Apply (Apply ShowParenSym0 (Apply (Apply (>@#@$) p_0123456789876543210) (FromInteger 10))) (Apply (Apply (.@#@$) (Apply ShowStringSym0 "(:*:) ")) (Apply (Apply (.@#@$) (Apply (Apply ShowsPrecSym0 (FromInteger 11)) arg_0123456789876543210)) (Apply (Apply (.@#@$) ShowSpaceSym0) (Apply (Apply ShowsPrecSym0 (FromInteger 11)) arg_0123456789876543210))))) a_0123456789876543210
ShowsPrec_0123456789876543210 p_0123456789876543210 ((:&:) argL_0123456789876543210 argR_0123456789876543210) a_0123456789876543210 = Apply (Apply (Apply ShowParenSym0 (Apply (Apply (>@#@$) p_0123456789876543210) (FromInteger 5))) (Apply (Apply (.@#@$) (Apply (Apply ShowsPrecSym0 (FromInteger 6)) argL_0123456789876543210)) (Apply (Apply (.@#@$) (Apply ShowStringSym0 " :&: ")) (Apply (Apply ShowsPrecSym0 (FromInteger 6)) argR_0123456789876543210)))) a_0123456789876543210
type ShowsPrec_0123456789876543210Sym3 (t :: GHC.Types.Nat) (t :: Foo2 a0123456789876543210) (t :: Symbol) =
ShowsPrec_0123456789876543210 t t t
instance SuppressUnusedWarnings ShowsPrec_0123456789876543210Sym2 where
suppressUnusedWarnings
= snd
((GHC.Tuple.(,) ShowsPrec_0123456789876543210Sym2KindInference)
GHC.Tuple.())
data ShowsPrec_0123456789876543210Sym2 (l :: GHC.Types.Nat) (l :: Foo2 a0123456789876543210) (l :: TyFun Symbol Symbol)
= forall arg. SameKind (Apply (ShowsPrec_0123456789876543210Sym2 l l) arg) (ShowsPrec_0123456789876543210Sym3 l l arg) =>
ShowsPrec_0123456789876543210Sym2KindInference
type instance Apply (ShowsPrec_0123456789876543210Sym2 l l) l = ShowsPrec_0123456789876543210 l l l
instance SuppressUnusedWarnings ShowsPrec_0123456789876543210Sym1 where
suppressUnusedWarnings
= snd
((GHC.Tuple.(,) ShowsPrec_0123456789876543210Sym1KindInference)
GHC.Tuple.())
data ShowsPrec_0123456789876543210Sym1 (l :: GHC.Types.Nat) (l :: TyFun (Foo2 a0123456789876543210) (TyFun Symbol Symbol
-> GHC.Types.Type))
= forall arg. SameKind (Apply (ShowsPrec_0123456789876543210Sym1 l) arg) (ShowsPrec_0123456789876543210Sym2 l arg) =>
ShowsPrec_0123456789876543210Sym1KindInference
type instance Apply (ShowsPrec_0123456789876543210Sym1 l) l = ShowsPrec_0123456789876543210Sym2 l l
instance SuppressUnusedWarnings ShowsPrec_0123456789876543210Sym0 where
suppressUnusedWarnings
= snd
((GHC.Tuple.(,) ShowsPrec_0123456789876543210Sym0KindInference)
GHC.Tuple.())
data ShowsPrec_0123456789876543210Sym0 (l :: TyFun GHC.Types.Nat (TyFun (Foo2 a0123456789876543210) (TyFun Symbol Symbol
-> GHC.Types.Type)
-> GHC.Types.Type))
= forall arg. SameKind (Apply ShowsPrec_0123456789876543210Sym0 arg) (ShowsPrec_0123456789876543210Sym1 arg) =>
ShowsPrec_0123456789876543210Sym0KindInference
type instance Apply ShowsPrec_0123456789876543210Sym0 l = ShowsPrec_0123456789876543210Sym1 l
instance PShow (Foo2 a) where
type ShowsPrec a a a = Apply (Apply (Apply ShowsPrec_0123456789876543210Sym0 a) a) a
type family ShowsPrec_0123456789876543210 (a :: GHC.Types.Nat) (a :: Foo3) (a :: Symbol) :: Symbol where
ShowsPrec_0123456789876543210 p_0123456789876543210 (MkFoo3 arg_0123456789876543210 arg_0123456789876543210) a_0123456789876543210 = Apply (Apply (Apply ShowParenSym0 (Apply (Apply (>@#@$) p_0123456789876543210) (FromInteger 10))) (Apply (Apply (.@#@$) (Apply ShowStringSym0 "MkFoo3 ")) (Apply (Apply (.@#@$) (Apply ShowCharSym0 "{")) (Apply (Apply (.@#@$) (Apply ShowStringSym0 "getFoo3a = ")) (Apply (Apply (.@#@$) (Apply (Apply ShowsPrecSym0 (FromInteger 0)) arg_0123456789876543210)) (Apply (Apply (.@#@$) ShowCommaSpaceSym0) (Apply (Apply (.@#@$) (Apply ShowStringSym0 "(***) = ")) (Apply (Apply (.@#@$) (Apply (Apply ShowsPrecSym0 (FromInteger 0)) arg_0123456789876543210)) (Apply ShowCharSym0 "}"))))))))) a_0123456789876543210
type ShowsPrec_0123456789876543210Sym3 (t :: GHC.Types.Nat) (t :: Foo3) (t :: Symbol) =
ShowsPrec_0123456789876543210 t t t
instance SuppressUnusedWarnings ShowsPrec_0123456789876543210Sym2 where
suppressUnusedWarnings
= snd
((GHC.Tuple.(,) ShowsPrec_0123456789876543210Sym2KindInference)
GHC.Tuple.())
data ShowsPrec_0123456789876543210Sym2 (l :: GHC.Types.Nat) (l :: Foo3) (l :: TyFun Symbol Symbol)
= forall arg. SameKind (Apply (ShowsPrec_0123456789876543210Sym2 l l) arg) (ShowsPrec_0123456789876543210Sym3 l l arg) =>
ShowsPrec_0123456789876543210Sym2KindInference
type instance Apply (ShowsPrec_0123456789876543210Sym2 l l) l = ShowsPrec_0123456789876543210 l l l
instance SuppressUnusedWarnings ShowsPrec_0123456789876543210Sym1 where
suppressUnusedWarnings
= snd
((GHC.Tuple.(,) ShowsPrec_0123456789876543210Sym1KindInference)
GHC.Tuple.())
data ShowsPrec_0123456789876543210Sym1 (l :: GHC.Types.Nat) (l :: TyFun Foo3 (TyFun Symbol Symbol
-> GHC.Types.Type))
= forall arg. SameKind (Apply (ShowsPrec_0123456789876543210Sym1 l) arg) (ShowsPrec_0123456789876543210Sym2 l arg) =>
ShowsPrec_0123456789876543210Sym1KindInference
type instance Apply (ShowsPrec_0123456789876543210Sym1 l) l = ShowsPrec_0123456789876543210Sym2 l l
instance SuppressUnusedWarnings ShowsPrec_0123456789876543210Sym0 where
suppressUnusedWarnings
= snd
((GHC.Tuple.(,) ShowsPrec_0123456789876543210Sym0KindInference)
GHC.Tuple.())
data ShowsPrec_0123456789876543210Sym0 (l :: TyFun GHC.Types.Nat (TyFun Foo3 (TyFun Symbol Symbol
-> GHC.Types.Type)
-> GHC.Types.Type))
= forall arg. SameKind (Apply ShowsPrec_0123456789876543210Sym0 arg) (ShowsPrec_0123456789876543210Sym1 arg) =>
ShowsPrec_0123456789876543210Sym0KindInference
type instance Apply ShowsPrec_0123456789876543210Sym0 l = ShowsPrec_0123456789876543210Sym1 l
instance PShow Foo3 where
type ShowsPrec a a a = Apply (Apply (Apply ShowsPrec_0123456789876543210Sym0 a) a) a
infixl 5 :%&:
infixl 5 :%*:
infixl 5 `SMkFoo2b`
data instance Sing (z :: Foo1) where SMkFoo1 :: Sing MkFoo1
type SFoo1 = (Sing :: Foo1 -> GHC.Types.Type)
instance SingKind Foo1 where
type Demote Foo1 = Foo1
fromSing SMkFoo1 = MkFoo1
toSing MkFoo1 = SomeSing SMkFoo1
data instance Sing (z :: Foo2 a)
where
SMkFoo2a :: forall (n :: a) (n :: a).
(Sing (n :: a)) -> (Sing (n :: a)) -> Sing (MkFoo2a n n)
SMkFoo2b :: forall (n :: a) (n :: a).
(Sing (n :: a)) -> (Sing (n :: a)) -> Sing (MkFoo2b n n)
(:%*:) :: forall (n :: a) (n :: a).
(Sing (n :: a)) -> (Sing (n :: a)) -> Sing ((:*:) n n)
(:%&:) :: forall (n :: a) (n :: a).
(Sing (n :: a)) -> (Sing (n :: a)) -> Sing ((:&:) n n)
type SFoo2 = (Sing :: Foo2 a -> GHC.Types.Type)
instance SingKind a => SingKind (Foo2 a) where
type Demote (Foo2 a) = Foo2 (Demote a)
fromSing (SMkFoo2a b b) = (MkFoo2a (fromSing b)) (fromSing b)
fromSing (SMkFoo2b b b) = (MkFoo2b (fromSing b)) (fromSing b)
fromSing ((:%*:) b b) = ((:*:) (fromSing b)) (fromSing b)
fromSing ((:%&:) b b) = ((:&:) (fromSing b)) (fromSing b)
toSing (MkFoo2a (b :: Demote a) (b :: Demote a))
= case
(GHC.Tuple.(,) (toSing b :: SomeSing a)) (toSing b :: SomeSing a)
of {
GHC.Tuple.(,) (SomeSing c) (SomeSing c)
-> SomeSing ((SMkFoo2a c) c) }
toSing (MkFoo2b (b :: Demote a) (b :: Demote a))
= case
(GHC.Tuple.(,) (toSing b :: SomeSing a)) (toSing b :: SomeSing a)
of {
GHC.Tuple.(,) (SomeSing c) (SomeSing c)
-> SomeSing ((SMkFoo2b c) c) }
toSing ((:*:) (b :: Demote a) (b :: Demote a))
= case
(GHC.Tuple.(,) (toSing b :: SomeSing a)) (toSing b :: SomeSing a)
of {
GHC.Tuple.(,) (SomeSing c) (SomeSing c)
-> SomeSing (((:%*:) c) c) }
toSing ((:&:) (b :: Demote a) (b :: Demote a))
= case
(GHC.Tuple.(,) (toSing b :: SomeSing a)) (toSing b :: SomeSing a)
of {
GHC.Tuple.(,) (SomeSing c) (SomeSing c)
-> SomeSing (((:%&:) c) c) }
data instance Sing (z :: Foo3)
where
SMkFoo3 :: forall (n :: Bool) (n :: Bool).
{sGetFoo3a :: (Sing (n :: Bool)), %*** :: (Sing (n :: Bool))}
-> Sing (MkFoo3 n n)
type SFoo3 = (Sing :: Foo3 -> GHC.Types.Type)
instance SingKind Foo3 where
type Demote Foo3 = Foo3
fromSing (SMkFoo3 b b) = (MkFoo3 (fromSing b)) (fromSing b)
toSing (MkFoo3 (b :: Demote Bool) (b :: Demote Bool))
= case
(GHC.Tuple.(,) (toSing b :: SomeSing Bool))
(toSing b :: SomeSing Bool)
of {
GHC.Tuple.(,) (SomeSing c) (SomeSing c)
-> SomeSing ((SMkFoo3 c) c) }
instance SShow Foo1 where
sShowsPrec ::
forall (t1 :: GHC.Types.Nat) (t2 :: Foo1) (t3 :: Symbol).
Sing t1
-> Sing t2
-> Sing t3
-> Sing (Apply (Apply (Apply (ShowsPrecSym0 :: TyFun GHC.Types.Nat (TyFun Foo1 (TyFun Symbol Symbol
-> GHC.Types.Type)
-> GHC.Types.Type)
-> GHC.Types.Type) t1) t2) t3)
sShowsPrec
_
SMkFoo1
(sA_0123456789876543210 :: Sing a_0123456789876543210)
= (applySing
((applySing ((singFun2 @ShowStringSym0) sShowString))
(sing :: Sing "MkFoo1")))
sA_0123456789876543210
instance SShow a => SShow (Foo2 a) where
sShowsPrec ::
forall (t1 :: GHC.Types.Nat) (t2 :: Foo2 a) (t3 :: Symbol).
Sing t1
-> Sing t2
-> Sing t3
-> Sing (Apply (Apply (Apply (ShowsPrecSym0 :: TyFun GHC.Types.Nat (TyFun (Foo2 a) (TyFun Symbol Symbol
-> GHC.Types.Type)
-> GHC.Types.Type)
-> GHC.Types.Type) t1) t2) t3)
sShowsPrec
(sP_0123456789876543210 :: Sing p_0123456789876543210)
(SMkFoo2a (sArg_0123456789876543210 :: Sing arg_0123456789876543210)
(sArg_0123456789876543210 :: Sing arg_0123456789876543210))
(sA_0123456789876543210 :: Sing a_0123456789876543210)
= (applySing
((applySing
((applySing ((singFun3 @ShowParenSym0) sShowParen))
((applySing
((applySing ((singFun2 @(>@#@$)) (%>))) sP_0123456789876543210))
(sFromInteger (sing :: Sing 10)))))
((applySing
((applySing ((singFun3 @(.@#@$)) (%.)))
((applySing ((singFun2 @ShowStringSym0) sShowString))
(sing :: Sing "MkFoo2a "))))
((applySing
((applySing ((singFun3 @(.@#@$)) (%.)))
((applySing
((applySing ((singFun3 @ShowsPrecSym0) sShowsPrec))
(sFromInteger (sing :: Sing 11))))
sArg_0123456789876543210)))
((applySing
((applySing ((singFun3 @(.@#@$)) (%.)))
((singFun1 @ShowSpaceSym0) sShowSpace)))
((applySing
((applySing ((singFun3 @ShowsPrecSym0) sShowsPrec))
(sFromInteger (sing :: Sing 11))))
sArg_0123456789876543210))))))
sA_0123456789876543210
sShowsPrec
(sP_0123456789876543210 :: Sing p_0123456789876543210)
(SMkFoo2b (sArgL_0123456789876543210 :: Sing argL_0123456789876543210)
(sArgR_0123456789876543210 :: Sing argR_0123456789876543210))
(sA_0123456789876543210 :: Sing a_0123456789876543210)
= (applySing
((applySing
((applySing ((singFun3 @ShowParenSym0) sShowParen))
((applySing
((applySing ((singFun2 @(>@#@$)) (%>))) sP_0123456789876543210))
(sFromInteger (sing :: Sing 5)))))
((applySing
((applySing ((singFun3 @(.@#@$)) (%.)))
((applySing
((applySing ((singFun3 @ShowsPrecSym0) sShowsPrec))
(sFromInteger (sing :: Sing 6))))
sArgL_0123456789876543210)))
((applySing
((applySing ((singFun3 @(.@#@$)) (%.)))
((applySing ((singFun2 @ShowStringSym0) sShowString))
(sing :: Sing " `MkFoo2b` "))))
((applySing
((applySing ((singFun3 @ShowsPrecSym0) sShowsPrec))
(sFromInteger (sing :: Sing 6))))
sArgR_0123456789876543210)))))
sA_0123456789876543210
sShowsPrec
(sP_0123456789876543210 :: Sing p_0123456789876543210)
((:%*:) (sArg_0123456789876543210 :: Sing arg_0123456789876543210)
(sArg_0123456789876543210 :: Sing arg_0123456789876543210))
(sA_0123456789876543210 :: Sing a_0123456789876543210)
= (applySing
((applySing
((applySing ((singFun3 @ShowParenSym0) sShowParen))
((applySing
((applySing ((singFun2 @(>@#@$)) (%>))) sP_0123456789876543210))
(sFromInteger (sing :: Sing 10)))))
((applySing
((applySing ((singFun3 @(.@#@$)) (%.)))
((applySing ((singFun2 @ShowStringSym0) sShowString))
(sing :: Sing "(:*:) "))))
((applySing
((applySing ((singFun3 @(.@#@$)) (%.)))
((applySing
((applySing ((singFun3 @ShowsPrecSym0) sShowsPrec))
(sFromInteger (sing :: Sing 11))))
sArg_0123456789876543210)))
((applySing
((applySing ((singFun3 @(.@#@$)) (%.)))
((singFun1 @ShowSpaceSym0) sShowSpace)))
((applySing
((applySing ((singFun3 @ShowsPrecSym0) sShowsPrec))
(sFromInteger (sing :: Sing 11))))
sArg_0123456789876543210))))))
sA_0123456789876543210
sShowsPrec
(sP_0123456789876543210 :: Sing p_0123456789876543210)
((:%&:) (sArgL_0123456789876543210 :: Sing argL_0123456789876543210)
(sArgR_0123456789876543210 :: Sing argR_0123456789876543210))
(sA_0123456789876543210 :: Sing a_0123456789876543210)
= (applySing
((applySing
((applySing ((singFun3 @ShowParenSym0) sShowParen))
((applySing
((applySing ((singFun2 @(>@#@$)) (%>))) sP_0123456789876543210))
(sFromInteger (sing :: Sing 5)))))
((applySing
((applySing ((singFun3 @(.@#@$)) (%.)))
((applySing
((applySing ((singFun3 @ShowsPrecSym0) sShowsPrec))
(sFromInteger (sing :: Sing 6))))
sArgL_0123456789876543210)))
((applySing
((applySing ((singFun3 @(.@#@$)) (%.)))
((applySing ((singFun2 @ShowStringSym0) sShowString))
(sing :: Sing " :&: "))))
((applySing
((applySing ((singFun3 @ShowsPrecSym0) sShowsPrec))
(sFromInteger (sing :: Sing 6))))
sArgR_0123456789876543210)))))
sA_0123456789876543210
instance SShow Bool => SShow Foo3 where
sShowsPrec ::
forall (t1 :: GHC.Types.Nat) (t2 :: Foo3) (t3 :: Symbol).
Sing t1
-> Sing t2
-> Sing t3
-> Sing (Apply (Apply (Apply (ShowsPrecSym0 :: TyFun GHC.Types.Nat (TyFun Foo3 (TyFun Symbol Symbol
-> GHC.Types.Type)
-> GHC.Types.Type)
-> GHC.Types.Type) t1) t2) t3)
sShowsPrec
(sP_0123456789876543210 :: Sing p_0123456789876543210)
(SMkFoo3 (sArg_0123456789876543210 :: Sing arg_0123456789876543210)
(sArg_0123456789876543210 :: Sing arg_0123456789876543210))
(sA_0123456789876543210 :: Sing a_0123456789876543210)
= (applySing
((applySing
((applySing ((singFun3 @ShowParenSym0) sShowParen))
((applySing
((applySing ((singFun2 @(>@#@$)) (%>))) sP_0123456789876543210))
(sFromInteger (sing :: Sing 10)))))
((applySing
((applySing ((singFun3 @(.@#@$)) (%.)))
((applySing ((singFun2 @ShowStringSym0) sShowString))
(sing :: Sing "MkFoo3 "))))
((applySing
((applySing ((singFun3 @(.@#@$)) (%.)))
((applySing ((singFun2 @ShowCharSym0) sShowChar))
(sing :: Sing "{"))))
((applySing
((applySing ((singFun3 @(.@#@$)) (%.)))
((applySing ((singFun2 @ShowStringSym0) sShowString))
(sing :: Sing "getFoo3a = "))))
((applySing
((applySing ((singFun3 @(.@#@$)) (%.)))
((applySing
((applySing ((singFun3 @ShowsPrecSym0) sShowsPrec))
(sFromInteger (sing :: Sing 0))))
sArg_0123456789876543210)))
((applySing
((applySing ((singFun3 @(.@#@$)) (%.)))
((singFun1 @ShowCommaSpaceSym0) sShowCommaSpace)))
((applySing
((applySing ((singFun3 @(.@#@$)) (%.)))
((applySing ((singFun2 @ShowStringSym0) sShowString))
(sing :: Sing "(***) = "))))
((applySing
((applySing ((singFun3 @(.@#@$)) (%.)))
((applySing
((applySing ((singFun3 @ShowsPrecSym0) sShowsPrec))
(sFromInteger (sing :: Sing 0))))
sArg_0123456789876543210)))
((applySing ((singFun2 @ShowCharSym0) sShowChar))
(sing :: Sing "}")))))))))))
sA_0123456789876543210
instance Data.Singletons.ShowSing.ShowSing Foo1 where
Data.Singletons.ShowSing.showsSingPrec _ SMkFoo1
= showString "SMkFoo1"
instance Show (Sing (z :: Foo1)) where
showsPrec = Data.Singletons.ShowSing.showsSingPrec
instance Data.Singletons.ShowSing.ShowSing a =>
Data.Singletons.ShowSing.ShowSing (Foo2 a) where
Data.Singletons.ShowSing.showsSingPrec
p_0123456789876543210
(SMkFoo2a arg_0123456789876543210 arg_0123456789876543210)
= (showParen (((>) p_0123456789876543210) 10))
(((.) (showString "SMkFoo2a "))
(((.)
((Data.Singletons.ShowSing.showsSingPrec 11)
arg_0123456789876543210))
(((.) GHC.Show.showSpace)
((Data.Singletons.ShowSing.showsSingPrec 11)
arg_0123456789876543210))))
Data.Singletons.ShowSing.showsSingPrec
p_0123456789876543210
(SMkFoo2b argL_0123456789876543210 argR_0123456789876543210)
= (showParen (((>) p_0123456789876543210) 9))
(((.)
((Data.Singletons.ShowSing.showsSingPrec 10)
argL_0123456789876543210))
(((.) (showString " `SMkFoo2b` "))
((Data.Singletons.ShowSing.showsSingPrec 10)
argR_0123456789876543210)))
Data.Singletons.ShowSing.showsSingPrec
p_0123456789876543210
((:%*:) arg_0123456789876543210 arg_0123456789876543210)
= (showParen (((>) p_0123456789876543210) 10))
(((.) (showString "(:%*:) "))
(((.)
((Data.Singletons.ShowSing.showsSingPrec 11)
arg_0123456789876543210))
(((.) GHC.Show.showSpace)
((Data.Singletons.ShowSing.showsSingPrec 11)
arg_0123456789876543210))))
Data.Singletons.ShowSing.showsSingPrec
p_0123456789876543210
((:%&:) argL_0123456789876543210 argR_0123456789876543210)
= (showParen (((>) p_0123456789876543210) 9))
(((.)
((Data.Singletons.ShowSing.showsSingPrec 10)
argL_0123456789876543210))
(((.) (showString " :%&: "))
((Data.Singletons.ShowSing.showsSingPrec 10)
argR_0123456789876543210)))
instance Data.Singletons.ShowSing.ShowSing a =>
Show (Sing (z :: Foo2 a)) where
showsPrec = Data.Singletons.ShowSing.showsSingPrec
instance Data.Singletons.ShowSing.ShowSing Bool =>
Data.Singletons.ShowSing.ShowSing Foo3 where
Data.Singletons.ShowSing.showsSingPrec
p_0123456789876543210
(SMkFoo3 arg_0123456789876543210 arg_0123456789876543210)
= (showParen (((>) p_0123456789876543210) 10))
(((.) (showString "SMkFoo3 "))
(((.) (showChar '{'))
(((.) (showString "sGetFoo3a = "))
(((.)
((Data.Singletons.ShowSing.showsSingPrec 0)
arg_0123456789876543210))
(((.) GHC.Show.showCommaSpace)
(((.) (showString "(%***) = "))
(((.)
((Data.Singletons.ShowSing.showsSingPrec 0)
arg_0123456789876543210))
(showChar '}'))))))))
instance Data.Singletons.ShowSing.ShowSing Bool =>
Show (Sing (z :: Foo3)) where
showsPrec = Data.Singletons.ShowSing.showsSingPrec
instance SingI MkFoo1 where
sing = SMkFoo1
instance (SingI n, SingI n) =>
SingI (MkFoo2a (n :: a) (n :: a)) where
sing = (SMkFoo2a sing) sing
instance (SingI n, SingI n) =>
SingI (MkFoo2b (n :: a) (n :: a)) where
sing = (SMkFoo2b sing) sing
instance (SingI n, SingI n) =>
SingI ((:*:) (n :: a) (n :: a)) where
sing = ((:%*:) sing) sing
instance (SingI n, SingI n) =>
SingI ((:&:) (n :: a) (n :: a)) where
sing = ((:%&:) sing) sing
instance (SingI n, SingI n) =>
SingI (MkFoo3 (n :: Bool) (n :: Bool)) where
sing = (SMkFoo3 sing) sing