packages feed

singletons-base-3.3: tests/compile-and-dump/Promote/Prelude.golden

Promote/Prelude.hs:(0,0)-(0,0): Splicing declarations
    promoteOnly
      [d| odd :: Natural -> Bool
          odd 0 = False
          odd n = not . odd $ n - 1 |]
  ======>
    type OddSym0 :: (~>) Natural Bool
    data OddSym0 :: (~>) Natural Bool
      where
        OddSym0KindInference :: SameKind (Apply OddSym0 arg) (OddSym1 arg) =>
                                OddSym0 a0123456789876543210
    type instance Apply OddSym0 a0123456789876543210 = Odd a0123456789876543210
    instance SuppressUnusedWarnings OddSym0 where
      suppressUnusedWarnings = snd ((,) OddSym0KindInference ())
    type OddSym1 :: Natural -> Bool
    type family OddSym1 (a0123456789876543210 :: Natural) :: Bool where
      OddSym1 a0123456789876543210 = Odd a0123456789876543210
    type Odd :: Natural -> Bool
    type family Odd (a :: Natural) :: Bool where
      Odd 0 = FalseSym0
      Odd n = Apply (Apply ($@#@$) (Apply (Apply (.@#@$) NotSym0) OddSym0)) (Apply (Apply (-@#@$) n) (FromInteger 1))