Hello,<br><br>I think it&#39;s not so much a question of &#39;what a shred is&#39;, as a more general issue of the scope of variables that are declared within a function (ie, they are not accessible outside the scope of said function).&nbsp; I&#39;m about to leave my house, and not feeling quite clear enough to explain more completely, but I hope that&#39;s enough to point you in the right direction.
<br><br>Cheers,<br>Peter<br><br><div class="gmail_quote">On Nov 15, 2007 4:46 PM, Kassen &lt;<a href="mailto:signal.automatique@gmail.com" target="_blank">signal.automatique@gmail.com
</a>&gt; wrote:<br><blockquote class="gmail_quote" style="border-left: 1px solid rgb(204, 204, 204); margin: 0pt 0pt 0pt 0.8ex; padding-left: 1ex;">Dear list,<br><br>Shreds are objects (of type Shred) and functions aren&#39;t objects. This is all good and well but it gets harder when we spork a function and the function becomes a Shred and hence a Object. Consider this;
<br><br>------------------------<br>fun void tester()<br>&nbsp;&nbsp;&nbsp; {<br>&nbsp;&nbsp;&nbsp; &quot;boom&quot; =&gt; string beep;<br>&nbsp;&nbsp;&nbsp; while(1)<br>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; {<br>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; &lt;&lt;&lt;beep&gt;&gt;&gt;;<br>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; second =&gt; now;<br>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; }<br>


&nbsp;&nbsp;&nbsp; }<br>&nbsp;&nbsp; &nbsp;<br>&nbsp;&nbsp; &nbsp;<br>spork ~ tester() @=&gt; Shred foo;<br>5::second =&gt; now;<br>&nbsp;&nbsp; &nbsp;<br>&quot;clik&quot; =&gt; foo.beep; //this doesn&#39;t work<br>&nbsp;&nbsp; &nbsp;<br>day=&gt; now;<br>----------------------------------------
<br>
<br>It&#39;s not so clear to me *why* the offending line doesn&#39;t work. Maybe I&#39;m misunderstanding something or making a syntax error but I think that what we are seeing here is a loss of namespace that would be useful and I don&#39;t understand why this happens.
<br><br>I also tried stuff along these lines;<br><br>----------------------<br>class Bar extends Shred<br>&nbsp;&nbsp;&nbsp; {<br>&nbsp;&nbsp;&nbsp; //stuff including variables and a constructor<br>&nbsp;&nbsp;&nbsp; }<br>------------------------------<br><br>If I do that I can instantiate a &quot;Bar&quot; but all it does is run it&#39;s constructor; I can&#39;t manage to spork a Bar or assign a sporked shred to a Bar. I can also make a array of Bar&#39;s but all that gets me is the constructor running;
<br><br>---------------------------<br>class Bar extends Shred<br>&nbsp;&nbsp;&nbsp; {<br>&nbsp;&nbsp;&nbsp; static int number;<br>&nbsp;&nbsp;&nbsp; &lt;&lt;&lt;number++&gt;&gt;&gt;;<br>&nbsp;&nbsp;&nbsp; }<br>&nbsp;<br>//print a series of numbers, no shreds in sight<br>&nbsp;Bar array[5];
<br>----------------------------------<br><br>So, now I&#39;m quite happy I said so many times that there are no &quot;stupid n00b questions&quot; because now it&#39;s my turn to ask exactly what a &quot;Shred&quot; is because I&#39;m starting to feel like I have no idea. :¬)
<br><br>Could somebody please explain to me exactly what&#39;s going on here?<br><br><br>Yours,<br>Kas.<br>
<br>_______________________________________________<br>chuck-users mailing list<br><a href="mailto:chuck-users@lists.cs.princeton.edu" target="_blank">chuck-users@lists.cs.princeton.edu</a><br><a href="https://lists.cs.princeton.edu/mailman/listinfo/chuck-users" target="_blank">

https://lists.cs.princeton.edu/mailman/listinfo/chuck-users</a><br><br></blockquote></div><br>