ghc-exactprint-1.14.0.0: tests/examples/pre-ghc910/T10267.hs
{-# LANGUAGE TemplateHaskell #-}
module T10267 where
import Language.Haskell.TH
import T10267a
[d| i :: a -> a
i = _foo
j :: a -> a
j x = _ |]
$(return [
SigD (mkName "k")
(ForallT [PlainTV (mkName "a")]
[]
(AppT (AppT ArrowT (VarT (mkName "a"))) (VarT (mkName "a"))))
, FunD (mkName "k")
[Clause [] (NormalB (UnboundVarE (mkName "_foo"))) []]
])
$(return [
SigD (mkName "l")
(ForallT [PlainTV (mkName "a")]
[]
(AppT (AppT ArrowT (VarT (mkName "a"))) (VarT (mkName "a"))))
, FunD (mkName "l")
[Clause [VarP (mkName "x")] (NormalB (UnboundVarE (mkName "_"))) []]
])
foo :: a -> a
foo x = $varX