<div dir="ltr">Dear list,<br><br>Consider the following; <br>==============================<br>spork ~foo();<br>me.yield();<br><br>Gain dest;<br><br>fun void foo()<br>&nbsp;&nbsp;&nbsp; {<br>&nbsp;&nbsp;&nbsp; Gain source =&gt; dest;<br>&nbsp;&nbsp;&nbsp; }<br>==================================<br>
<br>Note that this is incorrect, I should have defined &quot;dest&quot; before sporking foo but mistakes are made... This code crashes my Mini (compiled with the latest ChucK so non canonical) on Linux outright (the whole thing just disapears). Variations on this theme under the canonical Windows version gave a &quot;nullpointer Ugen connection&quot; error and just exited the shred. Sadly I didn&#39;t have the time to document that exact permutation under win yesterday due to stress about a deadline. The&nbsp; parser does correctly catch this;<br>
<br>===============================<br>fun void foo()<br>&nbsp;&nbsp;&nbsp; {<br>&nbsp;&nbsp;&nbsp; Gain source =&gt; dest;<br>&nbsp;&nbsp;&nbsp; }<br><br>spork ~foo();<br>me.yield();<br><br>Gain dest;<br>==========================<br><br>..but on a functional level that&#39;s the same, the place where a function is defined doesn&#39;t (well, *shouldn&#39;t*) matter; I like to keep mine at the bottom of the file below classes unless it&#39;s a especially large function that&#39;s especially fundamental for the structure of the program.<br>
<br>Yours,<br>Kas.<br></div>