• simonpj@microsoft.com's avatar
    Use full equality for CSE · 21eeb926
    simonpj@microsoft.com authored
    In CSE we were getting lots of apprarently-unequal expressions with
    the same hash code.  In fact they were perfectly equal -- but we were
    using a cheap-and-cheerful equality tests for CoreExpr that said False
    for any lambda expression!
    This patch adds a proper equality test for Core, with alpha-renaming.
    It's easy to do, and will avoid silly cases of CSE failing to fire.
    We should get less of this:
      WARNING: file compiler/simplCore/CSE.lhs line 326
      extendCSEnv: long list, length 18
    from a compiler built with -DDEBUG