packages feed

singletons-2.1: tests/compile-and-dump/Singletons/T124.ghc710.template

Singletons/T124.hs:(0,0)-(0,0): Splicing declarations
    singletons
      [d| foo :: Bool -> ()
          foo True = ()
          foo False = () |]
  ======>
    foo :: Bool -> ()
    foo True = GHC.Tuple.()
    foo False = GHC.Tuple.()
    type FooSym1 (t :: Bool) = Foo t
    instance SuppressUnusedWarnings FooSym0 where
      suppressUnusedWarnings _
        = snd (GHC.Tuple.(,) FooSym0KindInference GHC.Tuple.())
    data FooSym0 (l :: TyFun Bool ())
      = forall arg. KindOf (Apply FooSym0 arg) ~ KindOf (FooSym1 arg) =>
        FooSym0KindInference
    type instance Apply FooSym0 l = FooSym1 l
    type family Foo (a :: Bool) :: () where
      Foo True = Tuple0Sym0
      Foo False = Tuple0Sym0
    sFoo :: forall (t :: Bool). Sing t -> Sing (Apply FooSym0 t :: ())
    sFoo STrue
      = let
          lambda :: t ~ TrueSym0 => Sing (Apply FooSym0 t :: ())
          lambda = STuple0
        in lambda
    sFoo SFalse
      = let
          lambda :: t ~ FalseSym0 => Sing (Apply FooSym0 t :: ())
          lambda = STuple0
        in lambda
Singletons/T124.hs:0:0:: Splicing expression
    sCases ''Bool [| b |] [| STuple0 |]
  ======>
    case b of {
      SFalse -> STuple0
      STrue -> STuple0 }