singletons-base-3.4: tests/compile-and-dump/Singletons/T326.golden
Singletons/T326.hs:0:0:: Splicing declarations
genPromotions [''C1]
======>
type (<%>@#@$) :: forall a. (~>) a ((~>) a a)
data (<%>@#@$) :: (~>) a ((~>) a a)
where
(:<%>@#@$###) :: SameKind (Apply (<%>@#@$) arg) ((<%>@#@$$) arg) =>
(<%>@#@$) a0123456789876543210
type instance Apply (<%>@#@$) a0123456789876543210 = (<%>@#@$$) a0123456789876543210
instance SuppressUnusedWarnings (<%>@#@$) where
suppressUnusedWarnings = snd ((,) (:<%>@#@$###) ())
infixl 9 <%>@#@$
type (<%>@#@$$) :: forall a. a -> (~>) a a
data (<%>@#@$$) (a0123456789876543210 :: a) :: (~>) a a
where
(:<%>@#@$$###) :: SameKind (Apply ((<%>@#@$$) a0123456789876543210) arg) ((<%>@#@$$$) a0123456789876543210 arg) =>
(<%>@#@$$) a0123456789876543210 a0123456789876543210
type instance Apply ((<%>@#@$$) a0123456789876543210) a0123456789876543210 = (<%>) a0123456789876543210 a0123456789876543210
instance SuppressUnusedWarnings ((<%>@#@$$) a0123456789876543210) where
suppressUnusedWarnings = snd ((,) (:<%>@#@$$###) ())
infixl 9 <%>@#@$$
type (<%>@#@$$$) :: forall a. a -> a -> a
type family (<%>@#@$$$) @a (a0123456789876543210 :: a) (a0123456789876543210 :: a) :: a where
(<%>@#@$$$) a0123456789876543210 a0123456789876543210 = (<%>) a0123456789876543210 a0123456789876543210
infixl 9 <%>@#@$$$
type PC1 :: Type -> Constraint
class PC1 (a :: Type) where
type family (<%>) (arg :: a) (arg :: a) :: a
infixl 9 <%>
Singletons/T326.hs:0:0:: Splicing declarations
genSingletons [''C2]
======>
type (<%%>@#@$) :: forall a. (~>) a ((~>) a a)
data (<%%>@#@$) :: (~>) a ((~>) a a)
where
(:<%%>@#@$###) :: SameKind (Apply (<%%>@#@$) arg) ((<%%>@#@$$) arg) =>
(<%%>@#@$) a0123456789876543210
type instance Apply (<%%>@#@$) a0123456789876543210 = (<%%>@#@$$) a0123456789876543210
instance SuppressUnusedWarnings (<%%>@#@$) where
suppressUnusedWarnings = snd ((,) (:<%%>@#@$###) ())
infixl 9 <%%>@#@$
type (<%%>@#@$$) :: forall a. a -> (~>) a a
data (<%%>@#@$$) (a0123456789876543210 :: a) :: (~>) a a
where
(:<%%>@#@$$###) :: SameKind (Apply ((<%%>@#@$$) a0123456789876543210) arg) ((<%%>@#@$$$) a0123456789876543210 arg) =>
(<%%>@#@$$) a0123456789876543210 a0123456789876543210
type instance Apply ((<%%>@#@$$) a0123456789876543210) a0123456789876543210 = (<%%>) a0123456789876543210 a0123456789876543210
instance SuppressUnusedWarnings ((<%%>@#@$$) a0123456789876543210) where
suppressUnusedWarnings = snd ((,) (:<%%>@#@$$###) ())
infixl 9 <%%>@#@$$
type (<%%>@#@$$$) :: forall a. a -> a -> a
type family (<%%>@#@$$$) @a (a0123456789876543210 :: a) (a0123456789876543210 :: a) :: a where
(<%%>@#@$$$) a0123456789876543210 a0123456789876543210 = (<%%>) a0123456789876543210 a0123456789876543210
infixl 9 <%%>@#@$$$
type PC2 :: Type -> Constraint
class PC2 (a :: Type) where
type family (<%%>) (arg :: a) (arg :: a) :: a
infixl 9 <%%>
class SC2 (a :: Type) where
(%<%%>) ::
(forall (t :: a) (t :: a).
Sing t
-> Sing t -> Sing (Apply (Apply (<%%>@#@$) t) t :: a) :: Type)
type SC2 :: Type -> Constraint
infixl 9 %<%%>
instance SC2 a => SingI ((<%%>@#@$) :: (~>) a ((~>) a a)) where
sing = singFun2 @(<%%>@#@$) (%<%%>)
instance (SC2 a, SingI d) =>
SingI ((<%%>@#@$$) (d :: a) :: (~>) a a) where
sing = singFun1 @((<%%>@#@$$) (d :: a)) ((%<%%>) (sing @d))
instance SC2 a => SingI1 ((<%%>@#@$$) :: a -> (~>) a a) where
liftSing (s :: Sing (d :: a))
= singFun1 @((<%%>@#@$$) (d :: a)) ((%<%%>) s)