1. 05 Dec, 2007 1 commit
  2. 03 Dec, 2007 2 commits
  3. 07 Dec, 2007 1 commit
  4. 02 Dec, 2007 2 commits
  5. 07 Dec, 2007 1 commit
  6. 06 Dec, 2007 5 commits
    • Simon Marlow's avatar
      comment only · 0cdde9d7
      Simon Marlow authored
      0cdde9d7
    • Simon Marlow's avatar
      comment typo · d5fbbe4c
      Simon Marlow authored
      d5fbbe4c
    • Simon Marlow's avatar
      add Outputable instance for OccIfaceEq · c004ec62
      Simon Marlow authored
      c004ec62
    • Simon Marlow's avatar
      Workaround for #1959: assume untracked names have changed · d5183f31
      Simon Marlow authored
      This fixes the 1959 test, but will do more recompilation than is
      strictly necessary (but only when -O is on).  Still, more
      recompilation is better than segfaults, link errors or other random
      breakage.
      d5183f31
    • Simon Marlow's avatar
      FIX part of #1959: declaration versions were not being incremented correctly · 89cc3988
      Simon Marlow authored
      We were building a mapping from ModuleName to [Occ] from the usage
      list, using the usg_mod field as the key.  Unfortunately, due to a
      very poor naming decision, usg_mod is actually the module version, not
      the ModuleName.  usg_name is the ModuleName.  Since Version is also an
      instance of Uniquable, there was no type error: all that happened was
      lookups in the map never succeeded.  I shall rename the fields of
      Usage in a separate patch.
      
      This doesn't completely fix #1959, but it gets part of the way there.
      
      I have to take partial blame as the person who wrote this fragment of
      code in late 2006 (patch "Interface file optimisation and removal of
      nameParent").
      89cc3988
  7. 05 Dec, 2007 2 commits
  8. 04 Dec, 2007 1 commit
    • mnislaih's avatar
      Teach :print to follow references (STRefs and IORefs) · f4d6209d
      mnislaih authored
      Prelude Data.IORef> :p l
      l = (_t4::Maybe Integer) : (_t5::[Maybe Integer])
      Prelude Data.IORef> p <- newIORef l
      Prelude Data.IORef> :p p
      p = GHC.IOBase.IORef (GHC.STRef.STRef {((_t6::Maybe Integer) :
                                              (_t7::[Maybe Integer]))})
      Prelude Data.IORef> :sp p
      p = GHC.IOBase.IORef (GHC.STRef.STRef {(_ : _)})
      
      
      I used braces to denote the contents of a reference.
      Perhaps there is a more appropriate notation?
      f4d6209d
  9. 02 Dec, 2007 1 commit
  10. 04 Dec, 2007 7 commits
  11. 03 Dec, 2007 1 commit
    • simonpj@microsoft.com's avatar
      Improve eta reduction, to reduce Simplifier iterations · a5f2ab64
      simonpj@microsoft.com authored
      I finally got around to investigating why the Simplifier was sometimes
      iterating so often.  There's a nice example in Text.ParserCombinators.ReadPrec,
      which produced:
      
      NOTE: Simplifier still going after 3 iterations; bailing out.  Size = 339
      NOTE: Simplifier still going after 3 iterations; bailing out.  Size = 339
      NOTE: Simplifier still going after 3 iterations; bailing out.  Size = 339
      
      No progress is being made.  It turned out that an interaction between
      eta-expansion, casts, and eta reduction was responsible. The change is
      small and simple, in SimplUtils.mkLam: do not require the body to be
      a Lam when floating the cast outwards.  
      
      I also discovered a missing side condition in the same equation, so fixing
      that is good too.  Now there is no loop when compiling ReadPrec.
      
      Should do a full nofib run though.
      a5f2ab64
  12. 02 Dec, 2007 1 commit
  13. 28 Nov, 2007 2 commits
    • simonpj@microsoft.com's avatar
      Improve pretty-printing for Insts · 12d8935e
      simonpj@microsoft.com authored
      12d8935e
    • simonpj@microsoft.com's avatar
      Reorganise TcSimplify (again); FIX Trac #1919 · 06f6f35d
      simonpj@microsoft.com authored
      This was a bit tricky.  We had a "given" dict like (d7:Eq a); then it got
      supplied to reduceImplication, which did some zonking, and emerged with
      a "needed given" (d7:Eq Int). That got everything confused.
      
      I found a way to simplify matters significantly.  Now reduceContext
      	- first deals with methods/literals/dictionaries
      	- then deals with implications
      Separating things in this way not only made the bug go away, but
      eliminated the need for the recently-added "needed-givens" results returned
      by checkLoop.  Hurrah.
      
      It's still a swamp.  But it's a bit better.
      06f6f35d
  14. 30 Nov, 2007 2 commits
  15. 28 Nov, 2007 4 commits
  16. 22 Nov, 2007 1 commit
  17. 27 Nov, 2007 5 commits
  18. 26 Nov, 2007 1 commit