Data.Version
| Авторские права | (c) Университет Глазго 2004 |
|---|---|
| Лицензия | BSD-стиль (см. файл libraries/base/LICENSE) |
| Поддержка | libraries@haskell.org |
| Устойчивость | экспериментальная |
| Переносимость | непереносимая (локальная универсальная квантификация в ReadP) |
| Безопасный Haskell | Безопасный |
| Язык | Haskell2010 |
Описание
Общая библиотека для представления и обработки версий.
Схемы версионирования разнообразны, поэтому представленное в этой библиотеке представление версии является компромиссом между полной общностью, где практически невозможно предоставить общие функциональные возможности, и фиксированием конкретной схемы версионирования, что, вероятно, окажется слишком ограничительным.
Поэтому здесь используется представление, включающее многие схемы версионирования, обычно используемые в приложениях, и мы предоставляем реализации Eq, Ord и преобразования в/из String, которые будут подходить для некоторых приложений, но не для всех.
Тип Version
Version представляет версию программного продукта.
Предоставлен экземпляр Eq, который реализует точное равенство с учетом перестановки меток в поле versionTags.
Также предоставлен экземпляр Ord, который задаёт лексикографический порядок для полей versionBranch (например, 2.1 > 2.0, 1.2.3 > 1.2.2 и т. д.). Это, как ожидается, будет достаточно для многих применений, но обратите внимание, что для вашей схемы версионирования может потребоваться более конкретный порядок. Например, некоторые схемы версионирования могут включать предварительные версии, которые имеют метки "pre1", "pre2" и т. д., и их необходимо учитывать при определении порядка. В некоторых случаях более уместен порядок дат, поэтому приложение должно искать метки date в поле versionTags и сравнивать их. В итоге, не всегда следует предполагать, что compare и другие Ord операции являются правильными для всех Version.
Аналогично, конкретные представления версий могут отличаться. Одно возможное конкретное представление предоставлено (см. showVersion и parseVersion), но в зависимости от приложения может быть более подходящее конкретное представление.
Конструкторы
| Version | |
Поля
| |
Экземпляры
Конкретное представление Version
showVersion :: Version -> String Источник
Предоставляет одно возможное конкретное представление для Version. Для версии с versionBranch = [1,2,3] и versionTags = ["tag1","tag2"], вывод будет 1.2.3-tag1-tag2.
parseVersion :: ReadP Version Источник
Парсер версий в формате, создаваемом showVersion.
Функция-конструктор
makeVersion :: [Int] -> Version Источник
Создаёт Version без меток.
С момента: 4.8.0.0
© The University of Glasgow and others
Licensed under a BSD-style license (see top of the page).
https://downloads.haskell.org/~ghc/7.10.3/docs/html/libraries/base-4.8.2.0/Data-Version.html