Safe Haskell | Safe-Inferred |
---|---|
Language | Haskell2010 |
Synopsis
- data AlphanumericIdentifier
- class HasAlphanumericIdentifier a where
- class AsAlphanumericIdentifier a where
- _AlphanumericIdentifier :: Prism' a AlphanumericIdentifier
- _AlphanumericIdentifierNonDigit :: Prism' a NonDigit
- _AlphanumericIdentifierNonDigits :: Prism' a (NonDigit, IdentifierCharacters)
- _AlphanumericIdentifierCharacters :: Prism' a (IdentifierCharacters, NonDigit)
- _AlphanumericIdentifierCharacters2 :: Prism' a (IdentifierCharacters, NonDigit, IdentifierCharacters)
- parseAlphanumericIdentifier :: CharParsing p => p AlphanumericIdentifier
Documentation
>>>
import Text.Parsec(parse)
>>>
import Data.Either(isLeft)
data AlphanumericIdentifier Source #
Instances
class HasAlphanumericIdentifier a where Source #
class AsAlphanumericIdentifier a where Source #
_AlphanumericIdentifier :: Prism' a AlphanumericIdentifier Source #
_AlphanumericIdentifierNonDigit :: Prism' a NonDigit Source #
_AlphanumericIdentifierNonDigits :: Prism' a (NonDigit, IdentifierCharacters) Source #
_AlphanumericIdentifierCharacters :: Prism' a (IdentifierCharacters, NonDigit) Source #
_AlphanumericIdentifierCharacters2 :: Prism' a (IdentifierCharacters, NonDigit, IdentifierCharacters) Source #
Instances
parseAlphanumericIdentifier :: CharParsing p => p AlphanumericIdentifier Source #
>>>
parse (parseAlphanumericIdentifier <* eof) "parseAlphanumericIdentifier" "A"
Right (AlphanumericIdentifierNonDigit (NonDigitLetter (AlphaUpper Upper_A)))
>>>
isLeft (parse parseAlphanumericIdentifier "parseAlphanumericIdentifier" "")
True
>>>
parse (parseAlphanumericIdentifier <* eof) "parseAlphanumericIdentifier" "Abc-123--XYZ"
Right (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 parseAlphanumericIdentifier "parseAlphanumericIdentifier" "+")
True
>>>
isLeft (parse parseAlphanumericIdentifier "parseAlphanumericIdentifier" "0")
True
>>>
isLeft (parse parseAlphanumericIdentifier "parseAlphanumericIdentifier" "0+")
True
>>>
parse (parseAlphanumericIdentifier <* eof) "parseAlphanumericIdentifier" "0a"
Right (AlphanumericIdentifierCharacters (IdentifierCharacters (IdentifierCharacterDigit DecDigit0 :| [])) (NonDigitLetter (AlphaLower Lower_a)))
>>>
parse parseAlphanumericIdentifier "parseAlphanumericIdentifier" "-"
Right (AlphanumericIdentifierNonDigit NonDigitHyphen)
>>>
parse parseAlphanumericIdentifier "parseAlphanumericIdentifier" "Abc-123--XYZ+"
Right (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))])))