1. 01 Sep, 2012 1 commit
    • Simon Peyton Jones's avatar
      A bunch more simplification and refactoring to the constraint solver · fe6ddf00
      Simon Peyton Jones authored
      * Instead of Untouchables being a [Unique], it is simply an Int
        indicating the depth of nesting.  This works fine now that
        floatEqualities is promoting the floated unification variables
        to the outer level
      
      * Remove the inert_tv_eqs (InScopeSet) from InertCans.  It wasn't
        being used.  See Note [Shadowing in a constraint] in TcRnTypes
      
      * Rename inert_frozen to inert_insols
      
      * Some simple refactoring in
           TcErrors.reportFlatsAndInsols
           TcInteract.kickOutRewritable
           TsSimplify.floatEqualities
      fe6ddf00
  2. 31 Aug, 2012 1 commit
    • 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
  3. 30 Aug, 2012 1 commit
    • Simon Peyton Jones's avatar
      A raft more changes, · 2b69233d
      Simon Peyton Jones authored
       * simplifying and tidying up canonicalisation,
       * removing the flat cache altogether
       * making the FunEq worklist into a deque
      2b69233d
  4. 29 Aug, 2012 8 commits
  5. 28 Aug, 2012 20 commits
  6. 27 Aug, 2012 1 commit
  7. 25 Aug, 2012 7 commits
  8. 23 Aug, 2012 1 commit