J'ai deux fichiers dans le même dossier, eval.hs code> et data.hs code>, module dans eval.hs code> impact module Ti.data code> dans data.hs.hs code>, lorsque j'essaie de charger eval.hs code> dans l'interactif (en mode HASKELL EMACS: Ctrl-C , Ctrl l code>), il a dit qu'il ne peut pas trouver le module défini dans data.hs.hs code>, mais il est chargé avec succès auparavant, pourquoi soudainement ça ne peut pas ??
BTW, j'ai remarqué que la première fois que j'exécute Ctrl-C, CTRL L code>, la fenêtre interamentale:
4 Réponses :
Essayez: si les modules sont en fait comme subdirectory.contains.a code>, le répertoire de travail doit être le répertoire sous-répertoire code >. p> p>
Depuis le point où il a fonctionné, avez-vous compilé l'un des modules à .O code>? Sont ces parties d'un paquet de cabales?
Les modules ne font pas partie du paquet de cabales ... Dois-je compiler les deux modules à nouveau?
Merci Vivian! Cela fonctionne, après avoir lu votre édition. La raison en est que chaque fois que j'utilise CTRL-C, CTRL-L, l'interamentique exécute automatiquement le prélude>: cd ~ / .cabal / code> pour changer mon répertoire correct !!!
J'ai parfois le même problème avec Mode Haskell sur Emacs. Ma solution de contournement est de maintenant lorsque vous souhaitez recharger le module que vous devez utiliser p> au lieu de CTRL-C, CTRL- l. p> Si quelqu'un sait un meilleur moyen, merci de me le faire savoir. P> -Dech p> p> p>
Je suis entré dans ce problème maintenant et après que certains viols, je pense que le problème a à voir avec le mode Haskell ayant une certaine sensibilité de la cabale. S'il existe un fichier Cabal dans un répertoire parent lors du chargement du fichier source dans un tampon GHCI commencera à partir de là jusqu'à ce que le tampon de fichier source soit rechargé. Donc, en supprimant le fichier Cabal ou en ajoutant une déclaration que le module que vous essayez de charger est une partie du module Cabal devrait résoudre le problème.
Essayez d'ajouter
(inferior-haskell-find-project-root nil)
exécutez simplement
:set -isrc -imyothersrcdir