2017-03-07 7 views
0

Ich befolge ein Asteroids-Tutorial in Haskell (Haskeroids) und habe ein Problem mit meinen Submodulen. Grundsätzlich meine Ordnerstruktur wie folgt ist:Haskell-Modus "Modul konnte nicht gefunden werden"

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

Die Geometry.hs Datei hat

module Haskeroids.Geometry where 

während die Transform.hs Datei

module Haskeroids.Geometry.Transform where 
import Haskeroids.Geometry 

aus irgendeinem Grund hat, scheint ghc zu Suchen Sie nach Geometrie/Haskeroids/Geometry.hs. gibt es einige Einstellungen zu setzen, so dass Ghc weiß, wo nach der Datei zu suchen, und wie ist es für Haskell-Modus festlegen?

Edit: Die Fehlermeldung war: Modul Haskeroids.Geometry nicht gefunden. Verwenden Sie - v, um eine Liste der gesuchten Dateien zu sehen

+3

Bitte posten Sie die gesamte Fehlermeldung ... – mb21

+0

Ich denke, Sie haben ein Kabale Projekt - haben Sie alle Module dort aufgeführt? – epsilonhalbe

Antwort

0

Ich habe mir das Projekt angeschaut und die Cabal-Datei überprüft - da ich Ihnen vorgeschlagen habe, dort keine Haskeroids-Sachen zu erwähnen.

.. 

Executable haskeroids 
    Main-is:   main.hs 

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

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

fügen Sie den Other-modules Teil zu Ihrer Clique Datei und alles sollte gut und gut arbeiten.

+0

Ich würde Ihnen auch empfehlen, 'cabal' oder' stack' zu verwenden, um Ihre ausführbare Datei zu erstellen, anstatt ghc direkt aufzurufen (über build.bat). – epsilonhalbe

+0

Ah danke. Ich habe nicht viel Erfahrung mit Cabal/Stack, also hätte ich nicht gewusst. –

Verwandte Themen