blob: 8a8ac0b7d366524a12c53cb9c7780e2dc72d240b (
plain)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
|
{-# LANGUAGE EmptyDataDecls, TypeFamilies, TemplateHaskell #-}
module Main where
import Language.Haskell.TH
type family S :: (* -> (* -> * -> *)) -> (* -> *) -> *
test :: String
test = $(do
test <- [d|
type family T :: (* -> (* -> * -> *)) -> (* -> *) -> * |]
blah <- reify ''S
return (LitE (StringL (pprint test ++ "\n" ++ pprint blah))))
main = putStrLn test
|