Safe Haskell | Safe-Inferred |
---|---|
Language | Haskell2010 |
Synopsis
- data BuildIdentifier
- class HasBuildIdentifier a where
- class AsBuildIdentifier a where
- parseBuildIdentifier :: CharParsing p => p BuildIdentifier
Documentation
>>>
import Text.Parsec(parse)
>>>
import Data.Either(isLeft)
data BuildIdentifier Source #
Instances
class HasBuildIdentifier a where Source #
Instances
class AsBuildIdentifier a where Source #
parseBuildIdentifier :: CharParsing p => p BuildIdentifier Source #
>>>
parse (parseBuildIdentifier <* eof) "parseBuildIdentifier" "A"
Right (BuildIdentifierAlphanumeric (AlphanumericIdentifierNonDigit (NonDigitLetter (AlphaUpper Upper_A))))
>>>
isLeft (parse parseBuildIdentifier "parseBuildIdentifier" "")
True
>>>
parse (parseBuildIdentifier <* eof) "parseBuildIdentifier" "Abc-123--XYZ"
Right (BuildIdentifierAlphanumeric (AlphanumericIdentifierNonDigits (NonDigitLetter (AlphaUpper Upper_A)) (IdentifierCharacters (IdentifierCharacterNonDigit (NonDigitLetter (AlphaLower Lower_b)) :| [IdentifierCharacterNonDigit (NonDigitLetter (AlphaLower Lower_c)),IdentifierCharacterNonDigit NonDigitHyphen,IdentifierCharacterDigit DecDigit1,IdentifierCharacterDigit DecDigit2,IdentifierCharacterDigit DecDigit3,IdentifierCharacterNonDigit NonDigitHyphen,IdentifierCharacterNonDigit NonDigitHyphen,IdentifierCharacterNonDigit (NonDigitLetter (AlphaUpper Upper_X)),IdentifierCharacterNonDigit (NonDigitLetter (AlphaUpper Upper_Y)),IdentifierCharacterNonDigit (NonDigitLetter (AlphaUpper Upper_Z))]))))
>>>
isLeft (parse parseBuildIdentifier "parseBuildIdentifier" "+")
True
>>>
parse parseBuildIdentifier "parseBuildIdentifier" "0"
Right (BuildIdentifierDigits (DecDigit0 :| []))
>>>
parse parseBuildIdentifier "parseBuildIdentifier" "0+"
Right (BuildIdentifierDigits (DecDigit0 :| []))
>>>
parse (parseBuildIdentifier <* eof) "parseBuildIdentifier" "0a"
Right (BuildIdentifierAlphanumeric (AlphanumericIdentifierCharacters (IdentifierCharacters (IdentifierCharacterDigit DecDigit0 :| [])) (NonDigitLetter (AlphaLower Lower_a))))
>>>
parse parseBuildIdentifier "parseBuildIdentifier" "-"
Right (BuildIdentifierAlphanumeric (AlphanumericIdentifierNonDigit NonDigitHyphen))
>>>
parse parseBuildIdentifier "parseBuildIdentifier" "Abc-123--XYZ+"
Right (BuildIdentifierAlphanumeric (AlphanumericIdentifierNonDigits (NonDigitLetter (AlphaUpper Upper_A)) (IdentifierCharacters (IdentifierCharacterNonDigit (NonDigitLetter (AlphaLower Lower_b)) :| [IdentifierCharacterNonDigit (NonDigitLetter (AlphaLower Lower_c)),IdentifierCharacterNonDigit NonDigitHyphen,IdentifierCharacterDigit DecDigit1,IdentifierCharacterDigit DecDigit2,IdentifierCharacterDigit DecDigit3,IdentifierCharacterNonDigit NonDigitHyphen,IdentifierCharacterNonDigit NonDigitHyphen,IdentifierCharacterNonDigit (NonDigitLetter (AlphaUpper Upper_X)),IdentifierCharacterNonDigit (NonDigitLetter (AlphaUpper Upper_Y)),IdentifierCharacterNonDigit (NonDigitLetter (AlphaUpper Upper_Z))]))))
>>>
parse parseBuildIdentifier "parseBuildIdentifier" "0901010"
Right (BuildIdentifierDigits (DecDigit0 :| [DecDigit9,DecDigit0,DecDigit1,DecDigit0,DecDigit1,DecDigit0]))
>>>
parse parseBuildIdentifier "parseBuildIdentifier" "90109010"
Right (BuildIdentifierDigits (DecDigit9 :| [DecDigit0,DecDigit1,DecDigit0,DecDigit9,DecDigit0,DecDigit1,DecDigit0]))