[chuck-users] shreds, namespace, functions, classes, etc
Peter Todd
chuck at xinaesthetic.net
Thu Nov 15 12:29:33 EST 2007
Hello,
I think it's not so much a question of 'what a shred is', 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). I'm about to
leave my house, and not feeling quite clear enough to explain more
completely, but I hope that's enough to point you in the right direction.
Cheers,
Peter
On Nov 15, 2007 4:46 PM, Kassen <signal.automatique at gmail.com > wrote:
> Dear list,
>
> Shreds are objects (of type Shred) and functions aren'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;
>
> ------------------------
> fun void tester()
> {
> "boom" => string beep;
> while(1)
> {
> <<<beep>>>;
> second => now;
> }
> }
>
>
> spork ~ tester() @=> Shred foo;
> 5::second => now;
>
> "clik" => foo.beep; //this doesn't work
>
> day=> now;
> ----------------------------------------
>
> It's not so clear to me *why* the offending line doesn't work. Maybe I'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't
> understand why this happens.
>
> I also tried stuff along these lines;
>
> ----------------------
> class Bar extends Shred
> {
> //stuff including variables and a constructor
> }
> ------------------------------
>
> If I do that I can instantiate a "Bar" but all it does is run it's
> constructor; I can't manage to spork a Bar or assign a sporked shred to a
> Bar. I can also make a array of Bar's but all that gets me is the
> constructor running;
>
> ---------------------------
> class Bar extends Shred
> {
> static int number;
> <<<number++>>>;
> }
>
> //print a series of numbers, no shreds in sight
> Bar array[5];
> ----------------------------------
>
> So, now I'm quite happy I said so many times that there are no "stupid
> n00b questions" because now it's my turn to ask exactly what a "Shred" is
> because I'm starting to feel like I have no idea. :¬)
>
> Could somebody please explain to me exactly what's going on here?
>
>
> Yours,
> Kas.
>
> _______________________________________________
> chuck-users mailing list
> chuck-users at lists.cs.princeton.edu
> https://lists.cs.princeton.edu/mailman/listinfo/chuck-users
>
>
-------------- next part --------------
An HTML attachment was scrubbed...
URL: http://lists.cs.princeton.edu/pipermail/chuck-users/attachments/20071115/0e25afef/attachment.htm
More information about the chuck-users
mailing list