parse library on mtl package
Parse and ParseT is like State and StateT
The package ease implementation of look-ahead look-behind and so on.