| Safe Haskell | Safe-Inferred |
|---|---|
| Language | Haskell2010 |
Data.SemanticVersion.Version
Synopsis
- data Version = Version NumericIdentifier NumericIdentifier NumericIdentifier
- class HasVersion a where
- class AsVersion a where
- parseVersion :: CharParsing p => p Version
Documentation
>>>import Text.Parsec(parse)>>>import Data.Either(isLeft)
Constructors
| Version NumericIdentifier NumericIdentifier NumericIdentifier |
class HasVersion a where Source #
Minimal complete definition
Methods
version :: Lens' a Version Source #
versionMajor :: Lens' a NumericIdentifier Source #
Instances
parseVersion :: CharParsing p => p Version Source #
>>>parse (parseVersion <* eof) "parseVersion" "0.0.0"Right (Version NumericIdentifierZero NumericIdentifierZero NumericIdentifierZero)
>>>isLeft (parse parseVersion "parseVersion" "")True
>>>parse (parseVersion <* eof) "parseVersion" "1.2.3"Right (Version (NumericIdentifierDigits DecDigitNoZero1 []) (NumericIdentifierDigits DecDigitNoZero2 []) (NumericIdentifierDigits DecDigitNoZero3 []))
>>>isLeft(parse parseVersion "parseVersion" "01.2.3")True
>>>parse (parseVersion <* eof) "parseVersion" "10.2.3"Right (Version (NumericIdentifierDigits DecDigitNoZero1 [DecDigit0]) (NumericIdentifierDigits DecDigitNoZero2 []) (NumericIdentifierDigits DecDigitNoZero3 []))
>>>parse (parseVersion <* eof) "parseVersion" "38012.5.6"Right (Version (NumericIdentifierDigits DecDigitNoZero3 [DecDigit8,DecDigit0,DecDigit1,DecDigit2]) (NumericIdentifierDigits DecDigitNoZero5 []) (NumericIdentifierDigits DecDigitNoZero6 []))
>>>parse (parseVersion <* eof) "parseVersion" "38012.5.5432"Right (Version (NumericIdentifierDigits DecDigitNoZero3 [DecDigit8,DecDigit0,DecDigit1,DecDigit2]) (NumericIdentifierDigits DecDigitNoZero5 []) (NumericIdentifierDigits DecDigitNoZero5 [DecDigit4,DecDigit3,DecDigit2]))
>>>isLeft (parse (parseVersion <* eof) "parseVersion" "38012.05.5432")True
>>>isLeft (parse (parseVersion <* eof) "parseVersion" "38012.5.05432")True
>>>isLeft (parse parseVersion "parseVersion" "a")True
>>>isLeft (parse parseVersion "parseVersion" "-")True