Introduce MonadP, make PV a newtype
authorVladislav Zavialov <vlad.z.4096@gmail.com>
Mon, 25 Mar 2019 10:33:32 +0000 (13:33 +0300)
committerMarge Bot <ben+marge-bot@smart-cactus.org>
Thu, 25 Apr 2019 18:28:56 +0000 (14:28 -0400)
commit0fc69416f5ed7186ce68c7a758cdd4c52fbf98f6
treefb63a7331096829254b3ce43c732c55cd43d1d31
parent465f8f48c8f196a7b696a360c2f3c636cc88321a
Introduce MonadP, make PV a newtype

Previously we defined   type PV = P,
this had the downside that if we wanted to change PV,
we would have to modify P as well.

Now PV is free to evolve independently from P.

The common operations addError, addFatalError, getBit, addAnnsAt,
were abstracted into a class called MonadP.
compiler/parser/Lexer.x
compiler/parser/Parser.y
compiler/parser/RdrHsSyn.hs