Соглашения для области стабильности пакетов Cabal
Cabal позволяет создать свободную форму Поле стабильности:
стабильность: свободная форма
Уровень стабильности упаковки, например. alpha
, experimental
, provisional
, stable
.
Каковы конвенции сообщества об этих значениях стабильности? Что считается experimental
и что такое provisional
? Я вижу, что только несколько пакетов объявлены как stable
. Какую стабильность он имеет в виду, стабильность открытого API или конечное отсутствие ошибок в программном обеспечении?
Ответы
Ответ 1
В настоящее время поле больше не используется, и его не следует использовать. Как сказал Макс, в будущем он, вероятно, будет заменен чем-то значимым.
Если вы заинтересованы в истории, поле возникло в проектном предложении для первого набора Иерархических библиотек Haskell. В этом документе описываются исходные предполагаемые значения для значений.
Ответ 2
В настоящее время это поле очень плохое руководство по стабильности библиотеки, поэтому в основном игнорируется. Дункан Коуттс (один из главных разработчиков Cabal и Hackage) сказал, что в конечном итоге он планирует полностью заменить это поле, что-то вроде системы социального голосования в Hackage.
Лично (и я не одинок) я всегда опускаю поле стабильности. Учитывая, что он собирается уйти, его, вероятно, не стоит терять сон за то, что ему нужно вставить.
Ответ 3
Первоначальные предполагаемые значения:
- экспериментальный: API нестабилен. Он может меняться в любое время, то есть любое изменение номера версии;
- предварительный: API движется к стабильности. Он может быть изменен при каждой незначительной ревизии, но должен предоставлять устаревшие версии функций;
- стабильный: API стабилен. Только незначительные выпуски должны быть добавлены. После изменений в API устаревшие функции должны храниться как минимум для одного основного выпуска.
Как указывалось в других ответах, сообщество, похоже, больше не следует этим рекомендациям.
Как Саймон Марлоу, это описано в проектном предложении для первого набора иерархических библиотек Haskell. Исходная ссылка мертва, но вы можете найти копию в машине обратного пути.