Какие версии пакетов могут зависеть от пакета Haskell?

StackOverflow https://stackoverflow.com/questions/2841956

  •  27-09-2019
  •  | 
  •  

Вопрос

Я почти готов загрузить мой первый пакет, чтобы взлать!

У меня это в моем hstest.cabal:

Executable hstest
        Main-Is:        hstest.hs
        Build-Depends:  base, mtl, directory, ghc, ghc-paths, random, QuickCheck

Я понимаю, что это плохой вид, чтобы просто перечислить, какие пакеты мои пакет зависит; Вместо этого я должен утверждать, какие версии этих пакетов нужны.

Версии, которые я установил,

  • база = 4.1.0.0
  • MTL = 1.1.0.2
  • каталог = 1.0.0.3
  • GHC = 6.10.3
  • Paths GHC = 0.1.0.5
  • Random = 1.0.0.1
  • QuickCheck = 1.2.0.0.

Есть ли простой способ узнать, какие самые ранние приемлемые версии каждого из этих пакетов на самом деле нуждаются в моей пакете? (т.е. без установки много устаревших версий и тестировав их один за другим?)

Какие будущие версии этих пакетов я могу предположить, что моя посылка может зависеть?

Это было полезно?

Решение

Есть ли простой способ узнать, какие самые ранние приемлемые версии каждого из этих пакетов моей пакеты на самом деле нуждаются

Нет, для этого нет инструмента.

Какие будущие версии этих пакетов я могу предположить, что моя посылка может зависеть?

Самый безопасный способ должен следовать Политика версий пакета, который говорит только полагаться только на API-расширяющиеся версии пакетов. Это версии формы: A.B.*. Отказ Как государства политики:

Чтобы минимизировать поломки, когда выделяются новые версии пакета, вы можете использовать зависимости, которые нечувствительны для незначительных изменений версии (например, FOO> = 1.2.1 && <1.3).

Так что вы сделаете что-то вроде:

 QuickCheck >= 1.2 && < 1.3

Теперь тестирование может раскрыть более низкие или более высокие оценки, на которые вы на самом деле используете.

Лицензировано под: CC-BY-SA с атрибуция
Не связан с StackOverflow
scroll top