如何阻止Hintell运行时解释程序库Hint崩溃GHC解释器?

时间:2012-03-05 03:55:31

标签: haskell crash ghci hint

如何阻止Hintell运行时解释程序库Hint崩溃GHC解释器? 当我尝试将模块加载到GHC解释器中时,它会出现“总线错误”,“非法指令”或“分段错误”。这是一个主要问题,而不仅仅是一个烦恼,因为当我使用提示加载本身使用提示的代码时,它也会崩溃我的应用程序。我怀疑这与链接时Hint拖入的大量库有关。

我使用的是Mac OS 10.6.8,GHC 7.0.4版

2 个答案:

答案 0 :(得分:3)

不幸的是,你无法阻止它。 ghc和hint使用的ghc api无法处理一些并发用例,主要是那些涉及将包和模块加载到当前上下文中的用例。 ghc api中的全球状态太多了。

答案 1 :(得分:-2)

我通过将函数显式传递给所有加载的代码来解决这个问题。

例如,而不是做

module Go where
import Run

go :: IO ()
go = do
  blah blah ....
  runFile etc ...

我做了

module Go where

go :: RunFile -> IO ()
go runFile = do
  blah blah ....
  run runFile etc ...