packages feed

singletons-base-3.2: tests/compile-and-dump/Singletons/T197.golden

Singletons/T197.hs:(0,0)-(0,0): Splicing declarations
    singletons
      [d| infixl 5 $$:
          
          ($$:) :: Bool -> Bool -> Bool
          _ $$: _ = False |]
  ======>
    infixl 5 $$:
    ($$:) :: Bool -> Bool -> Bool
    ($$:) _ _ = False
    type ($$:@#@$) :: (~>) Bool ((~>) Bool Bool)
    data ($$:@#@$) :: (~>) Bool ((~>) Bool Bool)
      where
        (:$$:@#@$###) :: SameKind (Apply ($$:@#@$) arg) (($$:@#@$$) arg) =>
                         ($$:@#@$) a0123456789876543210
    type instance Apply ($$:@#@$) a0123456789876543210 = ($$:@#@$$) a0123456789876543210
    instance SuppressUnusedWarnings ($$:@#@$) where
      suppressUnusedWarnings = snd ((,) (:$$:@#@$###) ())
    infixl 5 $$:@#@$
    type ($$:@#@$$) :: Bool -> (~>) Bool Bool
    data ($$:@#@$$) (a0123456789876543210 :: Bool) :: (~>) Bool Bool
      where
        (:$$:@#@$$###) :: SameKind (Apply (($$:@#@$$) a0123456789876543210) arg) (($$:@#@$$$) a0123456789876543210 arg) =>
                          ($$:@#@$$) a0123456789876543210 a0123456789876543210
    type instance Apply (($$:@#@$$) a0123456789876543210) a0123456789876543210 = ($$:) a0123456789876543210 a0123456789876543210
    instance SuppressUnusedWarnings (($$:@#@$$) a0123456789876543210) where
      suppressUnusedWarnings = snd ((,) (:$$:@#@$$###) ())
    infixl 5 $$:@#@$$
    type ($$:@#@$$$) :: Bool -> Bool -> Bool
    type family ($$:@#@$$$) (a0123456789876543210 :: Bool) (a0123456789876543210 :: Bool) :: Bool where
      ($$:@#@$$$) a0123456789876543210 a0123456789876543210 = ($$:) a0123456789876543210 a0123456789876543210
    infixl 5 $$:@#@$$$
    type ($$:) :: Bool -> Bool -> Bool
    type family ($$:) (a :: Bool) (a :: Bool) :: Bool where
      ($$:) _ _ = FalseSym0
    infixl 5 %$$:
    (%$$:) ::
      (forall (t :: Bool) (t :: Bool).
       Sing t
       -> Sing t -> Sing (Apply (Apply ($$:@#@$) t) t :: Bool) :: Type)
    (%$$:) _ _ = SFalse
    instance SingI (($$:@#@$) :: (~>) Bool ((~>) Bool Bool)) where
      sing = singFun2 @($$:@#@$) (%$$:)
    instance SingI d =>
             SingI (($$:@#@$$) (d :: Bool) :: (~>) Bool Bool) where
      sing = singFun1 @(($$:@#@$$) (d :: Bool)) ((%$$:) (sing @d))
    instance SingI1 (($$:@#@$$) :: Bool -> (~>) Bool Bool) where
      liftSing (s :: Sing (d :: Bool))
        = singFun1 @(($$:@#@$$) (d :: Bool)) ((%$$:) s)