packages feed

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

Singletons/T145.hs:(0,0)-(0,0): Splicing declarations
    singletons
      [d| class Column (f :: Type -> Type) where
            col :: f a -> a -> Bool |]
  ======>
    class Column (f :: Type -> Type) where
      col :: f a -> a -> Bool
    type ColSym2 (t :: f0123456789876543210 a0123456789876543210) (t :: a0123456789876543210) =
        Col t t
    instance SuppressUnusedWarnings ColSym1 where
      suppressUnusedWarnings
        = snd ((GHC.Tuple.(,) ColSym1KindInference) GHC.Tuple.())
    data ColSym1 (l :: f0123456789876543210 a0123456789876543210) (l :: TyFun a0123456789876543210 Bool)
      = forall arg. SameKind (Apply (ColSym1 l) arg) (ColSym2 l arg) =>
        ColSym1KindInference
    type instance Apply (ColSym1 l) l = Col l l
    instance SuppressUnusedWarnings ColSym0 where
      suppressUnusedWarnings
        = snd ((GHC.Tuple.(,) ColSym0KindInference) GHC.Tuple.())
    data ColSym0 (l :: TyFun (f0123456789876543210 a0123456789876543210) (TyFun a0123456789876543210 Bool
                                                                          -> Type))
      = forall arg. SameKind (Apply ColSym0 arg) (ColSym1 arg) =>
        ColSym0KindInference
    type instance Apply ColSym0 l = ColSym1 l
    class PColumn (f :: Type -> Type) where
      type Col (arg :: f a) (arg :: a) :: Bool
    class SColumn (f :: Type -> Type) where
      sCol ::
        forall (t :: f a) (t :: a).
        Sing t -> Sing t -> Sing (Apply (Apply ColSym0 t) t :: Bool)