singletons-1.1.1: tests/compile-and-dump/Singletons/T33.ghc78.template
Singletons/T33.hs:0:0: Splicing declarations
singletons
[d| foo :: (Bool, Bool) -> ()
foo ~(_, _) = () |]
======>
Singletons/T33.hs:(0,0)-(0,0)
foo :: (Bool, Bool) -> ()
foo ~(_, _) = GHC.Tuple.()
type FooSym1 (t :: (Bool, Bool)) = Foo t
instance SuppressUnusedWarnings FooSym0 where
suppressUnusedWarnings _
= snd (GHC.Tuple.(,) FooSym0KindInference GHC.Tuple.())
data FooSym0 (l :: TyFun (Bool, Bool) ())
= forall arg. KindOf (Apply FooSym0 arg) ~ KindOf (FooSym1 arg) =>
FooSym0KindInference
type instance Apply FooSym0 l = FooSym1 l
type family Foo (a :: (Bool, Bool)) :: () where
Foo '(z, z) = Tuple0Sym0
sFoo ::
forall (t :: (Bool, Bool)). Sing t -> Sing (Apply FooSym0 t)
sFoo (STuple2 _ _)
= let
lambda ::
forall wild wild. t ~ Apply (Apply Tuple2Sym0 wild) wild =>
Sing (Apply FooSym0 (Apply (Apply Tuple2Sym0 wild) wild))
lambda = STuple0
in lambda
Singletons/T33.hs:0:0: Warning:
Lazy pattern converted into regular pattern in promotion
Singletons/T33.hs:0:0: Warning:
Lazy pattern converted into regular pattern during singleton generation.