1. 14 Jun, 2008 3 commits
  2. 15 May, 2008 1 commit
  3. 11 May, 2008 1 commit
  4. 12 Apr, 2008 1 commit
  5. 16 Mar, 2008 1 commit
  6. 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:
      at least some of which have this symptom:
          Exception: expectJust prune
  7. 17 Jan, 2008 1 commit
  8. 12 Jan, 2008 1 commit
  9. 17 Dec, 2007 1 commit
  10. 04 Sep, 2007 1 commit
  11. 03 Sep, 2007 1 commit
  12. 01 Sep, 2007 1 commit
  13. 21 Aug, 2007 1 commit
  14. 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))
      This patch also includes some fixes in the pretty printer 
      for the Term datatype
  15. 25 Jun, 2007 1 commit
  16. 12 Jun, 2007 1 commit
  17. 09 May, 2007 3 commits
  18. 25 Apr, 2007 1 commit
  19. 18 Apr, 2007 1 commit
  20. 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:
  21. 06 Apr, 2007 1 commit
  22. 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.)
  23. 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. 
  24. 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.
  25. 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.
  26. 20 Dec, 2006 1 commit
  27. 18 Dec, 2006 1 commit
  28. 11 Dec, 2006 1 commit
  29. 10 Dec, 2006 2 commits
    • 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
    • mnislaih's avatar
      Retrieving the datacon of an arbitrary closure · ab5b8aa3
      mnislaih authored
      This patch extends the RTS linker and the dynamic linker so that it is possible to find out the datacon of a closure in heap at runtime:
      - The RTS linker now carries a hashtable 'Address->Symbol' for data constructors
      - The Persistent Linker State in the dynamic linker is extended in a similar way.
      Finally, these two sources of information are consulted by:
      > Linker.recoverDataCon :: a -> TcM Name
  30. 11 Oct, 2006 1 commit
  31. 04 Aug, 2006 1 commit
  32. 19 Sep, 2006 3 commits
    • Simon Marlow's avatar
      Packages cleanup, and allow new packages to be loaded with :set again · ee565d46
      Simon Marlow authored
      This cleans up the package subsystem a little.  There are some
      changes to the GHC API as a result.
        - GHC.init and GHC.initFromArgs are no longer necessary.
        - GHC.newSession takes the root of the GHC tree as an argument
          (previously passed to GHC.init).
        - You *must* do GHC.setSessionDynFlags after GHC.newSession,
          this is what loads the package database.
        - Several global vars removed from SysTools
        - The :set command in GHCi can now cause new packages to be loaded,
          or can hide/ignore existing packages.
    • Simon Marlow's avatar
      remove old comment · 6f64b046
      Simon Marlow authored
    • Simon Marlow's avatar
      unused import · b1e2a2d6
      Simon Marlow authored
  33. 26 Jul, 2006 1 commit