• Simon Peyton Jones's avatar
    This big patch re-factors the way in which arrow-syntax is handled · ba56d20d
    Simon Peyton Jones authored
    All the work was done by Dan Winograd-Cort.
    The main thing is that arrow comamnds now have their own
    data type HsCmd (defined in HsExpr).  Previously it was
    punned with the HsExpr type, which was jolly confusing,
    and made it hard to do anything arrow-specific.
    To make this work, we now parameterise
      * MatchGroup
      * Match
      * GRHSs, GRHS
      * StmtLR and friends
    over the "body", that is the kind of thing they
    enclose.  This "body" parameter can be instantiated to
    either LHsExpr or LHsCmd respectively.
    Everything else is really a knock-on effect; there should
    be no change (yet!) in behaviour.  But it should be a sounder
    basis for fixing bugs.
TcBinds.lhs 57.8 KB