1. 25 Jan, 2016 5 commits
    • Simon Peyton Jones's avatar
      Fix exprIsHNF (Trac #11248) · 3c060f36
      Simon Peyton Jones authored
      Blimey!  CoreUtils.exprIsHNFlike had not one but two bugs.
      
       * is_hnf_like treated coercion args like type args
         (result: exprIsHNF might wrongly say True)
      
       * app_is_value treated type args like value args
         (result: exprIsHNF might wrongly say False)
      
      Bizarre.  This goes back to at least 2012. It's amazing that it
      hasn't caused more trouble.
      
      It was discovered by a Lint error when compiling Trac #11248 with -O.
      3c060f36
    • Simon Peyton Jones's avatar
      Improve tracing in checkValidInstance · f7e0e5f9
      Simon Peyton Jones authored
      f7e0e5f9
    • Simon Peyton Jones's avatar
      Avoid recursive use of immSuperClasses · 42c6263f
      Simon Peyton Jones authored
      In fixing Trac #11480 I had omitted to deal with FunDeps.oclose,
      which was making recursive use of immSuperClasses, and hence
      going into a loop in the recursive case.
      
      Solution: use transSuperClasses, which takes care not to.
      42c6263f
    • Simon Peyton Jones's avatar
      Refactor validity checking for type/data instances · 746764cc
      Simon Peyton Jones authored
      I found that there was some code duplication going on,
      so I've put more into the shared function checkValidFamPats.
      
      I did some refactoring in checkConsistentFamInst too,
      preparatory to #11450; the error messages change a little
      but no change in behaviour.
      746764cc
    • Simon Peyton Jones's avatar
      Special-case implicit params in superclass expansion · ff21795a
      Simon Peyton Jones authored
      This issue came up in Trac #11480, and is documented in
      Note [When superclasses help] in TcRnTypes.
      
      We were getting a spurious warning
        T11480.hs:1:1: warning:
           solveWanteds: too many iterations (limit = 4)
      
      The fix is easy.  A bit of refactoring along the way.
      
      The original bug report in Trac #11480 appears to work
      fine in HEAD and the 8.0 branch but I added a regression
      test in this commit as well.
      ff21795a
  2. 24 Jan, 2016 5 commits
  3. 23 Jan, 2016 11 commits
  4. 22 Jan, 2016 10 commits
  5. 21 Jan, 2016 9 commits