Safe Haskell | None |
---|---|
Language | Haskell2010 |
Characters
charExp :: Char -> Q Exp Source #
>>>
$(toCharOrFail 'F' >>= charExp)
CapitalLetterF
>>>
$(toCharOrFail '\DEL' >>= charExp)
Delete
charPat :: Char -> Q Pat Source #
>>>
:{
>>>
case SmallLetterS of
>>>
$(toCharOrFail 'r' >>= charPat) -> 1
>>>
$(toCharOrFail 's' >>= charPat) -> 2
>>>
_ -> 3
>>>
:}
2
This is the same as:
>>>
:{
>>>
case SmallLetterS of
>>>
SmallLetterR -> 1
>>>
SmallLetterS -> 2
>>>
_ -> 3
>>>
:}
2
Character lists
charListExp :: [Char] -> Q Exp Source #
>>>
$(charListExp [CapitalLetterH, SmallLetterI])
[CapitalLetterH,SmallLetterI]
charListPat :: [Char] -> Q Pat Source #
>>>
:{
>>>
case [CapitalLetterH, SmallLetterI] of
>>>
$(charListPat [CapitalLetterH, SmallLetterA]) -> 1
>>>
$(charListPat [CapitalLetterH, SmallLetterI]) -> 2
>>>
_ -> 3
>>>
:}
2
Character supersets
isCharExp :: Char -> Q Exp Source #
>>>
$(isCharExp CapitalLetterA) :: ASCII.Char
CapitalLetterA
>>>
$(isCharExp CapitalLetterA) :: Word8
65
>>>
$(isCharExp CapitalLetterA) :: ASCII Word8
asciiUnsafe 65
isCharPat :: Char -> Q Pat Source #
>>>
:set -XViewPatterns
>>>
:{
>>>
case (66 :: Word8) of
>>>
$(isCharPat CapitalLetterA) -> 1
>>>
$(isCharPat CapitalLetterB) -> 2
>>>
_ -> 3
>>>
:}
2
String supersets
isStringExp :: [Char] -> Q Exp Source #
isStringPat :: [Char] -> Q Pat Source #