Warning: file_get_contents(/data/phpspider/zhask/data//catemap/6/haskell/10.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Haskell 阴谋集团的反应太慢了_Haskell_Cabal - Fatal编程技术网

Haskell 阴谋集团的反应太慢了

Haskell 阴谋集团的反应太慢了,haskell,cabal,Haskell,Cabal,目前,cabalrepl对我来说不可用。在提示下输入是不稳定的:出现几个字母,然后它似乎会挂起5-10秒,然后再继续。我怀疑这与它将Alex/Happy生成的文件(分别为81K和134K)加载到REPL中有关。大多数时候,我并不真的需要这些文件来支持REPL。我不确定这是否真的是问题所在,但我不知道还有什么好尝试的 我希望能够将它们从REPL中排除,同时仍将它们包括在构建过程中。更妙的是:我可以从每个文件(lex/parse)中只使用一个函数吗 编辑:我在OS X 10.9上运行GHC 7.8.

目前,
cabalrepl
对我来说不可用。在提示下输入是不稳定的:出现几个字母,然后它似乎会挂起5-10秒,然后再继续。我怀疑这与它将Alex/Happy生成的文件(分别为81K和134K)加载到REPL中有关。大多数时候,我并不真的需要这些文件来支持REPL。我不确定这是否真的是问题所在,但我不知道还有什么好尝试的

我希望能够将它们从REPL中排除,同时仍将它们包括在构建过程中。更妙的是:我可以从每个文件(
lex
/
parse
)中只使用一个函数吗

编辑:我在OS X 10.9上运行GHC 7.8.3/Cabal 1.20.0.3和2012年年中16GB内存的rMBP(Sandy Bridge)上看到了这种行为。GHC/Cabal是通过自制软件安装的


编辑2:有问题

你能发布你的.cabal文件吗

如果我正确理解你的情况,我可以这样做:

  • 验证alex和happy生成的文件是否导致减速
  • 如果是这种情况,请考虑将它们移到不同的包中,以便<代码> GHCI 将加载它们的编译版本。
    对于#1,我可能会尝试将alex和happy生成的文件替换为存根-骨架文件,其中只包含由其他模块导入的符号的定义(
    =未定义的
    ),即使代码位于不同的基本包中

    相反,我在项目目录中创建了一个
    .ghci
    文件,其中包含以下内容:

    :set -fobject-code
    

    这将加载模块的编译版本,仅可调用导出的函数。对于我来说,这很好。

    你能提供一些关于你正在运行这台机器的信息吗?是本地机器还是远程机器?操作系统?这类东西。添加到原始帖子。好主意!我会尝试一下,然后再报告。我不知道怎么做#2,所以我会让你知道这是否解决了问题。我已经确认,这些生成的文件正在导致速度减慢。我还编辑了当前阴谋集团文件的链接。我将它们放入
    Hython.Parser
    包中,是否需要执行任何特殊操作以防止ghci自动加载它们?