Ответ 1
Несколько месяцев назад была отличная дискуссия по Reddit. Мое воспоминание состоит в том, что Haskell не имеет заданного двоичного интерфейса приложения и что компилятор ghc
делает много агрессивных сокращений межбиблиотечного графа во время компиляции. В результате в приложении Haskell нет такой вещи, как установка стабильной библиотеки. Любая библиотека может быть перетащена и перекомпилирована по всему набору уже установленных библиотек.
Суть в том, что кеширование каталога .cabal/lib
ничего не делает для ускорения установки. Перекомпиляция зависимостей всегда будет происходить. Ваш лучший подход, помимо песочницы с использованием hsenv
, заключается в том, чтобы указать полный набор зависимых библиотек при вызове cabal install
. Таким образом, зависимости можно вычислить заблаговременно, а компиляция должна выполняться только один раз.
Гуру Хаскелла, пожалуйста, не стесняйтесь исправить меня, если что-то, что я сказал здесь, ошибочно. Я уже несколько месяцев из цикла Haskell, и я знаю, что в последнее время проблемы с каббалом/библиотекой получили много внимания.