Haskell-режим "не удалось найти модуль"

Я следую учебнику по астероидам в Хаскеле ( Haskeroids), и у меня возникли проблемы с моими подмодулями. По сути, моя структура папок выглядит следующим образом:

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/Haskeroids/Geometry.hs. есть какие-то настройки, чтобы ghc знал, где искать файл, и как установить его для режима haskell?

Редактировать: сообщение об ошибке было: Не удалось найти модуль Haskeroids.Geometry. Используйте - v, чтобы увидеть список найденных файлов.

1 ответ

Я посмотрел на проект, с которым вы связались, и проверил файл клики - так как я предложил вам не упоминать там материал о Хаскероидах.

 ..

Executable haskeroids
    Main-is:            main.hs

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

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

добавить Other-modules часть вашего клики, и все должно работать хорошо.

Другие вопросы по тегам