singletons-base-3.3: tests/compile-and-dump/Singletons/T316.golden
Singletons/T316.hs:(0,0)-(0,0): Splicing declarations
promoteOnly
[d| replaceAllGTypes :: (a -> Type -> a) -> [Type] -> [a] -> [a]
replaceAllGTypes f types as = zipWith f as types |]
======>
type ReplaceAllGTypesSym0 :: (~>) ((~>) a ((~>) Type a)) ((~>) [Type] ((~>) [a] [a]))
data ReplaceAllGTypesSym0 :: (~>) ((~>) a ((~>) Type a)) ((~>) [Type] ((~>) [a] [a]))
where
ReplaceAllGTypesSym0KindInference :: SameKind (Apply ReplaceAllGTypesSym0 arg) (ReplaceAllGTypesSym1 arg) =>
ReplaceAllGTypesSym0 a0123456789876543210
type instance Apply ReplaceAllGTypesSym0 a0123456789876543210 = ReplaceAllGTypesSym1 a0123456789876543210
instance SuppressUnusedWarnings ReplaceAllGTypesSym0 where
suppressUnusedWarnings
= snd ((,) ReplaceAllGTypesSym0KindInference ())
type ReplaceAllGTypesSym1 :: (~>) a ((~>) Type a)
-> (~>) [Type] ((~>) [a] [a])
data ReplaceAllGTypesSym1 (a0123456789876543210 :: (~>) a ((~>) Type a)) :: (~>) [Type] ((~>) [a] [a])
where
ReplaceAllGTypesSym1KindInference :: SameKind (Apply (ReplaceAllGTypesSym1 a0123456789876543210) arg) (ReplaceAllGTypesSym2 a0123456789876543210 arg) =>
ReplaceAllGTypesSym1 a0123456789876543210 a0123456789876543210
type instance Apply (ReplaceAllGTypesSym1 a0123456789876543210) a0123456789876543210 = ReplaceAllGTypesSym2 a0123456789876543210 a0123456789876543210
instance SuppressUnusedWarnings (ReplaceAllGTypesSym1 a0123456789876543210) where
suppressUnusedWarnings
= snd ((,) ReplaceAllGTypesSym1KindInference ())
type ReplaceAllGTypesSym2 :: (~>) a ((~>) Type a)
-> [Type] -> (~>) [a] [a]
data ReplaceAllGTypesSym2 (a0123456789876543210 :: (~>) a ((~>) Type a)) (a0123456789876543210 :: [Type]) :: (~>) [a] [a]
where
ReplaceAllGTypesSym2KindInference :: SameKind (Apply (ReplaceAllGTypesSym2 a0123456789876543210 a0123456789876543210) arg) (ReplaceAllGTypesSym3 a0123456789876543210 a0123456789876543210 arg) =>
ReplaceAllGTypesSym2 a0123456789876543210 a0123456789876543210 a0123456789876543210
type instance Apply (ReplaceAllGTypesSym2 a0123456789876543210 a0123456789876543210) a0123456789876543210 = ReplaceAllGTypes a0123456789876543210 a0123456789876543210 a0123456789876543210
instance SuppressUnusedWarnings (ReplaceAllGTypesSym2 a0123456789876543210 a0123456789876543210) where
suppressUnusedWarnings
= snd ((,) ReplaceAllGTypesSym2KindInference ())
type ReplaceAllGTypesSym3 :: (~>) a ((~>) Type a)
-> [Type] -> [a] -> [a]
type family ReplaceAllGTypesSym3 (a0123456789876543210 :: (~>) a ((~>) Type a)) (a0123456789876543210 :: [Type]) (a0123456789876543210 :: [a]) :: [a] where
ReplaceAllGTypesSym3 a0123456789876543210 a0123456789876543210 a0123456789876543210 = ReplaceAllGTypes a0123456789876543210 a0123456789876543210 a0123456789876543210
type ReplaceAllGTypes :: (~>) a ((~>) Type a)
-> [Type] -> [a] -> [a]
type family ReplaceAllGTypes (a :: (~>) a ((~>) Type a)) (a :: [Type]) (a :: [a]) :: [a] where
ReplaceAllGTypes f types as = Apply (Apply (Apply ZipWithSym0 f) as) types