2012-09-22 1 views

ответ

21

В настоящее время cabal поддерживает подкоманду cabal repl, которая выполняет всю настройку для вас, поэтому по крайней мере для ghci не требуется следующее. Тем не менее:

Команда cabal build создает файл dist/build/autogen/cabal_macros.h, в котором содержатся все необходимые определения. Чтобы включить этот файл в вызов ghc, вам понадобятся флаги -optP-include -optPdist/build/autogen/cabal_macros.h.

Для удобства, вы можете поместить следующее в .ghci файл в директории проекта:

:set -optP-include -optPdist/build/autogen/cabal_macros.h 

, так что вы не должны впечатать параметры каждый раз, когда вы хотите использовать GHCI.

Остерегайтесь, однако: макросы будут определены в соответствии с конфигурацией при последнем запуске cabal build и не будут обновляться при установке новых пакетов или использовании другой версии GHC: для этого вам нужно будет повторно настроить и перестроить пакет.

(Благодаря Саймону Хенгелю в списке библиотек для этой мудрости: http://www.haskell.org/pipermail/libraries/2012-September/018491.html).