• simonpj@microsoft.com's avatar
    Improve free-variable handling for rnPat and friends (fixes Trac #1972) · 7f2909e0
    simonpj@microsoft.com authored
    As well as fixing the immediate problem (Trac #1972) this patch does
    a signficant simplification and refactoring of pattern renaming.
    Fewer functions, fewer parameters passed....it's all good.  But it
    took much longer than I expected to figure out.
    The most significant change is that the NameMaker type does *binding*
    as well as *making* and, in the matchNameMaker case, checks for unused
    bindings as well.  This is much tider.
    (No need to merge to the 6.8 branch, but no harm either.)
RnPat.lhs 24.1 KB