Je suis nouveau à Haskell et je reçois un comportement ennuyeux lors du débogage.GHCi - Le point d'arrêt est ignoré lors de la deuxième exécution
- ajouter mon point de rupture à l'aide: briser
- Je lance principale
- Tout est ok
- type I: continuer à terminer l'exécution
Quand je ré-exécuter principale, le point d'arrêt ne frappe plus mais le point d'arrêt n'a pas été supprimé car: Quelqu'un sait ce qui se passe?
Je suis sous Ubuntu 11.10, 64 bits. Je vais tester sur un environnement différent demain.
Merci
Il serait probablement utile si vous avez posté la version de GHCi utilisée. –
Il est difficile de savoir sans voir le code, mais il semble probable que lors de la deuxième exécution de la main, le point d'arrêt n'est jamais atteint parce que le résultat est mis en cache en raison d'une évaluation paresseuse. C'était probablement un THUNK (une évaluation suspendue) la première fois, et la deuxième fois c'est déjà évalué. – danr
@danr, vous avez raison, toutes les entrées sont constantes, comme vous l'avez dit, tout doit être mis en cache après la première exécution. Je peux recharger le module mais malheureusement il supprime également tous les points d'arrêt. Ecrivez la réponse et je l'accepterai. –