[GHC] #12370: Implement LetUp in DmdAnal (or document why we do not do it)

GHC ghc-devs at haskell.org
Wed Jul 6 13:54:53 UTC 2016


#12370: Implement LetUp in DmdAnal (or document why we do not do it)
-------------------------------------+-------------------------------------
           Reporter:  nomeata        |             Owner:
               Type:  task           |            Status:  new
           Priority:  normal         |         Milestone:
          Component:  Compiler       |           Version:  8.1
           Keywords:                 |  Operating System:  Unknown/Multiple
       Architecture:                 |   Type of failure:  None/Unknown
  Unknown/Multiple                   |
          Test Case:                 |        Blocked By:
           Blocking:                 |   Related Tickets:
Differential Rev(s):                 |         Wiki Page:
-------------------------------------+-------------------------------------
 The paper “Modular, Higher-Order Cardinality Analysis in Theory and
 Practice” has two rules for analizing let-bindings: LetDown, used for
 functions, that determines the function’s strictness signature, and passes
 it down, and LetUp, used for thunks, which uses the demand coming from the
 scope.

 The implementation uses only LetDown for all let-bindings.

 I wonder why this is so. I implemented something that looks like LetUp and
 will validate and performance-test it soon, in order to either make the
 implementation match the analysis, or alternatively document why this is
 the case.

--
Ticket URL: <http://ghc.haskell.org/trac/ghc/ticket/12370>
GHC <http://www.haskell.org/ghc/>
The Glasgow Haskell Compiler


More information about the ghc-tickets mailing list