Я только что установил EclipseFP, и теперь я пытаюсь загрузить модуль в GHCi. Проблема в том, что GHCi не загружает библиотеки, установленные с помощью cabal, на которые ссылается мой модуль. После того, как я поставил -v в GHCi и побежал: г, это выглядит как GHCi только ищет библиотеки, которые установлены глобально, а не библиотеки, которые установлены для локального пользователя:EclipseFG не ищет «установленные пользователем» модули
Could not find module `Text.ParserCombinators.Parsec'
There are files missing in the `parsec-3.1.3' package,
try running 'ghc-pkg check'.
Locations searched:
Text/ParserCombinators/Parsec.hs
Text/ParserCombinators/Parsec.lhs
/Library/Haskell/ghc-7.6.3/lib/parsec-3.1.3/lib/Text/ParserCombinators/Parsec.hi
Однако, когда я m запускает GHCi в терминале или через Haskell-Mode в emacs, все работает отлично!
Мне интересно, если что-то не так с моей конфигурацией в EclipseFP или я могу заставить GHCi искать локальные модули пользователя.
Кстати, я уже пробовал опцию -i, чтобы пройти локальный путь поиска CHCi
-i~/Library/Haskell/ghc-7.6.3/lib/
, но, по-видимому, GHCi ищет только исходные файлы (например, Parsec.hs и Parsec.lhs), но не файлы интерфейса (Parsec.hi) по указанному пути.
Буду признателен, если вы можете помочь мне испытать радость программирования Haskell в Eclipse!
Спасибо!
Спасибо! Мне не хватало связи между файлом cabal и GHCi. Я сделал некоторый прогресс, но теперь buildwrapper использует более старую версию библиотеки cabal, чем cabal-install. Я нашел ваш ответ на аналогичную проблему https://github.com/JPMoresmau/BuildWrapper/issues/18. Поэтому, я думаю, мне нужно либо перестроить мой ghc (что очень больно через порт), либо отказаться от установки cabal-install. – Salman
Да, точно, к сожалению, мы застряли в трехсторонней зависимости от GHC и Cabal, поэтому вам нужно использовать ту же самую версию, что и ваш ghc. –