1. 13 Jan, 2008 8 commits
  2. 12 Jan, 2008 7 commits
  3. 10 Jan, 2008 1 commit
  4. 09 Jan, 2008 1 commit
  5. 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
  6. 09 Jan, 2008 4 commits
  7. 07 Jan, 2008 4 commits
    • simonpj@microsoft.com's avatar
      Fix Trac #2018: float-out was ignoring the kind of a coercion variable · e2cf518a
      simonpj@microsoft.com authored
      The float-out transformation must handle the case where a coercion
      variable is free, which in turn mentions type variables in its kind.
      Just like a term variable really.
      
      I did a bit of refactoring at the same time.
      
      Test is tc241
      
      MERGE to stable branch
      e2cf518a
    • simonpj@microsoft.com's avatar
      Make the treatment of equalities more uniform · 3787d987
      simonpj@microsoft.com authored
      This patch (which is part of the fix for Trac #2018) makes coercion variables
      be handled more uniformly.  Generally, they are treated like dictionaries
      in the type checker, not like type variables, but in a couple of places we
      were treating them like type variables.  Also when zonking we should use
      zonkDictBndr not zonkIdBndr.
      3787d987
    • simonpj@microsoft.com's avatar
      Fix Trac #2017 · 5f99dc3d
      simonpj@microsoft.com authored
      5f99dc3d
    • simonpj@microsoft.com's avatar
      Add -XImpredicativeTypes, and tighten up type-validity checking (cf Trac 2019) · 5e04ae34
      simonpj@microsoft.com authored
      Somehow we didn't have a separate flag for impredicativity; now we do.
      
      Furthermore, Trac #2019 showed up a missing test for monotypes in data
      constructor return types.  And I realised that we were even allowing
      things like
      	Num (forall a. a) => ...
      which we definitely should not.  
      
      This patch insists on monotypes in several places where we were (wrongly)
      too liberal before.
      
      Could be merged to 6.8 but no big deal.
      
      5e04ae34
  8. 04 Jan, 2008 1 commit
  9. 06 Jan, 2008 2 commits
  10. 04 Jan, 2008 3 commits
  11. 26 Dec, 2007 3 commits
  12. 04 Jan, 2008 4 commits
  13. 03 Jan, 2008 1 commit
    • Simon Marlow's avatar
      Optionally use libffi to implement 'foreign import "wrapper"' (#793) · 5123ae93
      Simon Marlow authored
      To enable this, set UseLibFFI=YES in mk/build.mk.  
      
      The main advantage here is that this reduces the porting effort for
      new platforms: libffi works on more architectures than our current
      adjustor code, and it is probably more heavily tested.  We could
      potentially replace our existing code, but since it is probably faster
      than libffi (just a guess, I'll measure later) and is already working,
      it doesn't seem worthwhile.
      
      Right now, you must have libffi installed on your system.  I used the
      one supplied by Debian/Ubuntu.
      5123ae93