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