HORIZON HASKELLDocslts/ghc-10.0.x8fef28d2026-11-02Search packagesCtrl K
Theme: |

GHC 10.0.0.20260917 · lts/ghc-10.0.x · 8fef28d · 2026-11-02

Modulesemver-0.4.0.1Haskell2010

Data.SemVer.Delimited

A set of delimiters can be used to encode/decode a Version and specify alternative serialisation strategies.

Lenses can be used to modify the default delimiter set, as in the following example - using alpha characters to encode the version as a valid DNS CNAME (assuming operators from lens or lens-family-core):

let Right v = fromText "1.2.3+40"
let alpha = semantic & major .~ 'm' & patch .~ 'p' & release .~ 'r' & metadata .~ 'd' & identifier .~ 'i'

Data.Text.Lazy.Builder.toLazyText ("app01-" <> toBuilder alpha v <> ".dmz.internal")

Would result in the following LText.Text:

app01-1m2p3d40.dmz.internal

Using the same Delimiters set with parser would ensure correct decoding behaviour.

Contents
  1. Delimiters
  2. Constructor
  3. Lenses
  4. Encoding
  5. Decoding
Synopsis
  • Packagesemver-0.4.0.1
  • Exports9
  • LanguageHaskell2010
  • LicenceMPL-2.0
  • SourceDelimited.hs

Delimiters

datadata Delimiters

An opaque set representing the seperators used to delimit semantic version components.

Instances4Eq, Ord, Show, NFData

Constructor

The default set of delimiters used in the semantic version specification.

Example: Given exhaustive version components would result in the following hypothetical version:

1.2.3-alpha.1+sha.exp.12ab3d9

Lenses

Encoding

Decoding