1

我正在关注 Haskell( Haskeroids ) 中的 Asteroids 教程,但我的子模块有问题。基本上,我的文件夹结构是这样的:

project/
|-- main.hs
|-- Haskeroids/
    |-- Geometry.hs
    |-- Geometry/
        |-- Transform.hs

Geometry.hs 文件有

module Haskeroids.Geometry where

而 Transform.hs 文件有

module Haskeroids.Geometry.Transform where
import Haskeroids.Geometry

出于某种原因,ghc 似乎在寻找 Geometry/Haskroids/Geometry.hs。是否有一些设置可以让 ghc 知道在哪里查找文件,以及为 haskell 模式设置它的方法是什么?

编辑:错误消息是:找不到模块 Haskeroids.Geometry。使用 -v 查看搜索到的文件列表

4

1 回答 1

0

我查看了您链接到的项目并检查了 cabal 文件 - 正如我建议您在那里没有提到 Haskeroids 的那样。

 ..

Executable haskeroids
    Main-is:            main.hs

    Other-modules:      Haskeroids.Geometry
                 ,      Haskeroids.Geometry.Transform

    Build-Depends:      base >= 4, transformers >= 0.2.2.0,
                        ...

Other-modules零件添加到您的 cabal 文件中,一切都应该运行良好且花花公子。

于 2017-03-07T16:38:24.943 回答