[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