• Simon Peyton Jones's avatar
    More simplifications to the constraint solver · b737a453
    Simon Peyton Jones authored
    * inert_solved becomes dictionaries-only, inert_solved_dicts
    
    * inert_solved_dicts is used only to cache the result of uses
      of a top level instance declaration, just like inert_solved_funeqs
    
    * That in turn simplifies xCtFlavor and rewriteCtFlavor, because
      they no longer need a "should I cache" parameter.  (Moreover the
      settings for this parameter were very subtle; it's easy to get
      loops if you cache too much.  Caching only top-level instance
      uses is much safer, and eliminates all these subtle cases.)
    b737a453
TcCanonical.lhs 55.7 KB