name: hydrogen-version
version: 1.4
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.*
if impl(ghc <= 7.6)
build-depends: ghc-prim
hs-source-dirs: src
ghc-options: -Wall
default-language: Haskell2010
default-extensions: CPP
, DeriveDataTypeable
, DeriveGeneric
, FlexibleContexts
, FlexibleInstances