Модуль Haskell не найден. Что не так с файловой структурой моего проекта? - PullRequest
3 голосов
/ 12 сентября 2011

У меня проблема со структурой моего проекта:

pic-analysis-0.1/AlgTop/Data.hs
                        Functions.hs
                 PNGModify.hs
                 Main.hs

Data.hs:

module AlgTop.Data (…) where

Functions.hs:

module AlgTop.Functions (…) where
import AlgTop.Data

Модуль AlgTop.Functions не находит AlgTop.Data.

Я сравнил свой подход к структуре проекта с ansi-terminal в Hackage (см. Ниже), но я не смог обнаружить никакой разницы.Что я делаю не так?

ansi-terminal-xxx/System/Console/ANSI/Common.hs
                                     /Unix.hs
                                     /…

Common.hs:

module System.Console.ANSI.Common where

Unix.hs:

module System.Console.ANSI.Unix (…) where
import System.Console.ANSI.Common

Сообщение об ошибке:

[...]
*** Chasing dependencies:
Chasing modules from: *Functions.hs

Functions.hs:9:8:
    Could not find module `AlgTop.Data':
      locations searched:
        AlgTop/Data.hs
        AlgTop/Data.lhs
[...]

Ответы [ 2 ]

4 голосов
/ 12 сентября 2011

Если вы используете ghci, вероятно, вам нужно :set -i/.../pic-analysis-0.1. То есть включите корневой каталог вашей иерархии модулей.

3 голосов
/ 13 сентября 2011

Не нужно ничего устанавливать.Просто перейдите в корневой каталог, прежде чем вызывать GHCi:

ghci AlgTop/Functions.hs
...