Skip to content
Snippets Groups Projects
  1. Dec 12, 2013
    • Simon Peyton Jones's avatar
      Return exprArity, not manifestArity · b24e0c4b
      Simon Peyton Jones authored and Joachim Breitner's avatar Joachim Breitner committed
      This patch was authored by SPJ, and extracted from "Improve the handling
      of used-once stuff" by Joachim.
      b24e0c4b
    • Simon Peyton Jones's avatar
      Improve the handling of used-once stuff · 80989de9
      Simon Peyton Jones authored and Joachim Breitner's avatar Joachim Breitner committed
      Joachim and I are committing this onto a branch so that we can share it,
      but we expect to do a bit more work before merging it onto head.
      
      Nofib staus:
        - Most programs, no change
        - A few improve
        - A couple get worse (cacheprof, tak, rfib)
      Investigating the "get worse" set is what's holding up putting this
      on head.
      
      The major issue is this.  Consider
      
          map (f g) ys
      
      where f's demand signature looks like
      
         f :: <L,C1(C1(U))> -> <L,U> -> .
      
      So 'f' is not saturated.  What demand do we place on g?
      Answer
              C(C1(U))
      That is, the inner C1 should stay, even though f is not saturated.
      
      I found that this made a significant difference in the demand signatures
      inferred in GHC.IO, which uses lots of higher-order exception handlers.
      
      I also had to add used-once demand signatures for some of the
      'catch' primops, so that we know their handlers are only called once.
      80989de9
    • Simon Peyton Jones's avatar
      Guarding against silly shifts · 869f69fd
      Simon Peyton Jones authored and Joachim Breitner's avatar Joachim Breitner committed
      This patch was authored by SPJ and extracted from "Improve the handling
      of used-once stuff" by Joachim.
      869f69fd
    • Simon Peyton Jones's avatar
      Assign strictness signatures to primitive operations · 0558911f
      Simon Peyton Jones authored and Joachim Breitner's avatar Joachim Breitner committed
      This patch was authored by SPJ, and extracted from "Improve the handling
      of used-once stuff" by Joachim.
      0558911f
    • Simon Peyton Jones's avatar
      Do not split void functions · ba78bf17
      Simon Peyton Jones authored and Joachim Breitner's avatar Joachim Breitner committed
      This is authored by SPJ, and split out out "Improve the handling of
      used-once stuff" by Joachim.
      ba78bf17
    • Simon Peyton Jones's avatar
      Some refactoring of Demand and DmdAnal · 838da6fc
      Simon Peyton Jones authored and Joachim Breitner's avatar Joachim Breitner committed
      This was authored by SPJ and extracted from the "Improve the handling of
      used-once stuff" patch by Joachim.
      838da6fc
  2. Dec 10, 2013
  3. Dec 09, 2013
  4. Dec 05, 2013
  5. Dec 04, 2013
  6. Dec 03, 2013
Loading