megaparsec/Text/Megaparsec
mrkkrp fce6c3187c eliminated user state and written ‘MonadParsec’
Close # 27.

Backtracking user state can be achieved via combination of ‘StateT’
monad transformer and ‘ParsecT’:

  StateT StateType (ParsecT s m a)

This user state can be more flexible. This fact renders current built-in
user state redundant.

To help work with this new approach (combining monad transformers more
freely) we introduce ‘MonadParsec’ MTL-style type class. All tools that
come with Megaparsec library were modified to work smoothly with any
instance of ‘MonadParsec’, not only ‘ParsecT’.
2015-09-18 15:33:44 +06:00
..
ByteString eliminated user state and written ‘MonadParsec’ 2015-09-18 15:33:44 +06:00
Text eliminated user state and written ‘MonadParsec’ 2015-09-18 15:33:44 +06:00
ByteString.hs eliminated user state and written ‘MonadParsec’ 2015-09-18 15:33:44 +06:00
Char.hs eliminated user state and written ‘MonadParsec’ 2015-09-18 15:33:44 +06:00
Combinator.hs make combinators more general 2015-09-18 15:31:32 +06:00
Error.hs improve functioning of ‘hidden’ combinator 2015-08-29 16:01:36 +06:00
Expr.hs eliminated user state and written ‘MonadParsec’ 2015-09-18 15:33:44 +06:00
Lexer.hs eliminated user state and written ‘MonadParsec’ 2015-09-18 15:33:44 +06:00
Perm.hs eliminated user state and written ‘MonadParsec’ 2015-09-18 15:33:44 +06:00
Pos.hs treat carriage return like ordinary character 2015-08-24 14:00:56 +06:00
Prim.hs eliminated user state and written ‘MonadParsec’ 2015-09-18 15:33:44 +06:00
ShowToken.hs cosmetic changes (indentation, etc) 2015-08-13 00:02:49 +06:00
String.hs eliminated user state and written ‘MonadParsec’ 2015-09-18 15:33:44 +06:00
Text.hs eliminated user state and written ‘MonadParsec’ 2015-09-18 15:33:44 +06:00