develooper Front page | perl.perl6.language | Postings from December 2003

This week's summary

Thread Previous | Thread Next
The Perl 6 Summarizer
December 24, 2003 02:38
This week's summary
Message ID:
The Perl 6 Summary for the week ending 20031221
    Welcome one and all to the penultimate Perl 6 Summary for 2003. The
    nights are long, the air is cold, freezing fog made the journey home
    from watching *The Return of the King* a deeply fraught experience
    (though probably not as fraught for us as for the chap who obviously
    didn't see the roundabout in time and went straight over it).

    If you're in the southern hemisphere, feel free to ignore the foregoing
    flavour text.

    It should come as no surprise to you by now that we start with the
    internals list.

  Namespaces II
    Dan returned from a bout of paying work to finish up the current
    understanding of how namespaces are managed in Parrot. A namespace
    selector becomes a multidimensional key (using a multidimensional key
    instead of a single long namespace name makes for easier sharing of
    namespaces between languages; there's no need to go guessing what
    separator the other language uses in its namespace naming because that's
    essentially irrelevant at the Parrot level). Looking up a particular
    variable in a namespace is still a two step process, first get the
    namespace, then do the lookup within the namespace. Dan explained that
    this is a win because it should allow for holding onto namespaces in a
    register when dealing with multiple variables.

    Leo Tötsch wasn't entirely convinced by the new syntax introduced, and
    proposed a mechanism which used the standard syntax for accessing
    multikeyed structures with a proposed Namespace PMC.

  Another keyed ops proposal
    Leo continues to make proposals for rethinking keyed ops. Somewhat
    surprisingly, Dan didn't entirely reject the latest one involving a
    possible new set of key registers.

  Leo adds threads
    Leo Tötsch checked in a patch to allow Parrot to spawn threads. As he
    admitted, there's a lot missing, but it's a start. He solicited comments
    and further pointers.

    Later in the week he asked for some design decisions related to making
    various of the interpreter's internal data structures thread safe.
    Elizabeth Mattijsen had several comments to make, based on experience
    with Perl 5's ithread system. In essence her suggestion was that as many
    things as possible should be made copy on write between threads. (I have
    a faint recollection of Nicholas Clark delivering a wonderful lightning
    talk/dance explaining his proposal for making Perl 5 use copy on write
    structures for ithreads. It's worth seeing if you get the chance...)

  PDD03 and method calls
    Leo queried the design of Parrot's calling conventions for calling a
    method and proposed a slightly different convention with the object put
    in P5 rather than P2. Dan thought that the calling conventions
    documented was the right way to go, but didn't seem to convince

  Rolling back "clone"
    Leo pointed out that "clone"'s semantics had got altered to take an
    uninitialized destination PMC as an argument back when the GC system was
    flaky. He suggested switching back to a version that creates the new PMC
    itself now that GC was working properly. Dan told Leo to go for it.

Meanwhile, in perl6-language
    Um... sorry about this, but I'm punting on writing the promised
    Roles/Traits/Classes summary. I was planning on doing it today, but
    things have been hellish; I've spent about 8 hours fighting fires today
    rather than writing the summary. Sorry.

    Work on Perl 6's object system continues apace though; things are
    looking very good and powerful.

    By the way from now on I'll try and stick to Larry's usage of
    capitalizing 'Traits' when referring back to the Traits paper, and
    keeping it lower case when referring to Perl 6's compile-time traits.

  Runtime CHECK?
    Piers Cawley asked if Perl 6 modules that get loaded at runtime will
    have their "CHECK" blocks (or their equivalent) executed. Larry
    initially thought not, but Rafael Garcia-Suarez noted that Perl 5
    shouldn't be held up as exemplary and that there was definitely a need
    for some kind of special block that would get run at the end of the
    compilation phase of any arbitrary compilation unit.

  "but true"
    Adam D. Lopresto wondered how the recent work on Roles, Properties and
    Traits fit in with already declared stuff like "but true". Larry
    confessed that he was still thinking hard about this, but that he
    thought "but" wasn't powerful enough yet.

Acknowledgements, Announcements, Apologies
    Cross your fingers and toes, we might have link shortening in this
    version. Hurrah!

    Merry Christmas everyone.

    I make no promises about whether there will be a summary next week. Nor
    do I make any promises about whether there'll be a summary of the year
    (but I wouldn't hold your breath).

    If you find these summaries useful or enjoyable, show your appreciation
    by contributing to the Perl Foundation to help support the ongoing
    development of Perl. Money and time are both good. I'm always pleased to
    get feedback at and traffic at my website. -- The Perl Foundation -- My website, Just a Summary

Thread Previous | Thread Next Perl Programming lists via nntp and http.
Comments to Ask Bjørn Hansen at | Group listing | About