标签: haskell template-haskell
可能重复: Local variables in Template Haskell declarations
我试图构建一个简单的模板Haskell函数,给定类似" Foo"的字符串,将构造data Foo = Foo的语法树。
data Foo = Foo
现在,我尝试做mkDecl name = [d|data $(conT name) = Foo|]之类的事情,但是这给了我错误:"格式错误的类型或类声明:$(conT名称) &#34 ;.知道发生了什么吗?
mkDecl name = [d|data $(conT name) = Foo|]
我可以用dataD等写出来,但我更喜欢这种方式,因为它会更加清晰。