============= TestX.hs ==============================================
module TestX where
import Language.Haskell.TH
import Language.Haskell.TH.Syntax
mkADT :: String -> String -> Q [Dec]
mkADT n t = let n' = mkName n
un = mkName $ "un" ++ n
in return [DataD [] n' [] [RecC n' [(un,NotStrict,ConT un)]] []]
============= Main.hs ================================================
-- peckages: template-haskell
{-# OPTIONS_GHC -XTemplateHaskell #-}
module Main where
import TestX
$( mkADT "Test" "String")
main = putStrLn . unTest $ Test "test"
============= error ==================================================
test.hs|1 error|
|| Illegal type constructor or class name: `unTest'
|| When splicing generated code into the program
============= =======================================================
What am I doing wrong?
Thanks Marc Weber
_______________________________________________
template-haskell mailing list
template-haskell@...
http://www.haskell.org/mailman/listinfo/template-haskell