packages feed

hydrogen-version-1.3: hydrogen-version.cabal

name:               hydrogen-version
version:            1.3
homepage:           https://scravy.de/hydrogen-version/
synopsis:           Hydrogen Version Type
description:        A sane replacement for "Data.Version" from the @base@ package.
                    .
                    "Hydrogen.Version" is also exported by "Hydrogen.Prelude" where
                    it comes with a few more instances (e.g. for "Data.Serialize").
                    .
                    >>> Differences to Data.Version
                    .
                    [@Sane 'Ord' instance@] "Data.Version" relies on 'Ord' for lists,
                    which will consider @1.0@ to be less than @1.0.0@. @Hydrogen.Version@
                    considers these to be equal.
                    .
                    [@Sane 'Read' and 'Show' instances@] With @Hydrogen.Version@ you can
                    just do @read "1.0.0" :: Version@, whereas the 'Read' and 'Show'
                    instances for "Data.Version" do not give a concise representation:
                    .
                    > show hydrogenVersion == "1.0.0"
                    > show dataVersion == "Version versionBranch = [1,0,0], versionTags = []"
                    .
                    [@Stricter API@] In @Hydrogen.Version@ you can create a 'Version'
                    only via 'mkVersion', whereas in "Data.Version" the constructor is
                    exported, thus you could so such nonsense as
                    @Data.Version.Version [] []@ (which is not a proper version at all).
                    .
                    [@No Tags@] @Hydrogen.Version@ does not support tags. This is
                    intentional, since there is no agreed upon definition for 'Ord' in
                    the presence of tags (consider @alpha@ vs @beta@ vs @snapshot@ vs
                    @ga@ vs ...).
license:            MIT
license-file:       LICENSE
extra-source-files: CHANGELOG.md, README.md
author:             Julian Fleischer
maintainer:         julian@scravy.de
category:           Language
build-type:         Simple
cabal-version:      >=1.14

source-repository head
    type:           git
    location:       https://github.com/scravy/hydrogen-version

library
  exposed-modules:      Hydrogen.Version
  build-depends:        base ==4.*
  hs-source-dirs:       src
  ghc-options:          -Wall
  default-language:     Haskell2010
  default-extensions:   CPP
                        , DeriveDataTypeable
                        , DeriveGeneric
                        , FlexibleContexts
                        , FlexibleInstances