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

| 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@haskell.org [mailto:ghc-devs-bounces@haskell.org] | On Behalf Of Johan Tibell | Sent: 16 January 2013 17:53 | To: ghc-devs@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@haskell.org | http://www.haskell.org/mailman/listinfo/ghc-devs

On Wed, Jan 16, 2013 at 10:05 AM, 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
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
participants (2)
-
Johan Tibell
-
Simon Peyton-Jones