1. 19 Dec, 2012 2 commits
  2. 14 Dec, 2012 2 commits
    • Simon Peyton Jones's avatar
      Merge branch 'master' of darcs.haskell.org:/home/darcs/ghc · 96acba6f
      Simon Peyton Jones authored
    • Simon Peyton Jones's avatar
      Major refactoring of the way that UNPACK pragmas are handled · faa8ff40
      Simon Peyton Jones authored
      The situation was pretty dire.  The way in which data constructors
      were handled, notably the mapping between their *source* argument types
      and their *representation* argument types (after seq'ing and unpacking)
      was scattered in three different places, and hard to keep in sync.
      Now it is all in one place:
       * The dcRep field of a DataCon gives its representation,
         specified by a DataConRep
       * As well as having the wrapper, the DataConRep has a "boxer"
         of type DataConBoxer (defined in MkId for loopy reasons).
         The boxer used at a pattern match to reconstruct the source-level
         arguments from the rep-level bindings in the pattern match.
       * The unboxing in the wrapper and the boxing in the boxer are dual,
         and are now constructed together, by MkId.mkDataConRep. This is
         the key function of this change.
       * All the computeBoxingStrategy code in TcTyClsDcls disappears.
      Much nicer.
      There is a little bit of refactoring left to do; the strange
      deepSplitProductType functions are now called only in WwLib, so
      I moved them there, and I think they could be tidied up further.
  3. 13 Dec, 2012 7 commits
  4. 12 Dec, 2012 5 commits
  5. 11 Dec, 2012 8 commits
  6. 10 Dec, 2012 3 commits
  7. 09 Dec, 2012 1 commit
    • ian@well-typed.com's avatar
      Change how sync-all handles directory changes · b339dd48
      ian@well-typed.com authored
      We now remember the current working directory right at the start,
      and change back to it after we've finished working in a subdirectory.
      This should fix a problem some people have been seeing, where
      sync-all thinks that they have an out-of-date time library because
      its working directory has gone wrong somehow.
  8. 08 Dec, 2012 6 commits
  9. 07 Dec, 2012 6 commits