packages feed

singletons-2.5: tests/compile-and-dump/Singletons/T316.ghc86.template

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 ReplaceAllGTypesSym3 (a0123456789876543210 :: (~>) a0123456789876543210 ((~>) Type a0123456789876543210)) (a0123456789876543210 :: [Type]) (a0123456789876543210 :: [a0123456789876543210]) =
        ReplaceAllGTypes a0123456789876543210 a0123456789876543210 a0123456789876543210
    instance SuppressUnusedWarnings (ReplaceAllGTypesSym2 a0123456789876543210 a0123456789876543210) where
      suppressUnusedWarnings
        = snd (((,) ReplaceAllGTypesSym2KindInference) ())
    data ReplaceAllGTypesSym2 (a0123456789876543210 :: (~>) a0123456789876543210 ((~>) Type a0123456789876543210)) (a0123456789876543210 :: [Type]) :: (~>) [a0123456789876543210] [a0123456789876543210]
      where
        ReplaceAllGTypesSym2KindInference :: forall a0123456789876543210
                                                    a0123456789876543210
                                                    a0123456789876543210
                                                    arg. 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 (ReplaceAllGTypesSym1 a0123456789876543210) where
      suppressUnusedWarnings
        = snd (((,) ReplaceAllGTypesSym1KindInference) ())
    data ReplaceAllGTypesSym1 (a0123456789876543210 :: (~>) a0123456789876543210 ((~>) Type a0123456789876543210)) :: (~>) [Type] ((~>) [a0123456789876543210] [a0123456789876543210])
      where
        ReplaceAllGTypesSym1KindInference :: forall a0123456789876543210
                                                    a0123456789876543210
                                                    arg. SameKind (Apply (ReplaceAllGTypesSym1 a0123456789876543210) arg) (ReplaceAllGTypesSym2 a0123456789876543210 arg) =>
                                             ReplaceAllGTypesSym1 a0123456789876543210 a0123456789876543210
    type instance Apply (ReplaceAllGTypesSym1 a0123456789876543210) a0123456789876543210 = ReplaceAllGTypesSym2 a0123456789876543210 a0123456789876543210
    instance SuppressUnusedWarnings ReplaceAllGTypesSym0 where
      suppressUnusedWarnings
        = snd (((,) ReplaceAllGTypesSym0KindInference) ())
    data ReplaceAllGTypesSym0 :: forall a0123456789876543210.
                                 (~>) ((~>) a0123456789876543210 ((~>) Type a0123456789876543210)) ((~>) [Type] ((~>) [a0123456789876543210] [a0123456789876543210]))
      where
        ReplaceAllGTypesSym0KindInference :: forall a0123456789876543210
                                                    arg. SameKind (Apply ReplaceAllGTypesSym0 arg) (ReplaceAllGTypesSym1 arg) =>
                                             ReplaceAllGTypesSym0 a0123456789876543210
    type instance Apply ReplaceAllGTypesSym0 a0123456789876543210 = ReplaceAllGTypesSym1 a0123456789876543210
    type family ReplaceAllGTypes (a :: (~>) a ((~>) Type a)) (a :: [Type]) (a :: [a]) :: [a] where
      ReplaceAllGTypes f types as = Apply (Apply (Apply ZipWithSym0 f) as) types