New demand analysis

Johan Tibell johan.tibell at gmail.com
Wed Jan 16 19:45:14 CET 2013


On Wed, Jan 16, 2013 at 10:05 AM, Simon Peyton-Jones
<simonpj at microsoft.com> wrote:
> | I'm curious about the new demand analyser. Is there a wiki page/paper
> | describing what it's trying to achieve?
>
> Not yet.  Ilya, starting a GHC wiki page might be a good thing to do.
> Some stuff here: http://hackage.haskell.org/trac/ghc/wiki/Commentary/Compiler/Demand
>
> Short summary:
>
> * I'm about to commit a big patch that Ilya has developed.  Mainly it separates strictness from absence analysis more orthogonally, and is simpler and more solid. Nothing truly fundamental, but a thorough house-cleaning.
>
> This is a basis for upcoming:
>
> * Improve demand analysis: #6070, #5949, #5775, #4267, #5302, #6087
>
> * Cardinality analysis, which checks how *often* something is used.  Branch = "cardinality".  Ilya is working on that.  Trac #7520
>
> * Single-constructor CPR: Branch = "cpr-sum-types".  Trac #5075, 3138
>
> * Nested CPR: #2289, #2387, #1600
>
> lots of fun

Thanks for the summary. I read through the tickets and now I'm really
excited about this change. Have my enthusiastic +1 for this work.
Anything we can do to reduce the need for users to add unnecessary
seqs and UNPACKs to make their program go faster, the easier it will
be to use Haskell in a production setting if you're not Don Stewart.

-- Johan



More information about the ghc-devs mailing list