2016-03-24 4 views
4

Nach dem Update von Ghc 7.6 auf 7.10 scheint es nicht :m [Module] oder ghci> import [Module] wo [Module.hs] ist Ihre handschriftliche Modul-Datei, die im aktuellen Arbeitsverzeichnis befindet.ghci: wie man Module in einen Ordner importiert

Es scheint, dass ghci nur nach Modulen sucht, die Teil der Haskell-Standardbibliothek sind und Module, die global über Cabal installiert werden. (Sie können immer noch in ghci Eingabeaufforderungen)

Ich denke, es ist irgendwie ärgerlich, da Sie nicht testen können, ob meine Moduldefinition korrekt ist, indem Sie sie direkt aus Ghci importieren. Gibt es einen Schalter oder eine Konfiguration, mit denen ich umgehen kann, so kann ich sagen, wo meine Haskell-Arbeitsanweisung zu Ghci ist?

+0

werfen nur einen '.cabal' in den Ordner die Offenlegung Ihrer Modul und es sollte funktionieren – Carsten

+2

Ich verstehe es nicht. Wenn ': load' funktioniert, warum nicht einfach das verwenden? – sclv

+0

Sie können immer noch ': m' oder' import' auf "lokalen" Modulen verwenden, es müssen nur alle Module geladen werden, bevor Sie einen dieser Befehle aufrufen (ich glaube, das Modul würde das Modul automatisch laden, wenn es nicht vorhanden wäre) t geladen?). Also mach einfach ': l Module.hs; : m + Modul'. – user2407038

Antwort

4

Nicht eine sehr nützliche Art und Weise, aber wenn Sie das alte Verhalten erreichen wollen, müssen Sie die Datei laden, die das Modul

ghci> :l File.hs 

ausblenden enthält/entfernen Sie alle Module, die Sie nicht

wollen
ghci> :m 

Das Modul aus der Datei importiert ist jetzt verfügbar

ghci> :m YourModule 
Verwandte Themen