I&#39;m reading the book &quot;<a href="http://www.cs.vu.nl/~dick/MCD.html">Modern Compiler Design</a>&quot;, 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&#39;m not sure what the current state of art is here (e.g GHC or JHC), and don&#39;t understand what the problem is.</div><div><br></div><div>Does it mean that it&#39;s a good idea to carefully consider when to make data constructor arguments (aka fields) strict, since the compiler can&#39;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>