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 Can';I don’我不需要参加哈斯克尔的教程_Haskell_Compiler Errors_Cabal - Fatal编程技术网

Haskell Can';I don’我不需要参加哈斯克尔的教程

Haskell Can';I don’我不需要参加哈斯克尔的教程,haskell,compiler-errors,cabal,Haskell,Compiler Errors,Cabal,我对Haskell很陌生——我知道它的语法,其实不多,所以我认为获得更多信息的最好方法是遵循Haskell wiki的一些教程 我发现了这个: 不幸的是,当我达到第(2.9)项时,我的结果与网站上显示的结果不同。当我键入cabal install--enable tests时,我得到: Resolving dependencies... Configuring haq-0.1.0.0... Building haq-0.1.0.0... Preprocessing executable 'ha

我对Haskell很陌生——我知道它的语法,其实不多,所以我认为获得更多信息的最好方法是遵循Haskell wiki的一些教程

我发现了这个:

不幸的是,当我达到第(2.9)项时,我的结果与网站上显示的结果不同。当我键入
cabal install--enable tests
时,我得到:

Resolving dependencies...
Configuring haq-0.1.0.0...
Building haq-0.1.0.0...
Preprocessing executable 'haq' for haq-0.1.0.0...
Linking dist/dist-sandbox-2a06ecba/build/haq/haq ...
Preprocessing test suite 'tests' for haq-0.1.0.0...
<command line>: cannot satisfy -package-id haq-0.1.0.0-inplace
    (use -v for more information)
Failed to install haq-0.1.0.0
cabal: Error: some packages failed to install:
haq-0.1.0.0 failed during the building phase. The exception was:
ExitFailure 1

build dependens
部分中的
haq
引用了一个库,但是您的.cabal文件没有指定如何构建库-即,它没有
library
部分


您将在该wiki页面的第3.2节中看到
部分应该是什么样子:

确定-设法找到有效的配置。谢谢你的提示

这是我的阴谋集团档案:

-- Initial haq.cabal generated by cabal init.  For further documentation, 
-- see http://haskell.org/cabal/users-guide/

name:                main
version:             0.1.0.0
license:             GPL-2
license-file:        LICENSE
author:              Bogdan Baranski
build-type:          Simple
cabal-version:       >=1.10

library
  build-depends:       base >=4.8 && <4.9
  exposed-modules:     Main
  default-language:    Haskell2010

executable main
  main-is:             Main.hs
  build-depends:       base >=4.8 && <4.9
  default-language:    Haskell2010

test-suite tests
  ghc-options:         -Wall
  default-extensions:  OverloadedStrings
  type:                exitcode-stdio-1.0
  main-is:             HSpecTests.hs
  build-depends:       base,
                       main,
                       hspec >= 1.8
  default-language:    Haskell2010
——由cabal init生成的初始haq.cabal。有关进一步文件,
--看http://haskell.org/cabal/users-guide/
姓名:main
版本:0.1.0.0
许可证:GPL-2
许可证文件:许可证
作者:Bogdan Baranski
构建类型:简单
阴谋集团版本:>=1.10
图书馆
构建取决于:基本>=4.8&&=4.8&&=1.8
默认语言:Haskell 2010

此外,我必须将文件重命名为“Main.hs”,以使其与内部定义的模块一致(我注意到Haskell对这个约定非常敏感:模块“module”必须在文件“module.hs”中定义).

请发布您的
.cabal
文件。答案更新为完整cabal文件的链接。好的-我知道问题出在哪里了,但是第3.2节中的cabal文件引用了另一个文件。我可以做的是将haq.hs文件的内容提取到一个模块中,然后尝试运行该示例。我要试试看——谢谢你的帮助。显然,自教程发布以来,一定发生了一些变化。例如,测试中不再允许使用可执行文件还是什么?(请原谅我潜在的错误措辞——正如我所说,我是Haskell的新手)。看起来2014年5月29日的编辑在.cabal文件中添加了
测试套件
部分,引用了
haq
库,但没有首先解释如何定义库。这很有意义。因此,为了完成本教程,我需要:1.)重构代码:将功能提取到模块中。2.)将“library”部分添加到my.cabal文件中。3.)在可执行和测试中使用新创建的模块。是吗?是的-这就是后面在第3节教程中所做的。
-- Initial haq.cabal generated by cabal init.  For further documentation, 
-- see http://haskell.org/cabal/users-guide/

name:                main
version:             0.1.0.0
license:             GPL-2
license-file:        LICENSE
author:              Bogdan Baranski
build-type:          Simple
cabal-version:       >=1.10

library
  build-depends:       base >=4.8 && <4.9
  exposed-modules:     Main
  default-language:    Haskell2010

executable main
  main-is:             Main.hs
  build-depends:       base >=4.8 && <4.9
  default-language:    Haskell2010

test-suite tests
  ghc-options:         -Wall
  default-extensions:  OverloadedStrings
  type:                exitcode-stdio-1.0
  main-is:             HSpecTests.hs
  build-depends:       base,
                       main,
                       hspec >= 1.8
  default-language:    Haskell2010