singletons-base-3.5: 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 @Bool @((~>) Bool Bool) ($$:@#@$) a0123456789876543210 = ($$:@#@$$) a0123456789876543210
instance SuppressUnusedWarnings ($$:@#@$) where
suppressUnusedWarnings = snd ((,) (:$$:@#@$###) ())
infixl 5 type $$:@#@$
type ($$:@#@$$) :: Bool -> (~>) Bool Bool
data ($$:@#@$$) (a0123456789876543210 :: Bool) :: (~>) Bool Bool
where
(:$$:@#@$$###) :: SameKind (Apply (($$:@#@$$) a0123456789876543210) arg) (($$:@#@$$$) a0123456789876543210 arg) =>
($$:@#@$$) a0123456789876543210 a0123456789876543210
type instance Apply @Bool @Bool (($$:@#@$$) a0123456789876543210) a0123456789876543210 = ($$:) a0123456789876543210 a0123456789876543210
instance SuppressUnusedWarnings (($$:@#@$$) a0123456789876543210) where
suppressUnusedWarnings = snd ((,) (:$$:@#@$$###) ())
infixl 5 type $$:@#@$$
type ($$:@#@$$$) :: Bool -> Bool -> Bool
type family ($$:@#@$$$) (a0123456789876543210 :: Bool) (a0123456789876543210 :: Bool) :: Bool where
($$:@#@$$$) a0123456789876543210 a0123456789876543210 = ($$:) a0123456789876543210 a0123456789876543210
infixl 5 type $$:@#@$$$
type ($$:) :: Bool -> Bool -> Bool
type family ($$:) (a :: Bool) (a :: Bool) :: Bool where
($$:) _ _ = FalseSym0
infixl 5 data %$$:
(%$$:) ::
(forall (t :: Bool) (t :: Bool).
Sing t -> Sing t -> Sing (($$:) 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)