7
votes

Pourquoi soudainement pas trouvé le module?

J'ai deux fichiers dans le même dossier, eval.hs et data.hs , module dans eval.hs impact module Ti.data dans data.hs.hs , lorsque j'essaie de charger eval.hs dans l'interactif (en mode HASKELL EMACS: Ctrl-C , Ctrl l ), il a dit qu'il ne peut pas trouver le module défini dans data.hs.hs , 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 , la fenêtre interamentale: xxx


0 commentaires

4 Réponses :


0
votes

Essayez: xxx

si les modules sont en fait comme subdirectory.contains.a , le répertoire de travail doit être le répertoire sous-répertoire .


3 commentaires

Depuis le point où il a fonctionné, avez-vous compilé l'un des modules à .O ? 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 / pour changer mon répertoire correct !!!



6
votes

J'ai parfois le même problème avec Mode Haskell sur Emacs. Ma solution de contournement est de xxx

maintenant lorsque vous souhaitez recharger le module que vous devez utiliser xxx

au lieu de CTRL-C, CTRL- l.

Si quelqu'un sait un meilleur moyen, merci de me le faire savoir.

-Dech


1 commentaires

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.



0
votes

Essayez d'ajouter

(inferior-haskell-find-project-root nil)


0 commentaires

0
votes

exécutez simplement

:set -isrc -imyothersrcdir


0 commentaires