This library provides the core data types and functions for parsing
commonmark (https://spec.commonmark.org). The parser is fully
commonmark-compliant and passes the test suite. It is designed to be
customizable and easily extensible. To customize the output, create an
AST, or support a new output format, one need only define some new
typeclass instances. It is also easy to add new syntax elements or
modify existing ones.

Accurate information about source positions is available for all block
and inline elements. Thus the library can be used to create an
accurate syntax highlighter or an editor with live preview.

The parser has been designed for robust performance even in
pathological cases that tend to cause stack overflows or exponential
slowdowns in other parsers, with parsing speed that varies linearly
with input length.

Homepage:
http://hackage.haskell.org/package/commonmark
