{-# LANGUAGE CPP #-}
module Data.Word8 (
Word8
, isControl, isSpace, isLower, isUpper
, isAlpha, isAlphaNum, isPrint, isDigit, isOctDigit, isHexDigit
, isLetter, isMark, isNumber, isPunctuation, isSymbol, isSeparator
, isAscii, isLatin1, isAsciiUpper, isAsciiLower
, toUpper, toLower, toTitle
, _nul, _tab, _lf, _vt, _np, _cr
, _space, _exclam, _quotedbl, _numbersign, _dollar, _percent, _ampersand, _quotesingle, _parenleft, _parenright, _asterisk, _plus, _comma, _hyphen, _period, _slash
, _0, _1, _2, _3, _4, _5, _6, _7, _8, _9
, _colon, _semicolon, _less, _equal, _greater, _question, _at
, _A, _B, _C, _D, _E, _F, _G, _H, _I, _J, _K, _L, _M, _N, _O, _P, _Q, _R, _S, _T, _U, _V, _W, _X, _Y, _Z
, _bracketleft, _backslash, _bracketright, _circum, _underscore, _grave
, _a, _b, _c, _d, _e, _f, _g, _h, _i, _j, _k, _l, _m, _n, _o, _p, _q, _r, _s, _t, _u, _v, _w, _x, _y, _z
, _braceleft, _bar, _braceright, _tilde, _del
, _nbsp
, _ordfeminine, _softhyphen, _mu, _ordmasculine
, _s2, _s3, _s1, _1'4, _1'2, _3'4
, _Agrave, _Odieresis, _Oslash, _Thorn
, _germandbls, _agrave, _odieresis, _oslash, _thorn, _ydieresis
) where
import Data.Word (Word8)
#ifndef MIN_VERSION_base
#define MIN_VERSION_base(x,y,z) 1
#endif
isControl :: Word8 -> Bool
isControl :: Word8 -> Bool
isControl w :: Word8
w = Word8
_nul Word8 -> Word8 -> Bool
forall a. Ord a => a -> a -> Bool
<= Word8
w Bool -> Bool -> Bool
&& Word8
w Word8 -> Word8 -> Bool
forall a. Ord a => a -> a -> Bool
<= 0x1f
Bool -> Bool -> Bool
|| Word8
_del Word8 -> Word8 -> Bool
forall a. Ord a => a -> a -> Bool
<= Word8
w Bool -> Bool -> Bool
&& Word8
w Word8 -> Word8 -> Bool
forall a. Ord a => a -> a -> Bool
<= 0x9f
isSpace :: Word8 -> Bool
isSpace :: Word8 -> Bool
isSpace w :: Word8
w = Word8
w Word8 -> Word8 -> Bool
forall a. Eq a => a -> a -> Bool
== Word8
_space
Bool -> Bool -> Bool
|| Word8
w Word8 -> Word8 -> Bool
forall a. Eq a => a -> a -> Bool
== Word8
_tab
Bool -> Bool -> Bool
|| Word8
w Word8 -> Word8 -> Bool
forall a. Eq a => a -> a -> Bool
== Word8
_lf
Bool -> Bool -> Bool
|| Word8
w Word8 -> Word8 -> Bool
forall a. Eq a => a -> a -> Bool
== Word8
_cr
Bool -> Bool -> Bool
|| Word8
w Word8 -> Word8 -> Bool
forall a. Eq a => a -> a -> Bool
== Word8
_np
Bool -> Bool -> Bool
|| Word8
w Word8 -> Word8 -> Bool
forall a. Eq a => a -> a -> Bool
== Word8
_vt
Bool -> Bool -> Bool
|| Word8
w Word8 -> Word8 -> Bool
forall a. Eq a => a -> a -> Bool
== Word8
_nbsp
isLower :: Word8 -> Bool
isLower :: Word8 -> Bool
isLower w :: Word8
w = Word8 -> Bool
isLower' Word8
w
Bool -> Bool -> Bool
|| Word8
w Word8 -> Word8 -> Bool
forall a. Eq a => a -> a -> Bool
== Word8
_mu
#if !MIN_VERSION_base(4,8,0)
|| w == _ordfeminine
|| w == _ordmasculine
#endif
isLowerCommon :: Word8 -> Bool
isLowerCommon :: Word8 -> Bool
isLowerCommon w :: Word8
w = Word8 -> Bool
isLower' Word8
w
Bool -> Bool -> Bool
|| Word8
w Word8 -> Word8 -> Bool
forall a. Eq a => a -> a -> Bool
== Word8
_mu
Bool -> Bool -> Bool
|| Word8
w Word8 -> Word8 -> Bool
forall a. Eq a => a -> a -> Bool
== Word8
_ordfeminine
Bool -> Bool -> Bool
|| Word8
w Word8 -> Word8 -> Bool
forall a. Eq a => a -> a -> Bool
== Word8
_ordmasculine
isLower' :: Word8 -> Bool
isLower' :: Word8 -> Bool
isLower' w :: Word8
w = Word8 -> Bool
isAsciiLower Word8
w
Bool -> Bool -> Bool
|| Word8
_germandbls Word8 -> Word8 -> Bool
forall a. Ord a => a -> a -> Bool
<= Word8
w Bool -> Bool -> Bool
&& Word8
w Word8 -> Word8 -> Bool
forall a. Ord a => a -> a -> Bool
<= Word8
_odieresis
Bool -> Bool -> Bool
|| Word8
_oslash Word8 -> Word8 -> Bool
forall a. Ord a => a -> a -> Bool
<= Word8
w Bool -> Bool -> Bool
&& Word8
w Word8 -> Word8 -> Bool
forall a. Ord a => a -> a -> Bool
<= Word8
_ydieresis
isUpper :: Word8 -> Bool
isUpper :: Word8 -> Bool
isUpper w :: Word8
w = Word8 -> Bool
isAsciiUpper Word8
w
Bool -> Bool -> Bool
|| Word8
_Agrave Word8 -> Word8 -> Bool
forall a. Ord a => a -> a -> Bool
<= Word8
w Bool -> Bool -> Bool
&& Word8
w Word8 -> Word8 -> Bool
forall a. Ord a => a -> a -> Bool
<= Word8
_Odieresis
Bool -> Bool -> Bool
|| Word8
_Oslash Word8 -> Word8 -> Bool
forall a. Ord a => a -> a -> Bool
<= Word8
w Bool -> Bool -> Bool
&& Word8
w Word8 -> Word8 -> Bool
forall a. Ord a => a -> a -> Bool
<= Word8
_Thorn
isAlpha :: Word8 -> Bool
isAlpha :: Word8 -> Bool
isAlpha w :: Word8
w = Word8 -> Bool
isLowerCommon Word8
w Bool -> Bool -> Bool
|| Word8 -> Bool
isUpper Word8
w
isAlphaNum :: Word8 -> Bool
isAlphaNum :: Word8 -> Bool
isAlphaNum w :: Word8
w = Word8 -> Bool
isAlpha Word8
w Bool -> Bool -> Bool
|| Word8 -> Bool
isNumber Word8
w
isPrint :: Word8 -> Bool
isPrint :: Word8 -> Bool
isPrint w :: Word8
w
| Word8
w Word8 -> Word8 -> Bool
forall a. Eq a => a -> a -> Bool
== Word8
_softhyphen = Bool
False
isPrint w :: Word8
w = Word8
_space Word8 -> Word8 -> Bool
forall a. Ord a => a -> a -> Bool
<= Word8
w Bool -> Bool -> Bool
&& Word8
w Word8 -> Word8 -> Bool
forall a. Ord a => a -> a -> Bool
<= Word8
_tilde
Bool -> Bool -> Bool
|| Word8
_nbsp Word8 -> Word8 -> Bool
forall a. Ord a => a -> a -> Bool
<= Word8
w Bool -> Bool -> Bool
&& Word8
w Word8 -> Word8 -> Bool
forall a. Ord a => a -> a -> Bool
<= Word8
_ydieresis
isDigit :: Word8 -> Bool
isDigit :: Word8 -> Bool
isDigit w :: Word8
w = Word8
_0 Word8 -> Word8 -> Bool
forall a. Ord a => a -> a -> Bool
<= Word8
w Bool -> Bool -> Bool
&& Word8
w Word8 -> Word8 -> Bool
forall a. Ord a => a -> a -> Bool
<= Word8
_9
isOctDigit :: Word8 -> Bool
isOctDigit :: Word8 -> Bool
isOctDigit w :: Word8
w = Word8
_0 Word8 -> Word8 -> Bool
forall a. Ord a => a -> a -> Bool
<= Word8
w Bool -> Bool -> Bool
&& Word8
w Word8 -> Word8 -> Bool
forall a. Ord a => a -> a -> Bool
<= Word8
_7
isHexDigit :: Word8 -> Bool
isHexDigit :: Word8 -> Bool
isHexDigit w :: Word8
w = Word8 -> Bool
isDigit Word8
w
Bool -> Bool -> Bool
|| Word8
_A Word8 -> Word8 -> Bool
forall a. Ord a => a -> a -> Bool
<= Word8
w Bool -> Bool -> Bool
&& Word8
w Word8 -> Word8 -> Bool
forall a. Ord a => a -> a -> Bool
<= Word8
_F
Bool -> Bool -> Bool
|| Word8
_a Word8 -> Word8 -> Bool
forall a. Ord a => a -> a -> Bool
<= Word8
w Bool -> Bool -> Bool
&& Word8
w Word8 -> Word8 -> Bool
forall a. Ord a => a -> a -> Bool
<= Word8
_f
isLetter :: Word8 -> Bool
isLetter :: Word8 -> Bool
isLetter w :: Word8
w = Word8 -> Bool
isLowerCommon Word8
w Bool -> Bool -> Bool
|| Word8 -> Bool
isUpper Word8
w
isMark :: Word8 -> Bool
isMark :: Word8 -> Bool
isMark _ = Bool
False
isNumber :: Word8 -> Bool
isNumber :: Word8 -> Bool
isNumber w :: Word8
w = Word8 -> Bool
isDigit Word8
w
Bool -> Bool -> Bool
|| Word8
w Word8 -> Word8 -> Bool
forall a. Eq a => a -> a -> Bool
== Word8
_s1
Bool -> Bool -> Bool
|| Word8
w Word8 -> Word8 -> Bool
forall a. Eq a => a -> a -> Bool
== Word8
_s2
Bool -> Bool -> Bool
|| Word8
w Word8 -> Word8 -> Bool
forall a. Eq a => a -> a -> Bool
== Word8
_s3
Bool -> Bool -> Bool
|| Word8
w Word8 -> Word8 -> Bool
forall a. Eq a => a -> a -> Bool
== Word8
_1'4
Bool -> Bool -> Bool
|| Word8
w Word8 -> Word8 -> Bool
forall a. Eq a => a -> a -> Bool
== Word8
_1'2
Bool -> Bool -> Bool
|| Word8
w Word8 -> Word8 -> Bool
forall a. Eq a => a -> a -> Bool
== Word8
_3'4
isPunctuation :: Word8 -> Bool
#if MIN_VERSION_base(4,8,0)
isPunctuation :: Word8 -> Bool
isPunctuation w :: Word8
w = Word8
w Word8 -> [Word8] -> Bool
forall (t :: * -> *) a. (Foldable t, Eq a) => a -> t a -> Bool
`elem` [0x21,0x22,0x23,0x25,0x26,0x27,0x28,0x29,0x2a,0x2c,0x2d,0x2e,0x2f,0x3a,0x3b,0x3f,0x40,0x5b,0x5c,0x5d,0x5f,0x7b,0x7d,0xa1,0xa7,0xab,0xb6,0xb7,0xbb,0xbf]
#else
isPunctuation w = w `elem` [0x21,0x22,0x23,0x25,0x26,0x27,0x28,0x29,0x2a,0x2c,0x2d,0x2e,0x2f,0x3a,0x3b,0x3f,0x40,0x5b,0x5c,0x5d,0x5f,0x7b,0x7d,0xa1,0xab,0xb7,0xbb,0xbf]
#endif
isSymbol :: Word8 -> Bool
#if MIN_VERSION_base(4,8,0)
isSymbol :: Word8 -> Bool
isSymbol w :: Word8
w = Word8
w Word8 -> [Word8] -> Bool
forall (t :: * -> *) a. (Foldable t, Eq a) => a -> t a -> Bool
`elem` [0x24,0x2b,0x3c,0x3d,0x3e,0x5e,0x60,0x7c,0x7e,0xa2,0xa3,0xa4,0xa5,0xa6,0xa8,0xa9,0xac,0xae,0xaf,0xb0,0xb1,0xb4,0xb8,0xd7,0xf7]
#else
isSymbol w = w `elem` [0x24,0x2b,0x3c,0x3d,0x3e,0x5e,0x60,0x7c,0x7e,0xa2,0xa3,0xa4,0xa5,0xa6,0xa7,0xa8,0xa9,0xac,0xae,0xaf,0xb0,0xb1,0xb4,0xb6,0xb8,0xd7,0xf7]
#endif
isSeparator :: Word8 -> Bool
isSeparator :: Word8 -> Bool
isSeparator w :: Word8
w = Word8
w Word8 -> Word8 -> Bool
forall a. Eq a => a -> a -> Bool
== Word8
_space
Bool -> Bool -> Bool
|| Word8
w Word8 -> Word8 -> Bool
forall a. Eq a => a -> a -> Bool
== Word8
_nbsp
isAscii :: Word8 -> Bool
isAscii :: Word8 -> Bool
isAscii w :: Word8
w = Word8
_nul Word8 -> Word8 -> Bool
forall a. Ord a => a -> a -> Bool
<= Word8
w Bool -> Bool -> Bool
&& Word8
w Word8 -> Word8 -> Bool
forall a. Ord a => a -> a -> Bool
<= Word8
_del
isLatin1 :: Word8 -> Bool
isLatin1 :: Word8 -> Bool
isLatin1 _ = Bool
True
isAsciiUpper :: Word8 -> Bool
isAsciiUpper :: Word8 -> Bool
isAsciiUpper w :: Word8
w = Word8
_A Word8 -> Word8 -> Bool
forall a. Ord a => a -> a -> Bool
<= Word8
w Bool -> Bool -> Bool
&& Word8
w Word8 -> Word8 -> Bool
forall a. Ord a => a -> a -> Bool
<= Word8
_Z
isAsciiLower :: Word8 -> Bool
isAsciiLower :: Word8 -> Bool
isAsciiLower w :: Word8
w = Word8
_a Word8 -> Word8 -> Bool
forall a. Ord a => a -> a -> Bool
<= Word8
w Bool -> Bool -> Bool
&& Word8
w Word8 -> Word8 -> Bool
forall a. Ord a => a -> a -> Bool
<= Word8
_z
toUpper :: Word8 -> Word8
toUpper :: Word8 -> Word8
toUpper w :: Word8
w
| Word8
w Word8 -> Word8 -> Bool
forall a. Eq a => a -> a -> Bool
== Word8
_germandbls = Word8
w
| Word8 -> Bool
isLower' Word8
w = Word8
w Word8 -> Word8 -> Word8
forall a. Num a => a -> a -> a
- Word8
_space
| Bool
otherwise = Word8
w
toLower :: Word8 -> Word8
toLower :: Word8 -> Word8
toLower w :: Word8
w
| Word8 -> Bool
isUpper Word8
w = Word8
w Word8 -> Word8 -> Word8
forall a. Num a => a -> a -> a
+ Word8
_space
| Bool
otherwise = Word8
w
toTitle :: Word8 -> Word8
toTitle :: Word8 -> Word8
toTitle = Word8 -> Word8
toUpper
_nul, _tab, _lf, _vt, _np, _cr :: Word8
_nul :: Word8
_nul = 0x00
_tab :: Word8
_tab = 0x09
_lf :: Word8
_lf = 0x0a
_vt :: Word8
_vt = 0x0b
_np :: Word8
_np = 0x0c
_cr :: Word8
_cr = 0x0d
_space, _exclam, _quotedbl, _numbersign, _dollar, _percent, _ampersand, _quotesingle, _parenleft, _parenright, _asterisk, _plus, _comma, _hyphen, _period, _slash :: Word8
_space :: Word8
_space = 0x20
_exclam :: Word8
_exclam = 0x21
_quotedbl :: Word8
_quotedbl = 0x22
_numbersign :: Word8
_numbersign = 0x23
_dollar :: Word8
_dollar = 0x24
_percent :: Word8
_percent = 0x25
_ampersand :: Word8
_ampersand = 0x26
_quotesingle :: Word8
_quotesingle = 0x27
_parenleft :: Word8
_parenleft = 0x28
_parenright :: Word8
_parenright = 0x29
_asterisk :: Word8
_asterisk = 0x2a
_plus :: Word8
_plus = 0x2b
_comma :: Word8
_comma = 0x2c
_hyphen :: Word8
_hyphen = 0x2d
_period :: Word8
_period = 0x2e
_slash :: Word8
_slash = 0x2f
_0, _1, _2, _3, _4, _5, _6, _7, _8, _9 :: Word8
_0 :: Word8
_0 = 0x30
_1 :: Word8
_1 = 0x31
_2 :: Word8
_2 = 0x32
_3 :: Word8
_3 = 0x33
_4 :: Word8
_4 = 0x34
_5 :: Word8
_5 = 0x35
_6 :: Word8
_6 = 0x36
_7 :: Word8
_7 = 0x37
_8 :: Word8
_8 = 0x38
_9 :: Word8
_9 = 0x39
_colon, _semicolon, _less, _equal, _greater, _question, _at :: Word8
_colon :: Word8
_colon = 0x3a
_semicolon :: Word8
_semicolon = 0x3b
_less :: Word8
_less = 0x3c
_equal :: Word8
_equal = 0x3d
_greater :: Word8
_greater = 0x3e
_question :: Word8
_question = 0x3f
_at :: Word8
_at = 0x40
_A, _B, _C, _D, _E, _F, _G, _H, _I, _J, _K, _L, _M, _N, _O, _P, _Q, _R, _S, _T, _U, _V, _W, _X, _Y, _Z :: Word8
_A :: Word8
_A = 0x41
_B :: Word8
_B = 0x42
_C :: Word8
_C = 0x43
_D :: Word8
_D = 0x44
_E :: Word8
_E = 0x45
_F :: Word8
_F = 0x46
_G :: Word8
_G = 0x47
_H :: Word8
_H = 0x48
_I :: Word8
_I = 0x49
_J :: Word8
_J = 0x4a
_K :: Word8
_K = 0x4b
_L :: Word8
_L = 0x4c
_M :: Word8
_M = 0x4d
_N :: Word8
_N = 0x4e
_O :: Word8
_O = 0x4f
_P :: Word8
_P = 0x50
_Q :: Word8
_Q = 0x51
_R :: Word8
_R = 0x52
_S :: Word8
_S = 0x53
_T :: Word8
_T = 0x54
_U :: Word8
_U = 0x55
_V :: Word8
_V = 0x56
_W :: Word8
_W = 0x57
_X :: Word8
_X = 0x58
_Y :: Word8
_Y = 0x59
_Z :: Word8
_Z = 0x5a
_bracketleft, _backslash, _bracketright, _circum, _underscore, _grave :: Word8
_bracketleft :: Word8
_bracketleft = 0x5b
_backslash :: Word8
_backslash = 0x5c
_bracketright :: Word8
_bracketright = 0x5d
_circum :: Word8
_circum = 0x5e
_underscore :: Word8
_underscore = 0x5f
_grave :: Word8
_grave = 0x60
_a, _b, _c, _d, _e, _f, _g, _h, _i, _j, _k, _l, _m, _n, _o, _p, _q, _r, _s, _t, _u, _v, _w, _x, _y, _z :: Word8
_a :: Word8
_a = 0x61
_b :: Word8
_b = 0x62
_c :: Word8
_c = 0x63
_d :: Word8
_d = 0x64
_e :: Word8
_e = 0x65
_f :: Word8
_f = 0x66
_g :: Word8
_g = 0x67
_h :: Word8
_h = 0x68
_i :: Word8
_i = 0x69
_j :: Word8
_j = 0x6a
_k :: Word8
_k = 0x6b
_l :: Word8
_l = 0x6c
_m :: Word8
_m = 0x6d
_n :: Word8
_n = 0x6e
_o :: Word8
_o = 0x6f
_p :: Word8
_p = 0x70
_q :: Word8
_q = 0x71
_r :: Word8
_r = 0x72
_s :: Word8
_s = 0x73
_t :: Word8
_t = 0x74
_u :: Word8
_u = 0x75
_v :: Word8
_v = 0x76
_w :: Word8
_w = 0x77
_x :: Word8
_x = 0x78
_y :: Word8
_y = 0x79
_z :: Word8
_z = 0x7a
_braceleft, _bar, _braceright, _tilde, _del :: Word8
_braceleft :: Word8
_braceleft = 0x7b
_bar :: Word8
_bar = 0x7c
_braceright :: Word8
_braceright = 0x7d
_tilde :: Word8
_tilde = 0x7e
_del :: Word8
_del = 0x7f
_nbsp :: Word8
_nbsp :: Word8
_nbsp = 0xa0
_ordfeminine, _softhyphen, _mu, _ordmasculine :: Word8
_ordfeminine :: Word8
_ordfeminine = 0xaa
_softhyphen :: Word8
_softhyphen = 0xad
_mu :: Word8
_mu = 0xb5
_ordmasculine :: Word8
_ordmasculine = 0xba
_s2, _s3, _s1, _1'4, _1'2, _3'4 :: Word8
_s2 :: Word8
_s2 = 0xb2
_s3 :: Word8
_s3 = 0xb3
_s1 :: Word8
_s1 = 0xb9
_1'4 :: Word8
_1'4 = 0xbc
_1'2 :: Word8
_1'2 = 0xbd
_3'4 :: Word8
_3'4 = 0xbe
_Agrave, _Odieresis, _Oslash, _Thorn :: Word8
_Agrave :: Word8
_Agrave = 0xc0
_Odieresis :: Word8
_Odieresis = 0xd6
_Oslash :: Word8
_Oslash = 0xd8
_Thorn :: Word8
_Thorn = 0xde
_germandbls, _agrave, _odieresis, _oslash, _thorn, _ydieresis :: Word8
_germandbls :: Word8
_germandbls = 0xdf
_agrave :: Word8
_agrave = 0xe0
_odieresis :: Word8
_odieresis = 0xf6
_oslash :: Word8
_oslash = 0xf8
_thorn :: Word8
_thorn = 0xfe
_ydieresis :: Word8
_ydieresis = 0xff