Skip to content
  • Simon Peyton Jones's avatar
    Accept 20% dedgradation in Trac #5030 compile time · 1f09b246
    Simon Peyton Jones authored
    In commit
    
      31621b12 * A collection of type-inference refactorings.
    
    I fixed a bug in the on-the-fly unifier.  Usually the
    on-the-fly unifier (TcUnify) defers type function
    applications to the constraint solver.  But in one situation
    it inconsistently did not defer, so a unification happened
    without reducing a type function.  By a fluke this makes
    T5030 (specifcially the definition of cnst) much better.
    
    It turns out that consistently non-deferring type functions
    makes the test for #3064 go bad.  So somehow the current,
    inconsistent situation was an accidental sweet spot.
    
    But it's a horrible sweet spot, relying on what was essentially
    a bug.  So I've accepted the worsening (it's an exotic case),
    and opened #12724 to deal with the underlying cause.
    1f09b246