Beefy Boxes and Bandwidth Generously Provided by pair Networks
P is for Practical
 
PerlMonks  

(tye)Re: Perl 6

by tye (Sage)
on Nov 02, 2000 at 20:59 UTC ( [id://39680]=note: print w/replies, xml ) Need Help??


in reply to Perl 6

My big concern is that the shift in garbage collection methodologies will mean that destructors don't fire in a timely manner. There is no automated way to "fix" a script that makes good use of good destructor behavior in the face of delayed destructors.

        - tye (but my friends call me "Tye")

Replies are listed 'Best First'.
Re: (tye)Re: Perl 6
by IraTarball (Monk) on Jan 15, 2002 at 03:42 UTC
    This is the first time I've heard this. Is it in one of the Apocalypses or where did you read about it? I'm on something of a quest to stay on top of Perl 6 development and would love any new resources.

    Thanks,
    Ira,

    "So... What do all these little arrows mean?"
    ~unknown

      Several people have been talking about Perl6 not using reference counting. I've also heard that they want Perl6 to work with the Java Virtual Machine which won't support reference counting.

      In my research, I find that the only way to get timely destructors (other than the near trivial case of lexical variables that you never take a reference of) is via reference counting.

      In C++, timely destructors for lexical variables (where "taking a reference" does not cause the variable to live longer) is almost enough. In Perl, having timely destructors only for lexical variables would make certain hard problems that are easy to solve in Perl 5 become extremely hard in Perl 6.

      It would boil down to building your own reference counting system on top of Perl. And anyone who has done much work with C++ knows that bolting on "ref-counted poiners" really sucks compared to native timely destructors.

      The other risk with a new garbage collection system in Perl 6 is that destructors may not be well-ordered either. That is, if $a has a reference to $b, you want $a to get destroyed _before_ $b. I can't recall if the garbage collection systems under consideration are able to ensure that.

      But I haven't heard any news on this since I posted the node you replied to.

      Um, so, sorry, no new resources.

              - tye (but my friends call me "Tye")
Re: (tye)Re: Perl 6
by theorbtwo (Prior) on Jan 15, 2002 at 04:00 UTC

    The parrot people have gone to a lot of effort to ensure that destructors will get called at the right time, even if the memory isn't neccessarly freed immedetly.

    As to how exactly this is going to happen, I'm not clear on the details... both because I don't have the background or the inclination to learn it, and because (last I looked) they weren't ironed out yet.

    Thanks,
    James Mastros,
    Just Another Perl Scribe

Log In?
Username:
Password:

What's my password?
Create A New User
Domain Nodelet?
Node Status?
node history
Node Type: note [id://39680]
help
Chatterbox?
and the web crawler heard nothing...

How do I use this?Last hourOther CB clients
Other Users?
Others learning in the Monastery: (4)
As of 2024-04-19 06:01 GMT
Sections?
Information?
Find Nodes?
Leftovers?
    Voting Booth?

    No recent polls found