我在使用模板 Haskell 生成 GADT 时遇到问题。问题是我无法让代码完全编译。加载文件时 GHCI 不会终止,并且 ghc 进程会使用尽可能多的内存和 cpu(2.4GB,50~70%)。
我试图做一个最小的例子,它仍然会发生。我是使用牛津符号 ( [| |]
) 还是通过手动应用 TH 数据类型来构建函数都没有关系。考虑这个简单的模块:
{-# LANGUAGE GADTs, TemplateHaskell #-}
module Test where
$( [d| data Test a where
T :: Test String
|] )
我在用于 x64 的 Haskell 平台的 OSX Mountain Lion 上使用 GHC 7.4.2。
有谁知道为什么会这样?也许我错误地使用了一些代码?