• dimitris's avatar
    Solved goal caching and zonking optimisations. · 4bc84da3
    dimitris authored
    1) Stopped rewriting and caching solveds in the inerts because
    profiling showed that a lot of time was spent on rewriting
    already solved goals.
    
    2) Optimisations in zonkEvBinds for common-case
    evidence bindings generated from the constraint solver.
    
    3) Now solved goals cache their evidence terms, so that we can more
    aggressively optimize Refl coercions during constraint solving.
    This patch also includes a rewrite of rewriteInertEqsFromInertEq
    which greatly improves its efficiency.
    4bc84da3
TcSMonad.lhs 60 KB