blob: e71f347bb4d7cbe8c1a018dd273f2db1d55c261b (
plain)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
|
{-# LANGUAGE TemplateHaskell, RankNTypes, DataKinds, TypeOperators, PolyKinds,
GADTs #-}
module T8031 where
import Data.Proxy
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 |] )
|