I said "had". I'm talking about a decision that was made long ago, when it was a one-man show. Are you trying to imply, by using "have", that you think there is a possibility for a design decision at this point of whether or not to use reference counting with Parrot? Or did you use "have" by mistake and you are now claiming that you helped Dan make the original decision and his "I" was a figure of speech?

If you are considering adding reference counting to Parrot at this point, after so much work has gone into it based on the decision to not do reference counting, then "it will be hard" is certainly a valid point. But that has more to do with trying to retro-fit something fundamental into an existing project.

That is why threading (the several different attempts at it) works so badly in Perl 5. Saying "Those all seem like implementation details" shows a real lack of understanding of the years-long struggle to retro-fit a fundamental design change (threading support) onto an existing project that (as BrowserUk described) was built in a way that is very unfriendly to threading.

Retro-fitting reference counting into a system that didn't take that into consideration as an early design choice is very likely doomed to failure. It is a fundamental feature that needs to be considered at quite a low level in the design (like threading needs to be).

There are ways to manage timely destruction with a generational GC.

Which shows your lack of understanding what "timely" means. I see no comment on "well-ordered". Certainly you can make destruction happen more quickly, and that makes it still useful for some classes of problems. But that isn't "timely", it is just "closer to timely" and still leaves problems for some important uses of destructors.

- tye        


In reply to Re^9: Parrot, threads & fears for the future. (ref counting) by tye
in thread Parrot, threads & fears for the future. by BrowserUk

Title:
Use:  <p> text here (a paragraph) </p>
and:  <code> code here </code>
to format your post, it's "PerlMonks-approved HTML":



  • Posts are HTML formatted. Put <p> </p> tags around your paragraphs. Put <code> </code> tags around your code and data!
  • Titles consisting of a single word are discouraged, and in most cases are disallowed outright.
  • Read Where should I post X? if you're not absolutely sure you're posting in the right place.
  • Please read these before you post! —
  • Posts may use any of the Perl Monks Approved HTML tags:
    a, abbr, b, big, blockquote, br, caption, center, col, colgroup, dd, del, details, div, dl, dt, em, font, h1, h2, h3, h4, h5, h6, hr, i, ins, li, ol, p, pre, readmore, small, span, spoiler, strike, strong, sub, summary, sup, table, tbody, td, tfoot, th, thead, tr, tt, u, ul, wbr
  • You may need to use entities for some characters, as follows. (Exception: Within code tags, you can put the characters literally.)
            For:     Use:
    & &amp;
    < &lt;
    > &gt;
    [ &#91;
    ] &#93;
  • Link using PerlMonks shortcuts! What shortcuts can I use for linking?
  • See Writeup Formatting Tips and other pages linked from there for more info.