blob: 870d7d4fc9f0daac59af7e1e735b5df8eb2261b2 (
plain)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
|
{-# LANGUAGE TemplateHaskell, RankNTypes, TypeOperators, DataKinds, PolyKinds,
GADTs #-}
module T8031 where
import Data.Proxy
import Data.Kind
data SList :: [k] -> Type where
SCons :: Proxy h -> Proxy t -> SList (h ': t)
$( [d| foo :: forall k (a :: k). Proxy a
-> forall (b :: [k]). Proxy b
-> SList (a ': b)
foo a b = SCons a b |] )
|