New demand analysis

Previous Topic Next Topic
 
classic Classic list List threaded Threaded
3 messages Options
Reply | Threaded
Open this post in threaded view
|

New demand analysis

Johan Tibell-2
Hi,

I'm curious about the new demand analyser. Is there a wiki page/paper
describing what it's trying to achieve?

Cheers,
Johan


Reply | Threaded
Open this post in threaded view
|

New demand analysis

Simon Peyton Jones
| 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

Simon


| -----Original Message-----
| From: ghc-devs-bounces at haskell.org [mailto:ghc-devs-bounces at haskell.org]
| On Behalf Of Johan Tibell
| Sent: 16 January 2013 17:53
| To: ghc-devs at haskell.org
| Subject: New demand analysis
|
| Hi,
|
| I'm curious about the new demand analyser. Is there a wiki page/paper
| describing what it's trying to achieve?
|
| Cheers,
| Johan
|
| _______________________________________________
| ghc-devs mailing list
| ghc-devs at haskell.org
| http://www.haskell.org/mailman/listinfo/ghc-devs


Reply | Threaded
Open this post in threaded view
|

New demand analysis

Johan Tibell-2
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