MIT licensed and maintained by Roman Cheplyaka

Module documentation for

This version can be pinned in stack with:[email protected]:44f71ecb10a50838a5cfd254bc0ede46bb9dcd32897da378c54c43e513229663,1427

Simple applicative lexer based on the article Lexical analysis with parser combinators and the regex-applicative library.



Fix compatibility with GHC 8.4 and drop support for GHC 7.x

Fix a link in the README


  • Restore compatibility with older GHCs
  • Change the type of longestShortest


This is a major redesign of the API. Notable changes:

  • The lexer now supports parsing the longest prefix/shortest suffix (see longestShortest)
  • Instead of throwing an exception, we return a stream. The stream can be consumed directly, converted to a list or either-error-list of tokens.


Add tokensEither


Upgrade to srcloc 0.5

Signal a lexical error (instead of looping) when a regex does not consume any characters