@@ -212,15 +212,25 @@ export
212212alphaNums : Lexer
213213alphaNums = some alphaNum
214214
215−||| Recognise a whitespace character
215+||| Recognise a single whitespace character
216216export
217217space : Lexer
218−space = some (pred isSpace)
218+space = pred isSpace
219219
220−||| Recognise a non-alphanumeric, non-whitespace character
220+||| Recognise one or more whitespace characters
221+export
222+spaces : Lexer
223+spaces = some space
224+
225+||| Recognise a single non-whitespace, non-alphanumeric character
221226export
222227symbol : Lexer
223−symbol = some (pred (\x => not (isAlphaNum x) && not (isSpace x)))
228+symbol = pred (\x => not (isSpace x || isAlphaNum x))
229+
230+||| Recognise one or more non-whitespace, non-alphanumeric characters
231+export
232+symbols : Lexer
233+symbols = some symbol
224234
225235||| Recognise zero or more occurrences of a sub-lexer between
226236||| delimiting lexers