semantic-version-0.0.2: Semantic Version
Safe HaskellSafe-Inferred
LanguageHaskell2010

Data.SemanticVersion.NumericIdentifier

Synopsis

Documentation

>>> import Text.Parsec(parse)
>>> import Data.Either(isLeft)

parseNumericIdentifier :: CharParsing p => p NumericIdentifier Source #

>>> parse (parseNumericIdentifier <* eof) "parseNumericIdentifier" "0"
Right NumericIdentifierZero
>>> isLeft (parse parseNumericIdentifier "parseNumericIdentifier" "")
True
>>> parse parseNumericIdentifier "parseNumericIdentifier" "01"
Right NumericIdentifierZero
>>> parse parseNumericIdentifier "parseNumericIdentifier" "10"
Right (NumericIdentifierDigits DecDigitNoZero1 [DecDigit0])
>>> parse parseNumericIdentifier "parseNumericIdentifier" "38012"
Right (NumericIdentifierDigits DecDigitNoZero3 [DecDigit8,DecDigit0,DecDigit1,DecDigit2])
>>> isLeft (parse parseNumericIdentifier "parseNumericIdentifier" "a")
True
>>> isLeft (parse parseNumericIdentifier "parseNumericIdentifier" "-")
True