какую зависимость? hpack уже вкомпилирован внутрь stack
Сам hpack вместо cabal с common stanzas - лишняя зависимость
только ментальная, разве что. тащить ничего не надо
Почему не надо, если в тулинге проекта stack вообще нет изначально?
так я сравнивал package.yaml и .cabal, а не stack c чем-то иным
Я тоже, вот есть package.yaml и hpack который из него генерит .cabal с нужными other-modules, о чем говорили выше. По сравнению с cabal и common stanzas это лишняя зависимость ради other-modules, всё остальное уже эргономично можно делать через .cabal и .project
по той же логике вам для .project надо тащить cabal — лишняя зависимость, если в проекте нет cabal
cabal-install есть в стандартной дистрибуции
равно как и stack
Нет, это отдельный лишний шаг который потребует скачивание скрипта и его исполнение, запуск скачивания lts и прочей ерунды: https://www.haskell.org/downloads/
вы про какой дистрибутив? stack входит в Haskell Platform и в ghcup
а запуск скачивания lts проходит незаметно, в отличие от cabal update
Например https://downloads.haskell.org/~ghc/8.10.7/ghc-8.10.7-i386-deb9-linux.tar.xz
это же GHC. там внутри cabal-install?
stack там очень слева, потому что в итоге самостоятельно как-то ставит ghc и cabal, а никак не интегрируется с ghcup
stack не ставит cabal, а с ghc справедливо
Это минимально возможный дистрибутив, в него входит Distribution, aka Cabal (as a library) и CabalSpec. cabal-install это обертка поверх, которая поддерживает полную спецификацию, ее нужно ставить всегда, когда хочешь иметь доступ к полной спецификации, а не ее «популярной» части. hpack и stack, как ни крути, и отдельные лишние зависимости, и неполные реализации спеки (неполный доступ к cabal as a lib)
ну прямо с ghcup там никто не интегрируется, это ghcup ставит все инструменты куда ему удобно хотя научить ghcup прописывать root-dir стеку где-нибудь под ~/.ghcup/ не кажется неприемлемо отвратительной идеей
с другой стороны https://docs.haskellstack.org/en/stable/GUIDE/#setting-stack-root-location не позволяет его выставить из конфига, поэтому понятно, почему это не сделано
Обсуждают сегодня