Tengo dos archivos en la misma carpeta, y Eval.hs
Data.hs
, módulo en módulo Eval.hs
importaciones TI.Data
en Data.hs
, cuando intento cargar Eval.hs
en el interactivo (en modo emacs Haskell: Ctrl-c, Ctrl l
), que dijo que no puede encontrar el módulo definido en Data.hs
, pero se cargó con éxito antes, ¿por qué de repente no puede? por cierto, he notado que la primera vez que ejecute Ctrl-c, Ctrl l
, la ventana interative:¿Por qué de repente no se puede encontrar el módulo?
GHCi, version 6.12.1: http://www.haskell.org/ghc/ :? for help
Loading package ghc-prim ... linking ... done.
Loading package integer-gmp ... linking ... done.
Loading package base ... linking ... done.
Prelude> :cd ~/.cabal/
Prelude> :load "../hs/TI/Eval.hs"
../hs/TI/Eval.hs:2:7:
Could not find module `TI.Data':
Use -v to see a list of the files searched for.
Failed, modules loaded: none.
Me metí en este problema ahora y después de un poco de violín, creo que el problema tiene que ver con el modo haskell que tiene cierta sensibilidad de cabal. Si hay un archivo cabal en un directorio principal al cargar el archivo fuente en un búfer, ghci comenzará desde allí hasta que se recargue el búfer del archivo fuente. Entonces, ya sea eliminando el archivo cabal o agregando alguna declaración de que el módulo que está tratando de cargar es parte del módulo cabal debería solucionar el problema. – worldsayshi