1. 04 Nov, 2009 2 commits
    • rl@cse.unsw.edu.au's avatar
      Add builtin rule to eliminate unnecessary casts in seq · ad923917
      rl@cse.unsw.edu.au authored
      The patch adds this rule:
        seq (x `cast` co) y = seq x y
      This is subject to the usual treatment of seq rules. It also makes them
      match more often: it will rewrite
        seq (f x `cast` co) y = seq (f x) y
      and allow a seq rule for f to match.
    • rl@cse.unsw.edu.au's avatar
      Consider variables with conlike unfoldings interesting · c01e472e
      rl@cse.unsw.edu.au authored
      In this expression:
        let x = f (g e1) in e2
      the simplifier will inline f if it thinks that (g e1) is an interesting
      argument. Until now, this was essentially the case if g was a data constructor
      - we'd inline f in the hope that it will inspect and hence eliminate the
      constructor application. This patch extends this mechanism to CONLIKE
      functions. We consider (g e1) interesting if g is CONLIKE and inline f in the
      hope that this will allow rewrite rules to match.
  2. 03 Nov, 2009 1 commit
  3. 04 Nov, 2009 8 commits
  4. 03 Nov, 2009 1 commit
    • Simon Marlow's avatar
      Fix #1185 (RTS part, also needs corresponding change to libraries/base) · 3501ac6a
      Simon Marlow authored
      GHC.Conc.ensureIOManagerIsRunning now creates an IO manager thread if
      one does not exist or has died/exited.
      Unfortunately this exposed a problem caused by the fact that we have
      two base packages, and hence two IO managers, in GHCi: see NOTE
      [io-manager-ghci] in rts/Linker.c.  The workaround can go away if/when
      we switch to a dynamically linked GHCi.
  5. 21 Oct, 2009 1 commit
  6. 03 Nov, 2009 3 commits
  7. 02 Nov, 2009 4 commits
  8. 30 Oct, 2009 2 commits
  9. 06 Oct, 2009 4 commits
  10. 31 Oct, 2009 1 commit
  11. 30 Oct, 2009 9 commits
  12. 28 Oct, 2009 1 commit
  13. 30 Oct, 2009 3 commits