1. 29 Apr, 2009 1 commit
  2. 28 Apr, 2009 7 commits
  3. 27 Apr, 2009 6 commits
  4. 26 Apr, 2009 3 commits
  5. 25 Apr, 2009 1 commit
  6. 24 Apr, 2009 8 commits
  7. 23 Apr, 2009 6 commits
  8. 21 Apr, 2009 5 commits
  9. 20 Apr, 2009 1 commit
    • Simon Marlow's avatar
      FIX #2845: Allow breakpoints on expressions with unlifted type · 709c9ce0
      Simon Marlow authored
      It turns out we can easily support breakpoints on expressions with
      unlifted types, by translating 
      
        case tick# of _ -> e
      
      into
      
        let f = \s . case tick# of _ -> e 
        in  f realWorld#
      
      instead of just a plain let-binding.  This is the same trick that GHC
      uses for abstracting join points of unlifted type.
      
      In #2845, GHC has eta-expanded the tick expression, changing the
      result type from IO a to (# State#, a #), which was the reason the
      tick was suddenly being ignored.  By supporting ticks on unlifted
      expressions we can make it work again, although some confusion might
      arise because _result will no longer be available (it now has
      unboxed-tuple type, so we can't bind it in the environment).  The
      underlying problem here is that GHC does transformations like
      eta-expanding the tick expressions, and there's nothing we can do to
      prevent that.
      709c9ce0
  10. 03 Apr, 2009 1 commit
  11. 20 Apr, 2009 1 commit