在我的 haskell 项目中,我有以下目录结构(缺少一些条目,但与此问题无关)
\n\n- quanthas\n - quanthas.cabal\n - src/\n - QuantHas/\n - Settings.hs\nRun Code Online (Sandbox Code Playgroud)\n\n我的 Settings.hs 文件包含此模块头
\n\nmodule QuantHas.Settings(module QuantHas.Settings) where\nRun Code Online (Sandbox Code Playgroud)\n\n我的 cabal 文件看起来像这样
\n\nName: QuantHas\nVersion: 0.0\nDescription:\n QuantHas project is an attempt to port QuantLib to Haskell keeping the functional flavor of Haskell.\nLicense: BSD3\nLicense-file: LICENSE\nBuild-Type: Simple\nCabal-Version: >=1.10\n\nLibrary\n Build-Depends: base >= 3 && < 5, array >= 0.2\n Exposed-modules: QuantHas.Time.Frequency\n QuantHas.Time.TimeUnit\n QuantHas.Time.Period\n QuantHas.Time.Date\n QuantHas.Time.DayCounter\n QuantHas.Time.BusinessDayConvention\n QuantHas.Time.Calendar\n QuantHas.Time.Calendars.UnitedKingdom\n QuantHas.Time.Schedule\n QuantHas.Settings\n QuantHas.Require\n default-language: Haskell2010 \n hs-source-dirs: src\n -- ghc-options: -Wall\n\ntest-suite QuantHas-tests\n type: exitcode-stdio-1.0\n hs-source-dirs: testsuite\n main-is: Tests.hs\n default-language: Haskell2010 \nRun Code Online (Sandbox Code Playgroud)\n\n当我执行时
\n\ncabal install --enable-tests\nRun Code Online (Sandbox Code Playgroud)\n\n我收到这条消息
\n\nsrc/Quanthas/Settings.hs:17:8: error:\n File name does not match module name:\n Saw: \xe2\x80\x98QuantHas.Settings\xe2\x80\x99\n Expected: \xe2\x80\x98Quanthas.Settings\xe2\x80\x99\nRun Code Online (Sandbox Code Playgroud)\n\n这似乎是错误的。然而,如果我们按照阴谋集团的预期去做呢?所以现在的 Settings.hs 模块头是
\n\nmodule Quanthas.Settings(module Quanthas.Settings) where\nRun Code Online (Sandbox Code Playgroud)\n\n阴谋集团现在说
\n\nsrc/QuantHas/Settings.hs:17:8: error:\n File name does not match module name:\n Saw: \xe2\x80\x98Quanthas.Settings\xe2\x80\x99\n Expected: \xe2\x80\x98QuantHas.Settings\xe2\x80\x99\nRun Code Online (Sandbox Code Playgroud)\n\n正是在这个点上,我放弃并转向SO。谁能帮助我了解发生了什么事?
\n\n版本信息:\n 平台:运行 MacOS 10.12.3 的 Macbook Pro\n Haskell:8.0.1\n Cabal:1.24.0.0
\n\n谢谢!
\n问题在于不同模块中的导入语句之一存在拼写错误。由于您使用的是不区分大小写的文件系统 (OS X),GHC 能够找到模块内容,但在检查模块头时发现它与 import 语句不匹配并出错。
| 归档时间: |
|
| 查看次数: |
812 次 |
| 最近记录: |