1. 16 Jan, 2008 2 commits
    • simonpj@microsoft.com's avatar
      The Core type-matcher should look through PredTypes · 366e402d
      simonpj@microsoft.com authored
      The core type-matcher Unify.match was previouly using tcView to expand
      types, because it must treat newtypes as distinct from their representation.
      But that meant that it also treated the PredType {C Int} as distinct from
      its representation type (:TC Int).  And that in turn was causing a rule
      not to fire, because the argument types didn't match up.
      
      For this to happen we need to get a situation where we have
      
        a = :DC blah blah	-- Dictionary
        ....(f a).....
      
      Now a has type (:TC Int), bu the RULE for f expects an argument 
      of type {C Int}.  Roman found that just this was happening.
      
      
      
      366e402d
    • simonpj@microsoft.com's avatar
      A bottoming function should have infinite arity · decb48fc
      simonpj@microsoft.com authored
      I can't think how this one escaped for so long, but
      	(error "foo") 
      should have arityType ABot, just as 'error' itself does.
      
      This improves eta expansion.  I spotted it when looking at the function
      
        Data.Array.Parallel.Arr.BBArr.writeMBB
      
      in the ndp package.
      
      decb48fc
  2. 10 Jan, 2008 2 commits
  3. 31 Dec, 2007 1 commit
  4. 15 Jan, 2008 1 commit
  5. 14 Jan, 2008 2 commits
  6. 15 Jan, 2008 2 commits
  7. 14 Jan, 2008 1 commit
  8. 13 Jan, 2008 12 commits
  9. 12 Jan, 2008 7 commits
  10. 10 Jan, 2008 1 commit
  11. 09 Jan, 2008 1 commit
  12. 10 Jan, 2008 1 commit
    • simonpj@microsoft.com's avatar
      Fix 2030: make -XScopedTypeVariables imply -XRelaxedPolyRec · 493fd9df
      simonpj@microsoft.com authored
      The type checker doesn't support lexically scoped type variables 
      unless we are using the RelaxedPolyRec option.  Reasons: see
      Note [Scoped tyvars] in TcBinds.
      
      So I've changed DynFlags to add this implication, improved the 
      documentation, and simplified the code in TcBinds somewhat.
      (It's longer but only because of comments!)
       
      493fd9df
  13. 09 Jan, 2008 4 commits
  14. 07 Jan, 2008 3 commits