packages feed

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