Safe Haskell | Safe-Inferred |
---|---|
Language | Haskell2010 |
Synopsis
- data IdentifierCharacter
- class HasIdentifierCharacter a where
- class AsIdentifierCharacter a where
- parseIdentifierCharacter :: CharParsing p => p IdentifierCharacter
Documentation
>>>
import Text.Parsec(parse)
>>>
import Data.Either(isLeft)
data IdentifierCharacter Source #
Instances
class HasIdentifierCharacter a where Source #
class AsIdentifierCharacter a where Source #
parseIdentifierCharacter :: CharParsing p => p IdentifierCharacter Source #
>>>
parse (parseIdentifierCharacter <* eof) "parseIdentifierCharacter" "a"
Right (IdentifierCharacterNonDigit (NonDigitLetter (AlphaLower Lower_a)))
>>>
isLeft (parse parseIdentifierCharacter "parseIdentifierCharacter" "")
True
>>>
parse parseIdentifierCharacter "parseIdentifierCharacter" "Abc"
Right (IdentifierCharacterNonDigit (NonDigitLetter (AlphaUpper Upper_A)))
>>>
parse (parseIdentifierCharacter <* eof) "parseIdentifierCharacter" "-"
Right (IdentifierCharacterNonDigit NonDigitHyphen)
>>>
parse (parseIdentifierCharacter <* eof) "parseIdentifierCharacter" "0"
Right (IdentifierCharacterDigit DecDigit0)
>>>
parse (parseIdentifierCharacter <* eof) "parseIdentifierCharacter" "9"
Right (IdentifierCharacterDigit DecDigit9)
>>>
isLeft (parse parseIdentifierCharacter "parseIdentifierCharacter" "+")
True
>>>
isLeft (parse parseIdentifierCharacter "parseIdentifierCharacter" "")
True
>>>
parse parseIdentifierCharacter "parseIdentifierCharacter" "01"
Right (IdentifierCharacterDigit DecDigit0)
>>>
parse parseIdentifierCharacter "parseIdentifierCharacter" "10"
Right (IdentifierCharacterDigit DecDigit1)
>>>
parse parseIdentifierCharacter "parseIdentifierCharacter" "38012"
Right (IdentifierCharacterDigit DecDigit3)
>>>
parse (parseIdentifierCharacter <* eof) "parseIdentifierCharacter" "a"
Right (IdentifierCharacterNonDigit (NonDigitLetter (AlphaLower Lower_a)))