<br><div class="gmail_quote">On Wed, Nov 23, 2011 at 2:06 PM, Dominique Devriese <span dir="ltr">&lt;<a href="mailto:dominique.devriese@cs.kuleuven.be">dominique.devriese@cs.kuleuven.be</a>&gt;</span> wrote:<br><blockquote class="gmail_quote" style="margin:0 0 0 .8ex;border-left:1px #ccc solid;padding-left:1ex;">

Ulf, all,<br>
<br>
Thanks and congrats everyone for the effort put into this release, the<br>
amount of new features is impressive. One thing is not clear to me in<br>
the release notes:<br>
<div class="im"><br>
&gt; * New more liberal syntax for mutually recursive definitions.<br>
&gt; It is no longer necessary to use the &#39;mutual&#39; keyword to define<br>
&gt; mutually recursive functions or datatypes. Instead, it is enough to<br>
</div>&gt; declare things before they are used. Instead of ...<br>
<div class="im"><br>
&gt; * Unsolved meta-variables are now frozen after every mutual block.<br>
<br>
</div>How do these two interact? When are the meta-vars frozen now? Are<br>
mutual block boundaries inferred somehow perhaps?<br></blockquote><div><br></div><div>Yes, mutual block boundaries are inferred. A mutual block starts with a</div><div>type signature and ends when there are no type signatures still waiting for</div>

<div>a definition.</div><div><br></div><div>/ Ulf</div></div>