Tagless final encoding of ExpCmdI in the parser
authorVladislav Zavialov <vlad.z.4096@gmail.com>
Thu, 18 Apr 2019 21:36:00 +0000 (00:36 +0300)
committerMarge Bot <ben+marge-bot@smart-cactus.org>
Sat, 20 Apr 2019 03:44:24 +0000 (23:44 -0400)
commite7280c93ef8f0685bbd63552b5b72c029907687e
tree8cfb6c517019727a5c79359ead434545e8252263
parentfcef26b62569428d47e96fcd8946a733540783ab
Tagless final encoding of ExpCmdI in the parser

Before this change, we used a roundabout encoding:

1. a GADT (ExpCmdG)
2. a class to pass it around (ExpCmdI)
3. helpers to match on it (ecHsApp, ecHsIf, ecHsCase, ...)

It is more straightforward to turn these helpers into class methods,
removing the need for a GADT.
compiler/parser/RdrHsSyn.hs