什么时候在提供TH派生函数的库中需要TemplateHaskell扩展?

时间:2013-12-22 18:28:16

标签: haskell cabal template-haskell

我的印象是,使用:: Name -> Q [Dec]类型的函数必须将其打开,并将TemplateHaskell扩展名打开,例如,记录在aeson中:

$(deriveJSON defaultOptions ''(,,,))

但我刚刚注意到lens docs节目使用这些TH函数而没有拼接(或TemplateHaskell),我只是在我正在处理的库中尝试过它似乎工作正常,即使是顶级的这样的事情:

fmap concat $ forM [''X , ''Y , ''Z ] deriveFoo

然而,在进行了这些修改(从拼接中移除并删除了pragma)之后,我得到了this error,除非我在测试套件块中添加extensions: TemplateHaskell行,我实际上并不是理解。

拼接的东西是神话吗?如果是这样,那么为什么我需要在测试套件的扩展列表中使用TemplateHaskell

0 个答案:

没有答案