<div dir="ltr"><div class="gmail_extra"><div class="gmail_quote">On 27 February 2016 at 23:30, Walter Bright via Digitalmars-d <span dir="ltr"><<a href="mailto:digitalmars-d@puremagic.com" target="_blank">digitalmars-d@puremagic.com</a>></span> wrote:<br><br><blockquote class="gmail_quote" style="margin:0 0 0 .8ex;border-left:1px #ccc solid;padding-left:1ex"><span class="">On 2/27/2016 12:05 PM, Timon Gehr wrote:<br>
<blockquote class="gmail_quote" style="margin:0 0 0 .8ex;border-left:1px #ccc solid;padding-left:1ex">
On 26.02.2016 23:41, Walter Bright wrote:<br>
<blockquote class="gmail_quote" style="margin:0 0 0 .8ex;border-left:1px #ccc solid;padding-left:1ex">
On 2/26/2016 1:10 PM, Timon Gehr wrote:<br>
<blockquote class="gmail_quote" style="margin:0 0 0 .8ex;border-left:1px #ccc solid;padding-left:1ex">
Different passes are not really required once semantic analysis becomes<br>
asynchronous. Just keep track of semantic analysis dependencies, with<br>
strong and<br>
weak dependencies and different means to resolve cycles of weak<br>
dependencies.<br>
Then write the semantic analysis of each component in a linear fashion<br>
and pause<br>
it whenever it depends on information that has not yet been obtained,<br>
until that<br>
information is computed.<br>
</blockquote>
<br>
I'll put you in charge of debugging that :-)<br>
</blockquote>
<br>
I am/was (I have not worked on it a lot lately). I haven't found it to be<br>
particularly hard to debug.<br>
</blockquote>
<br></span>
It'll get 100 times harder if it's a heisenbug due to synchronization issues.<span class=""><br>
</span><br>
</blockquote></div><br></div><div class="gmail_extra">Surely with Fibers everything would be deterministic though?<br></div></div>