
#14428: Rework HsValBindsLR -------------------------------------+------------------------------------- Reporter: alanz | Owner: (none) Type: task | Status: new Priority: normal | Milestone: Component: Compiler | Version: 8.2.1 Keywords: | Operating System: Unknown/Multiple Architecture: | Type of failure: None/Unknown Unknown/Multiple | Test Case: | Blocked By: Blocking: | Related Tickets: Differential Rev(s): | Wiki Page: -------------------------------------+------------------------------------- Once Trees that Grow has been applied to the hsSyn AST, rework `HsValBindsLR` to simplify it. From a comment on https://phabricator.haskell.org/D4147
Nothing here gives any clue that this is intended for the output of the renamer. And typechecker I think.
Plus I wonder if we'd be better served by
{{{#!hs data HsValBindsLR idL idR = ValBinds [(RecFlag, LHsBindsLR idL idR)] [LSig GhcRn] }}}
Then the parser can generate a giant singleton Rec and the renamer can sort it out. Less fuss.
-- Ticket URL: http://ghc.haskell.org/trac/ghc/ticket/14428 GHC http://www.haskell.org/ghc/ The Glasgow Haskell Compiler