Как использовать пользовательские прелюдии со стеком GHCI? - PullRequest
0 голосов
/ 22 января 2019

Я добавил пользовательскую Prelude, которая хорошо работает для stack build и stack test. Однако stack ghci это не нравится, так как он пытается загрузить все это сразу:

$ stack --nix ghci
XXX-0.1.0.0: initial-build-steps (lib + exe)
The following GHC options are incompatible with GHCi and have not been passed to it: -threaded
Configuring GHCi with the following packages: XXX

* * * * * * * *

Error: Multiple files use the same module name:
       * Prelude found at the following paths
         * XXX/server/Prelude.hs (XXX:exe:XXX.exe)
         * XXX/src/Prelude.hs (XXX:lib)
         * XXX/tests/Prelude.hs (XXX:exe:tests.exe)
* * * * * * * *

Not attempting to start ghci due to these duplicate modules.

Сначала объясним три разных Prelude.hs файла: они идентичны, поскольку два из них являются символическими ссылками на третий файл; Я не думал о лучшем способе сделать это, не выставляя мои Prelude.hs зависимым библиотекам.

Возможный обходной путь - указать стеку / ghci загружать только библиотечный код (в данном случае - src), или, что еще лучше, указать ему пропускать при загрузке определенные файлы .hs.

...