8
votes

GHCI ne charge pas la fonction de fichier

in test.hs, j'ai: xxx

dans ghci, je tape: xxx

pourquoi? Pourquoi? Comment réparer?


0 commentaires

4 Réponses :


4
votes

Êtes-vous sûr de charger le bon test.hs? Peut-être que vous êtes dans le mauvais répertoire. Ou peut-être que vous n'avez pas enregistré test.hs après avoir ajouté la définition de Doubleme.


1 commentaires

J'avais créé un dossier sur bureau au lieu d'un raccourci vers un dossier.



5
votes
  1. Supprimer test.hi et test.o Dans le répertoire, puis essayer Test GHCI code>. [Parfois, lorsque j'exécute ghc file.hs code> (et pas ghc - make fichier.hs code>) Il donne une erreur de référence non définie, mais crée de tels fichiers qui sont lus par GHCI code> plus tard. Peut-être que ceci est un bug.] P> li>

  2. essayez p>

    :cd "<path to your file>"
    :l test
    :browse
    

1 commentaires

Sur OS X 10.11.6 et GHCI 8.2.2, vous n'avez pas besoin d'utiliser des guillemets doubles au . Vous pouvez essayer : CD .



30
votes

Je suppose que vous avez défini une fonction principale dans votre fichier source.

Si vous avez défini une fonction principale , chargement du module avec : l test n'importera aucune fonction mais principal . Dans ce cas, vous pouvez le charger en préparé un astéros sur le nom du module: : l * test . La raison en est que le binaire compilé masquera des fonctions de niveau supérieur non exportées. Prepending Une astérites forces GHCI pour ignorer le module précompilé (test) et interpréter le fichier source à la place (test.hs). xxx

vérifier ces liens pour plus d'informations:

http: //www.hakell .org / ghc / docs / 6.12.2 / HTML / users_Guide / GHCI-compiled.html http: //www.hakell .Org / GHC / DOCS / 6.12.2 / HTML / users_Guide / interactive-évaluation.html # GHCI-Scope


2 commentaires

Ce n'était pas le problème de l'OP, mais vous avez corrigé mon problème. Merci pour le tour * Module_Name.


Cela ne fonctionne pas pour moi. Tout d'abord, après votre charge de charge, l'invite ressemblera à * Main>, au lieu de >>. Aussi, je reçois un message d'erreur me dise : Impossible de trouver le module `* Fadetoblack ': Utilisez -v pour voir une liste des fichiers recherchés.



0
votes

Ceci est arrivé à moi aussi - et au cas où quelqu'un d'autre s'en va dans cette page, mon problème était que le VM que j'exécutit GHCI dans était hors de l'espace disque - en l'invitant à essayer de charger un fichier vide. à chaque fois.


0 commentaires