• Simon Peyton Jones's avatar
    Improve piResultTys and friends · 4d031cf9
    Simon Peyton Jones authored
    Several things here:
    
    * Re-implement piResultTys so that its substitution has
      the correct in-scope set
    
      That means paying close attention to performance, since as we
      discovered in Trac #11371, it's a heavily used function and
      is often used on ordinary function types, with no foralls to
      worry about substituting.
    
    * Kill off applyTys, which was just the same as piResultTys.
    
    * Re-engineer MkCore.mkCoreApps so that it calls piResultTys,
      rather than repeatedly calling piResultTy.
    4d031cf9
Coercion.hs 70.5 KB