@@ -81,64 +81,84 @@ import qualified Streamly.Internal.Data.Parser as Parser
8181#define CHAR_PARSER_SIG(NAME) NAME :: MonadCatch m => Parser m Char Char
8282-- XXX Need to use the predicates from Unicode.Char module/unicode-data package
8383#define CHAR_PARSER(NAME, PREDICATE) NAME = Parser.satisfy Char.PREDICATE
84+#define CHAR_PARSER_DOC(PREDICATE) -- | Match any character that satisfies 'Char.PREDICATE'
8485
8586-- XXX Add haddock documentation
8687-- XXX Add INLINE pragmas
8788
89+CHAR_PARSER_DOC(isSpace)
8890CHAR_PARSER_SIG(space)
8991CHAR_PARSER(space,isSpace)
9092
93+CHAR_PARSER_DOC(isLower)
9194CHAR_PARSER_SIG(lower)
9295CHAR_PARSER(lower,isLower)
9396
97+CHAR_PARSER_DOC(isUpper)
9498CHAR_PARSER_SIG(upper)
9599CHAR_PARSER(upper,isUpper)
96100
101+CHAR_PARSER_DOC(isAlpha)
97102CHAR_PARSER_SIG(alpha)
98103CHAR_PARSER(alpha,isAlpha)
99104
105+CHAR_PARSER_DOC(isAlphaNum)
100106CHAR_PARSER_SIG(alphaNum)
101107CHAR_PARSER(alphaNum,isAlphaNum)
102108
109+CHAR_PARSER_DOC(isPrint)
103110CHAR_PARSER_SIG(printable)
104111CHAR_PARSER(printable,isPrint)
105112
113+CHAR_PARSER_DOC(isDigit)
106114CHAR_PARSER_SIG(digit)
107115CHAR_PARSER(digit,isDigit)
108116
117+CHAR_PARSER_DOC(isOctDigit)
109118CHAR_PARSER_SIG(octDigit)
110119CHAR_PARSER(octDigit,isOctDigit)
111120
121+CHAR_PARSER_DOC(isHexDigit)
112122CHAR_PARSER_SIG(hexDigit)
113123CHAR_PARSER(hexDigit,isHexDigit)
114124
125+CHAR_PARSER_DOC(isLetter)
115126CHAR_PARSER_SIG(letter)
116127CHAR_PARSER(letter,isLetter)
117128
129+CHAR_PARSER_DOC(isMark)
118130CHAR_PARSER_SIG(mark)
119131CHAR_PARSER(mark,isMark)
120132
133+CHAR_PARSER_DOC(isNumber)
121134CHAR_PARSER_SIG(numeric)
122135CHAR_PARSER(numeric,isNumber)
123136
137+CHAR_PARSER_DOC(isPunctuation)
124138CHAR_PARSER_SIG(punctuation)
125139CHAR_PARSER(punctuation,isPunctuation)
126140
141+CHAR_PARSER_DOC(isSymbol)
127142CHAR_PARSER_SIG(symbol)
128143CHAR_PARSER(symbol,isSymbol)
129144
145+CHAR_PARSER_DOC(isSeparator)
130146CHAR_PARSER_SIG(separator)
131147CHAR_PARSER(separator,isSeparator)
132148
149+CHAR_PARSER_DOC(isAscii)
133150CHAR_PARSER_SIG(ascii)
134151CHAR_PARSER(ascii,isAscii)
135152
153+CHAR_PARSER_DOC(isLatin1)
136154CHAR_PARSER_SIG(latin1)
137155CHAR_PARSER(latin1,isLatin1)
138156
157+CHAR_PARSER_DOC(isAsciiUpper)
139158CHAR_PARSER_SIG(asciiUpper)
140159CHAR_PARSER(asciiUpper,isAsciiUpper)
141160
161+CHAR_PARSER_DOC(isAsciiLower)
142162CHAR_PARSER_SIG(asciiLower)
143163CHAR_PARSER(asciiLower,isAsciiLower)
144164