0

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

我正在使用 Mac OS 10.6.8,GHC 版本 7.0.4

4

2 回答 2

3

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

于 2012-03-05T04:32:27.353 回答
-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 ...
于 2012-03-05T15:37:35.457 回答