1. 24 Jul, 2008 1 commit
  2. 11 Jul, 2008 1 commit
  3. 26 Jun, 2008 1 commit
  4. 14 Jun, 2008 7 commits
  5. 15 May, 2008 1 commit
  6. 11 May, 2008 1 commit
  7. 12 Apr, 2008 1 commit
  8. 16 Mar, 2008 1 commit
  9. 07 Feb, 2008 1 commit
    • Ian Lynagh's avatar
      Convert more UniqFM's back to LazyUniqFM's · d51f42f6
      Ian Lynagh authored
      These fix these failures:
         break008(ghci)
         break009(ghci)
         break026(ghci)
         ghci.prog009(ghci)
         ghci025(ghci)
         print007(ghci)
         prog001(ghci)
         prog002(ghci)
         prog003(ghci)
      at least some of which have this symptom:
          Exception: expectJust prune
      d51f42f6
  10. 17 Jan, 2008 1 commit
  11. 12 Jan, 2008 1 commit
  12. 17 Dec, 2007 1 commit
  13. 04 Sep, 2007 1 commit
  14. 03 Sep, 2007 1 commit
  15. 01 Sep, 2007 1 commit
  16. 21 Aug, 2007 1 commit
  17. 12 Jul, 2007 1 commit
    • mnislaih's avatar
      Teach :print to not panic when the DataCon for a closure is not exposed by the .hi file · 876db7ed
      mnislaih authored
      Previously the behaviour was to panic.
      Now it will print an approximated representation, 
      using the names (enclosed in keys, i.e. "<...>") 
      and the pointed subterms. Non pointed subterms cannot 
      be included in this representation:
      
      Prelude> let se = Data.Sequence.fromList (map Just "abc")
      Prelude> :eval se
      ()
      Prelude> :p se
      se = <Data.Sequence.Deep> (<Data.Sequence.One> (_t1::t)) () (<Data.Sequence.Two> (_t2::t) (_t3::t))
      Prelude> :eval _t2
      ()
      Prelude> :p se
      se = <Data.Sequence.Deep> (<Data.Sequence.One> (_t4::t1)) () (<Data.Sequence.Two> (Just 'b') (_t5::t1))
      Prelude>
      
      This patch also includes some fixes in the pretty printer 
      for the Term datatype
      
      876db7ed
  18. 25 Jun, 2007 1 commit
  19. 12 Jun, 2007 1 commit
  20. 09 May, 2007 3 commits
  21. 25 Apr, 2007 1 commit
  22. 18 Apr, 2007 1 commit
  23. 17 Apr, 2007 1 commit
    • Simon Marlow's avatar
      Re-working of the breakpoint support · cdce6477
      Simon Marlow authored
      This is the result of Bernie Pope's internship work at MSR Cambridge,
      with some subsequent improvements by me.  The main plan was to
      
       (a) Reduce the overhead for breakpoints, so we could enable 
           the feature by default without incurrent a significant penalty
       (b) Scatter more breakpoint sites throughout the code
      
      Currently we can set a breakpoint on almost any subexpression, and the
      overhead is around 1.5x slower than normal GHCi.  I hope to be able to
      get this down further and/or allow breakpoints to be turned off.
      
      This patch also fixes up :print following the recent changes to
      constructor info tables.  (most of the :print tests now pass)
      
      We now support single-stepping, which just enables all breakpoints.
      
        :step <expr>     executes <expr> with single-stepping turned on
        :step            single-steps from the current breakpoint
      
      The mechanism is quite different to the previous implementation.  We
      share code with the HPC (haskell program coverage) implementation now.
      The coverage pass annotates source code with "tick" locations which
      are tracked by the coverage tool.  In GHCi, each "tick" becomes a
      potential breakpoint location.
      
      Previously breakpoints were compiled into code that magically invoked
      a nested instance of GHCi.  Now, a breakpoint causes the current
      thread to block and control is returned to GHCi.
      
      See the wiki page for more details and the current ToDo list:
      
        http://hackage.haskell.org/trac/ghc/wiki/NewGhciDebugger
      cdce6477
  24. 06 Apr, 2007 1 commit
  25. 08 Mar, 2007 1 commit
    • wolfgang.thaller@gmx.net's avatar
      Make constructor names in info tables position independent · b648333f
      wolfgang.thaller@gmx.net authored
      Info tables, like everything else in the text section, MUST NOT contain
      pointers. A pointer is, by definition, position dependent and is therefore
      fundamentally incompatible with generating position independent code.
      
      Therefore, we have to store an offset from the info label to the string
      instead of the pointer, just as we already did for other things referred
      to by the info table (SRTs, large bitmaps, etc.)
      b648333f
  26. 20 Feb, 2007 1 commit
    • bjpop@csse.unimelb.edu.au's avatar
      Constructor names in info tables · 7d6dffe5
      bjpop@csse.unimelb.edu.au authored
      This patch adds data constructor names into their info tables. 
      This is useful in the ghci debugger. It replaces the old scheme which
      was based on tracking data con names in the linker. 
      7d6dffe5
  27. 15 Feb, 2007 1 commit
    • mnislaih's avatar
      Fixed a bug in the datacon names extension in the dynamic linker · 47ec5807
      mnislaih authored
      My code was doing unnecessary work when trying to get hold of all the BCOs in order to sniff the datacon names.
      This involved calculating the transitive closure of a relation and was causing a huge performance slowdown in GHCi, as benchmarks uncovered. It turns out that this calculation was unnecessary.
      47ec5807
  28. 30 Jan, 2007 1 commit
    • Simon Marlow's avatar
      Fix for #936 · 0f6f2b86
      Simon Marlow authored
      We must traverse dependencies recursively if we encounter any [boot]
      modules in the dependencies.
      0f6f2b86
  29. 20 Dec, 2006 1 commit
  30. 18 Dec, 2006 1 commit
  31. 11 Dec, 2006 1 commit
  32. 10 Dec, 2006 1 commit
    • mnislaih's avatar
      Playing with closures · 2c92736e
      mnislaih authored
      RtClosureInspect includes a bunch of stuff for playing with closures:
      
      - the datatype Closure is the low level representation type
      - the datatype Term is the high level representation type
      - cvObtainTerm is the main entry point, providing the Term representation of an arbitrary closure
      2c92736e