@@ -81,83 +81,100 @@ import qualified Streamly.Internal.Data.Parser as Parser
8181-- XXX Need to use the predicates from Unicode.Char module/unicode-data package
8282#define CHAR_PARSER(NAME, PREDICATE) NAME = Parser.satisfy Char.PREDICATE
8383#define CHAR_PARSER_DOC(PREDICATE) -- | Match any character that satisfies 'Char.PREDICATE'
84−
85−-- XXX Add haddock documentation
86−-- XXX Add INLINE pragmas
84+#define CHAR_PARSER_INLINE(NAME) {-# INLINE NAME #-}
8785
8886CHAR_PARSER_DOC(isSpace)
87+CHAR_PARSER_INLINE(space)
8988CHAR_PARSER_SIG(space)
9089CHAR_PARSER(space,isSpace)
9190
9291CHAR_PARSER_DOC(isLower)
92+CHAR_PARSER_INLINE(lower)
9393CHAR_PARSER_SIG(lower)
9494CHAR_PARSER(lower,isLower)
9595
9696CHAR_PARSER_DOC(isUpper)
97+CHAR_PARSER_INLINE(upper)
9798CHAR_PARSER_SIG(upper)
9899CHAR_PARSER(upper,isUpper)
99100
100101CHAR_PARSER_DOC(isAlpha)
102+CHAR_PARSER_INLINE(alpha)
101103CHAR_PARSER_SIG(alpha)
102104CHAR_PARSER(alpha,isAlpha)
103105
104106CHAR_PARSER_DOC(isAlphaNum)
107+CHAR_PARSER_INLINE(alphaNum)
105108CHAR_PARSER_SIG(alphaNum)
106109CHAR_PARSER(alphaNum,isAlphaNum)
107110
108111CHAR_PARSER_DOC(isPrint)
112+CHAR_PARSER_INLINE(printable)
109113CHAR_PARSER_SIG(printable)
110114CHAR_PARSER(printable,isPrint)
111115
112116CHAR_PARSER_DOC(isDigit)
117+CHAR_PARSER_INLINE(digit)
113118CHAR_PARSER_SIG(digit)
114119CHAR_PARSER(digit,isDigit)
115120
116121CHAR_PARSER_DOC(isOctDigit)
122+CHAR_PARSER_INLINE(octDigit)
117123CHAR_PARSER_SIG(octDigit)
118124CHAR_PARSER(octDigit,isOctDigit)
119125
120126CHAR_PARSER_DOC(isHexDigit)
127+CHAR_PARSER_INLINE(hexDigit)
121128CHAR_PARSER_SIG(hexDigit)
122129CHAR_PARSER(hexDigit,isHexDigit)
123130
124131CHAR_PARSER_DOC(isLetter)
132+CHAR_PARSER_INLINE(letter)
125133CHAR_PARSER_SIG(letter)
126134CHAR_PARSER(letter,isLetter)
127135
128136CHAR_PARSER_DOC(isMark)
137+CHAR_PARSER_INLINE(mark)
129138CHAR_PARSER_SIG(mark)
130139CHAR_PARSER(mark,isMark)
131140
132141CHAR_PARSER_DOC(isNumber)
142+CHAR_PARSER_INLINE(numeric)
133143CHAR_PARSER_SIG(numeric)
134144CHAR_PARSER(numeric,isNumber)
135145
136146CHAR_PARSER_DOC(isPunctuation)
147+CHAR_PARSER_INLINE(punctuation)
137148CHAR_PARSER_SIG(punctuation)
138149CHAR_PARSER(punctuation,isPunctuation)
139150
140151CHAR_PARSER_DOC(isSymbol)
152+CHAR_PARSER_INLINE(symbol)
141153CHAR_PARSER_SIG(symbol)
142154CHAR_PARSER(symbol,isSymbol)
143155
144156CHAR_PARSER_DOC(isSeparator)
157+CHAR_PARSER_INLINE(separator)
145158CHAR_PARSER_SIG(separator)
146159CHAR_PARSER(separator,isSeparator)
147160
148161CHAR_PARSER_DOC(isAscii)
162+CHAR_PARSER_INLINE(ascii)
149163CHAR_PARSER_SIG(ascii)
150164CHAR_PARSER(ascii,isAscii)
151165
152166CHAR_PARSER_DOC(isLatin1)
167+CHAR_PARSER_INLINE(latin1)
153168CHAR_PARSER_SIG(latin1)
154169CHAR_PARSER(latin1,isLatin1)
155170
156171CHAR_PARSER_DOC(isAsciiUpper)
172+CHAR_PARSER_INLINE(asciiUpper)
157173CHAR_PARSER_SIG(asciiUpper)
158174CHAR_PARSER(asciiUpper,isAsciiUpper)
159175
160176CHAR_PARSER_DOC(isAsciiLower)
177+CHAR_PARSER_INLINE(asciiLower)
161178CHAR_PARSER_SIG(asciiLower)
162179CHAR_PARSER(asciiLower,isAsciiLower)
163180