1. 18 Oct, 2007 5 commits
  2. 17 Oct, 2007 2 commits
  3. 18 Oct, 2007 2 commits
  4. 17 Oct, 2007 5 commits
  5. 25 Sep, 2007 1 commit
  6. 17 Oct, 2007 1 commit
  7. 16 Oct, 2007 5 commits
  8. 10 Oct, 2007 1 commit
    • Dan Licata's avatar
      View patterns, record wildcards, and record puns · 6a05ec5e
      Dan Licata authored
      This patch implements three new features:
      * view patterns (syntax: expression -> pat in a pattern)
      * working versions of record wildcards and record puns
      See the manual for detailed descriptions.
      Other minor observable changes:
      * There is a check prohibiting local fixity declarations
        when the variable being fixed is not defined in the same let
      * The warn-unused-binds option now reports warnings for do and mdo stmts
      Implementation notes: 
      * The pattern renamer is now in its own module, RnPat, and the
      implementation is now in a CPS style so that the correct context is
      delivered to pattern expressions.
      * These features required a fairly major upheaval to the renamer.
      Whereas the old version used to collect up all the bindings from a let
      (or top-level, or recursive do statement, ...) and put them into scope
      before renaming anything, the new version does the collection as it
      renames.  This allows us to do the right thing with record wildcard
      patterns (which need to be expanded to see what names should be
      collected), and it allows us to implement the desired semantics for view
      patterns in lets.  This change had a bunch of domino effects brought on
      by fiddling with the top-level renaming.
      * Prior to this patch, there was a tricky bug in mkRecordSelId in HEAD,
      which did not maintain the invariant necessary for loadDecl.  See note
      [Tricky iface loop] for details.
  9. 15 Oct, 2007 2 commits
  10. 10 Oct, 2007 1 commit
  11. 04 Oct, 2007 1 commit
  12. 03 Oct, 2007 1 commit
  13. 12 Oct, 2007 4 commits
  14. 15 Oct, 2007 1 commit
  15. 14 Oct, 2007 1 commit
    • andy@galois.com's avatar
      Improving the combine mode for hpc · 1267b64b
      andy@galois.com authored
      we now have
      Processing Coverage files:
        sum         Sum multiple .tix files in a single .tix file
        combine     Combine two .tix files in a single .tix file
        map         Map a function over a single .tix file
      Where sum joins many .tix files, combine joins two files (with
      extra functionality possible), and map just applied a function
      to single .tix file.
      These changes were improvements driven by hpc use cases.
      Place the long patch description above the ***END OF DESCRIPTION*** marker.
      The first line of this file will be the patch name.
      This patch contains the following changes:
      M ./utils/hpc/Hpc.hs -1 +3
      M ./utils/hpc/HpcCombine.hs -33 +84
      M ./utils/hpc/HpcFlags.hs -11 +59
  16. 12 Oct, 2007 1 commit
    • simonpj@microsoft.com's avatar
      Fix DoCon: Another try at getting extractResults right · d3e977c6
      simonpj@microsoft.com authored
      For some reason TcSimplify.extractResults is quite difficult to get right.
      This is another attempt; finally I think I have it.
      Strangely enough, it's only Sergey's DoCon program that shows up the
      bug, which manifested as a failure in the Simplifier
              lookupRecBndr $dGCDRing{v a1Lz} [lid]
      But it was due to extractResults producing multiple bindings for
      the same dictionary.
      Please merge this to the stable branch (after previous patches to
      TcSimplify though).
  17. 11 Oct, 2007 2 commits
    • Simon Marlow's avatar
      mention what SCC stands for · 13359d47
      Simon Marlow authored
    • Simon Marlow's avatar
      Add a proper write barrier for MVars · 1ed01a87
      Simon Marlow authored
      Previously MVars were always on the mutable list of the old
      generation, which meant every MVar was visited during every minor GC.
      With lots of MVars hanging around, this gets expensive.  We addressed
      this problem for MUT_VARs (aka IORefs) a while ago, the solution is to
      use a traditional GC write-barrier when the object is modified.  This
      patch does the same thing for MVars.
      TVars are still done the old way, they could probably benefit from the
      same treatment too.
  18. 10 Oct, 2007 1 commit
  19. 11 Oct, 2007 1 commit
  20. 10 Oct, 2007 2 commits