• Simon Peyton Jones's avatar
    When flattening, try reducing type-family applications eagerly · bcb967ab
    Simon Peyton Jones authored
    This short-cut can improve performance quite a bit, by short-circuiting
    the process of creating a fresh constraint and binding for each reduction.
    See Note [Reduce type family applications eagerly] in TcFlatten
    To do this I had to generalise the inert_flat_cache a bit, so that the
    rhs is not necessarily a type variable; but nothing fundamental.
TcFlatten.hs 41.8 KB