I'm reading the book "<a href="http://www.cs.vu.nl/~dick/MCD.html">Modern Compiler Design</a>", and in the chapter about functional programming it is stated that strictness analysis in the presence of ADTs (aka records) is a very hard problem to tackle.<div>
<br></div><div>I'm not sure what the current state of art is here (e.g GHC or JHC), and don't understand what the problem is.</div><div><br></div><div>Does it mean that it's a good idea to carefully consider when to make data constructor arguments (aka fields) strict, since the compiler can't do good strictness analysis when it encounters say a record with many lazy fields? </div>
<div><br></div><div><br></div><div><br></div><div><br></div>