singletons-2.0: tests/compile-and-dump/Singletons/Undef.ghc710.template
Singletons/Undef.hs:(0,0)-(0,0): Splicing declarations
singletons
[d| foo :: Bool -> Bool
foo = undefined
bar :: Bool -> Bool
bar = error "urk" |]
======>
foo :: Bool -> Bool
foo = undefined
bar :: Bool -> Bool
bar = error "urk"
type BarSym1 (t :: Bool) = Bar t
instance SuppressUnusedWarnings BarSym0 where
suppressUnusedWarnings _
= snd (GHC.Tuple.(,) BarSym0KindInference GHC.Tuple.())
data BarSym0 (l :: TyFun Bool Bool)
= forall arg. KindOf (Apply BarSym0 arg) ~ KindOf (BarSym1 arg) =>
BarSym0KindInference
type instance Apply BarSym0 l = BarSym1 l
type FooSym1 (t :: 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 Bar (a :: Bool) :: Bool where
Bar a_0123456789 = Apply (Apply ErrorSym0 "urk") a_0123456789
type family Foo (a :: Bool) :: Bool where
Foo a_0123456789 = Apply Any a_0123456789
sBar ::
forall (t :: Bool). Sing t -> Sing (Apply BarSym0 t :: Bool)
sFoo ::
forall (t :: Bool). Sing t -> Sing (Apply FooSym0 t :: Bool)
sBar sA_0123456789
= let
lambda ::
forall a_0123456789. t ~ a_0123456789 =>
Sing a_0123456789 -> Sing (Apply BarSym0 a_0123456789 :: Bool)
lambda a_0123456789 = sError (sing :: Sing "urk")
in lambda sA_0123456789
sFoo sA_0123456789
= let
lambda ::
forall a_0123456789. t ~ a_0123456789 =>
Sing a_0123456789 -> Sing (Apply FooSym0 a_0123456789 :: Bool)
lambda a_0123456789 = undefined
in lambda sA_0123456789