Thanks a lot Simon.
Re top-level bindings:
I agree. There's no good time to force CAFs so they'll need to be
forced on first use.
Re newtypes:
I agree. Pattern matching on newtypes should be strict.
Implementation:
Where do I get started? I think we looked at some code together during
* Johan Tibell johan.tib...@gmail.com [2014-07-23 17:48:29+0200]
Hi!
I started a draft spec for the Strict language pragma we chatted about
during our call a while ago. I made the big mistake of writing it much
after the actual discussion, so I forgot most of the details.
On Thu, Jul 24, 2014 at 11:10 AM, Roman Cheplyaka r...@ro-che.info wrote:
Will case with an irrefutable pattern force the scrutinee, too?
I.e. will
case x of { pat - y }
desugar to
case x of { pat - x `seq` y }
?
Yes. The user has to write ~x if he/she doesn't want that.
Will
Hi!
I started a draft spec for the Strict language pragma we chatted about
during our call a while ago. I made the big mistake of writing it much
after the actual discussion, so I forgot most of the details.
https://ghc.haskell.org/trac/ghc/wiki/StrictPragma
Perhaps if you could ask questions