5

可能重复:
模板 Haskell 声明中的局部变量

我正在尝试构建一个简单的 Template Haskell 函数,给定一个像“Foo”这样的字符串,它将为data Foo = Foo.

现在,我正在尝试做类似mkDecl name = [d|data $(conT name) = Foo|]的事情,但这给了我错误:“类型或类声明的格式错误:$(conT name)”。知道发生了什么吗?

我可以使用 dataD 等将它写出来,但我更喜欢这种方式,因为它会更清楚发生了什么。

4

0 回答 0