packages feed

singletons-2.4: tests/compile-and-dump/Singletons/OverloadedStrings.ghc84.template

Singletons/OverloadedStrings.hs:(0,0)-(0,0): Splicing declarations
    singletons
      [d| symId :: Symbol -> Symbol
          symId x = x
          foo :: Symbol
          foo = symId "foo" |]
  ======>
    symId :: Symbol -> Symbol
    symId x = x
    foo :: Symbol
    foo = symId "foo"
    type SymIdSym1 (t :: Symbol) = SymId t
    instance SuppressUnusedWarnings SymIdSym0 where
      suppressUnusedWarnings
        = snd ((GHC.Tuple.(,) SymIdSym0KindInference) GHC.Tuple.())
    data SymIdSym0 (l :: TyFun Symbol Symbol)
      = forall arg. SameKind (Apply SymIdSym0 arg) (SymIdSym1 arg) =>
        SymIdSym0KindInference
    type instance Apply SymIdSym0 l = SymId l
    type FooSym0 = Foo
    type family SymId (a :: Symbol) :: Symbol where
      SymId x = x
    type family Foo :: Symbol where
      Foo = Apply SymIdSym0 (Data.Singletons.Prelude.IsString.FromString "foo")
    sSymId ::
      forall (t :: Symbol). Sing t -> Sing (Apply SymIdSym0 t :: Symbol)
    sFoo :: Sing (FooSym0 :: Symbol)
    sSymId (sX :: Sing x) = sX
    sFoo
      = (applySing ((singFun1 @SymIdSym0) sSymId))
          (Data.Singletons.Prelude.IsString.sFromString (sing :: Sing "foo"))