2015-06-07 1 views
2

Я делаю некоторые «эксперименты» на модуле haskell, и у меня есть проблема с исходным файлом, который я хочу изменить.Force GHC с использованием локальных файлов

У меня есть много причин думать, что GHC ищет установленную (с cabal) библиотеку в моей системе, а не файлы локальных источников.
Я удалил файлы *.o локально, а другие исходные файлы в этом модуле не были восстановлены GHC.

Могу ли я заставить GHC использовать файлы локальных источников в модуле или игнорировать установленный модуль в частности?

+0

Если я правильно понял, один из ваших модулей назван таким же, как модуль из одной из библиотек, которые вы установили. Если это так, самый простой способ скрыть эту библиотеку, вероятно, будет использовать [cabal sandbox] (https://www.haskell.org/cabal/users-guide/installing-packages.html#developing-with-sandboxes). – user2407038

+1

* Не делайте *. Избегайте конфликтов имен. Конечно, вы можете обойти их, но это большая работа, когда вы просто можете избежать всех хлопот, выбрав уникальное имя. – Bakuriu

ответ

2

Да, используйте ghc -hide-package evil-package. Или вы можете временно скрыть пакет с ghc-pkg hide evil-package, а затем отменить его позже с ghc-pkg expose evil-package.