Skip to content
  • Simon Peyton Jones's avatar
    Do not (ever) use substExprSC in the simplifier · 2cda6f9f
    Simon Peyton Jones authored
    "Short-cut" substitution means "do nothing if the substitution
    is empty". We *never* want do to that in the simplifier because
    even though the substitution is empty, the in-scope set has
    useful information:
    
     * We get up-to-date unfoldings; and that in turn may
       reduce the number of iterations of the simplifier
    
     * We avoid space leaks, because failing to substitute may
       hang on to old Ids from a previous iteration
    
    (This is what was causing the late inlining of foo in
    Trac #4428.)
    2cda6f9f