packages feed

singletons-base-3.1: tests/compile-and-dump/Singletons/T445.golden

Singletons/T445.hs:0:0:: Splicing declarations
    genDefunSymbols [''Lit]
  ======>
    type LitSym0 :: (~>) Natural Nat
    data LitSym0 :: (~>) Natural Nat
      where
        LitSym0KindInference :: SameKind (Apply LitSym0 arg) (LitSym1 arg) =>
                                LitSym0 a0123456789876543210
    type instance Apply LitSym0 a0123456789876543210 = Lit a0123456789876543210
    instance SuppressUnusedWarnings LitSym0 where
      suppressUnusedWarnings = snd (((,) LitSym0KindInference) ())
    type LitSym1 :: Natural -> Nat
    type family LitSym1 (a0123456789876543210 :: Natural) :: Nat where
      LitSym1 a0123456789876543210 = Lit a0123456789876543210
Singletons/T445.hs:(0,0)-(0,0): Splicing declarations
    promoteOnly
      [d| evenb :: Nat -> Bool
          evenb Zero = True
          evenb (Succ Zero) = False
          evenb (Succ (Succ n)) = evenb n
          filterEvenGt7 :: [Nat] -> [Nat]
          filterEvenGt7 = filter (\ x -> evenb x && x > lit 7) |]
  ======>
    type family Lambda_0123456789876543210 a_0123456789876543210 x where
      Lambda_0123456789876543210 a_0123456789876543210 x = Apply (Apply (&&@#@$) (Apply EvenbSym0 x)) (Apply (Apply (>@#@$) x) (Apply LitSym0 (FromInteger 7)))
    data Lambda_0123456789876543210Sym0 a_01234567898765432100123456789876543210
      where
        Lambda_0123456789876543210Sym0KindInference :: SameKind (Apply Lambda_0123456789876543210Sym0 arg) (Lambda_0123456789876543210Sym1 arg) =>
                                                       Lambda_0123456789876543210Sym0 a_01234567898765432100123456789876543210
    type instance Apply Lambda_0123456789876543210Sym0 a_01234567898765432100123456789876543210 = Lambda_0123456789876543210Sym1 a_01234567898765432100123456789876543210
    instance SuppressUnusedWarnings Lambda_0123456789876543210Sym0 where
      suppressUnusedWarnings
        = snd (((,) Lambda_0123456789876543210Sym0KindInference) ())
    data Lambda_0123456789876543210Sym1 a_01234567898765432100123456789876543210 x0123456789876543210
      where
        Lambda_0123456789876543210Sym1KindInference :: SameKind (Apply (Lambda_0123456789876543210Sym1 a_01234567898765432100123456789876543210) arg) (Lambda_0123456789876543210Sym2 a_01234567898765432100123456789876543210 arg) =>
                                                       Lambda_0123456789876543210Sym1 a_01234567898765432100123456789876543210 x0123456789876543210
    type instance Apply (Lambda_0123456789876543210Sym1 a_01234567898765432100123456789876543210) x0123456789876543210 = Lambda_0123456789876543210 a_01234567898765432100123456789876543210 x0123456789876543210
    instance SuppressUnusedWarnings (Lambda_0123456789876543210Sym1 a_01234567898765432100123456789876543210) where
      suppressUnusedWarnings
        = snd (((,) Lambda_0123456789876543210Sym1KindInference) ())
    type family Lambda_0123456789876543210Sym2 a_01234567898765432100123456789876543210 x0123456789876543210 where
      Lambda_0123456789876543210Sym2 a_01234567898765432100123456789876543210 x0123456789876543210 = Lambda_0123456789876543210 a_01234567898765432100123456789876543210 x0123456789876543210
    type FilterEvenGt7Sym0 :: (~>) [Nat] [Nat]
    data FilterEvenGt7Sym0 :: (~>) [Nat] [Nat]
      where
        FilterEvenGt7Sym0KindInference :: SameKind (Apply FilterEvenGt7Sym0 arg) (FilterEvenGt7Sym1 arg) =>
                                          FilterEvenGt7Sym0 a0123456789876543210
    type instance Apply FilterEvenGt7Sym0 a0123456789876543210 = FilterEvenGt7 a0123456789876543210
    instance SuppressUnusedWarnings FilterEvenGt7Sym0 where
      suppressUnusedWarnings
        = snd (((,) FilterEvenGt7Sym0KindInference) ())
    type FilterEvenGt7Sym1 :: [Nat] -> [Nat]
    type family FilterEvenGt7Sym1 (a0123456789876543210 :: [Nat]) :: [Nat] where
      FilterEvenGt7Sym1 a0123456789876543210 = FilterEvenGt7 a0123456789876543210
    type EvenbSym0 :: (~>) Nat Bool
    data EvenbSym0 :: (~>) Nat Bool
      where
        EvenbSym0KindInference :: SameKind (Apply EvenbSym0 arg) (EvenbSym1 arg) =>
                                  EvenbSym0 a0123456789876543210
    type instance Apply EvenbSym0 a0123456789876543210 = Evenb a0123456789876543210
    instance SuppressUnusedWarnings EvenbSym0 where
      suppressUnusedWarnings = snd (((,) EvenbSym0KindInference) ())
    type EvenbSym1 :: Nat -> Bool
    type family EvenbSym1 (a0123456789876543210 :: Nat) :: Bool where
      EvenbSym1 a0123456789876543210 = Evenb a0123456789876543210
    type FilterEvenGt7 :: [Nat] -> [Nat]
    type family FilterEvenGt7 (a :: [Nat]) :: [Nat] where
      FilterEvenGt7 a_0123456789876543210 = Apply (Apply FilterSym0 (Apply Lambda_0123456789876543210Sym0 a_0123456789876543210)) a_0123456789876543210
    type Evenb :: Nat -> Bool
    type family Evenb (a :: Nat) :: Bool where
      Evenb 'Zero = TrueSym0
      Evenb ('Succ 'Zero) = FalseSym0
      Evenb ('Succ ('Succ n)) = Apply EvenbSym0 n