1. 25 Dec, 2007 1 commit
    • chevalier@alum.wellesley.edu's avatar
      Extend API for compiling to and from Core · 98c68a1c
      chevalier@alum.wellesley.edu authored
      Added API support for compiling Haskell to simplified Core, and for
      compiling Core to machine code. The latter, especially, should be
      considered experimental and has only been given cursory testing. Also
      fixed warnings in DriverPipeline. Merry Christmas.
      98c68a1c
  2. 24 Dec, 2007 1 commit
  3. 21 Dec, 2007 2 commits
    • simonpj@microsoft.com's avatar
      Improve handling of newtypes (fixes Trac 1495) · 219f900f
      simonpj@microsoft.com authored
      In a few places we want to "look through" newtypes to get to the
      representation type.  But we need to be careful that  we don't fall 
      into an ininite loop with e.g.
      	newtype T = MkT T
      
      The old mechansim for doing this was to have a field nt_rep, inside 
      a newtype TyCon, that gave the "ultimate representation" of the type.
      But that failed for Trac 1495, which looked like this:
         newtype Fix a = Fix (a (Fix a))
         data I a = I a
      Then, expanding the type (Fix I) went on for ever.
      
      The right thing to do seems to be to check for loops when epxanding
      the *type*, rather than in the *tycon*.  This patch does that, 
      	- Removes nt_rep from TyCon
      	- Make Type.repType check for loops
      See Note [Expanding newtypes] in Type.lhs.
      
      At the same time I also fixed a bug for Roman, where newtypes were not
      being expanded properly in FamInstEnv.topNormaliseType.  This function
      and Type.repType share a common structure.
      
      
      	Ian, see if this merges easily to the branch
      	If not, I don't think it's essential to fix 6.8
      219f900f
    • simonpj@microsoft.com's avatar
      Fix Trac #1981: seq on a type-family-typed expression · f645bca8
      simonpj@microsoft.com authored
      We were crashing when we saw
      	case x of DEFAULT -> rhs
      where x had a type-family type.  This patch fixes it.
      
      MERGE to the 6.8 branch.
      
      f645bca8
  4. 20 Dec, 2007 6 commits
  5. 18 Dec, 2007 1 commit
  6. 16 Dec, 2007 1 commit
  7. 17 Dec, 2007 5 commits
  8. 14 Dec, 2007 1 commit
  9. 12 Dec, 2007 1 commit
  10. 15 Dec, 2007 2 commits
  11. 14 Dec, 2007 2 commits
  12. 13 Dec, 2007 2 commits
  13. 12 Dec, 2007 2 commits
  14. 13 Dec, 2007 1 commit
  15. 14 Dec, 2007 2 commits
  16. 04 Dec, 2007 1 commit
  17. 13 Dec, 2007 6 commits
  18. 12 Dec, 2007 1 commit
  19. 06 Dec, 2007 2 commits