
* Johan Tibell
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 that you don't think are answered in the wiki page I can start fleshing it out more?
P.S. I've included our chat log at the bottom of the wiki page.
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 } ? That'd be consistent with the rules for newtypes (which I find a bit strange), so I want to clarify. Will tuples be considered to have strict fields? Since they are defined "externally" (by analogy with the Just example), they shouldn't, right? Roman