The Perl 6 Summary for the week ending 20050814
    As you will note from the date in the title, it's been a short week.
    We're switching back to a midnight Sunday/Monday rollover in order to
    make life easier for the perl.com types. So, if I can avoid being
    distracted too much by the second Ashes test we'll try and get the
    summary finished on before Monday is out, which should please chromatic.

This week in perl6-compiler
    Another low volume week in perl6-compiler; probably because, with the
    high speed of pugs development, most of the discussion happens on IRC.

  Container model - pictures and questions
    Autrijus fielded some questions about and updated the pictures of the
    container model.

    <http://xrl.us/g5kk>

  Why PXPerl?
    Robert (No Surname) asked what were the benefits of PXPerl over the
    ActiveState distribution. In short, PXPerl comes with Parrot and Pugs,
    which ActiveState doesn't. If you set your path appropriately, you can
    continue to use the ActiveState Perl and just rely on PXPerl for Parrot
    and Pugs.

    <http://xrl.us/g5km>

  Hoisting lexical declarations
    Larry answered some of Autrijus's questions about Perl 6's lexical
    scoping rules. Apparently what Pugs currently does is close enough to
    sane to be going on with.

    <http://xrl.us/g5kn>

  Warnock in Pugsland
    Autrijus noted that, in Pugsland, a Warnocked patch usually means that
    the person who posted the patch simply got given a committer bit and
    didn't mention the fact on the list.

    <http://xrl.us/g5ko>

  MetaModel Notes
    Nathan Gray posted some notes and ASCII art about the Metamodel.
    Autrijus added pointers to further pictures.

    <http://xrl.us/g5kp>

    <http://xrl.us/g5kq>

    <http://xrl.us/g5kr>

Meanwhile, in perl6-internals
  Updated intro.pod
    Jonathan Worthington posted a rewrite of Parrot's intro.pod document,
    now with a discussion of PIR. Huzzah!

    <http://xrl.us/g5ks>

  Test::Builder and friends on Parrot
    Following prompting from Geoff Young and Jeff Horwitz, chromatic has
    implemented Test::Builder and Test::Builder::Tester in pure parrot. For
    his next trick, he intends to port Test::More and Parrot::Test.

    Tests are good, m'kay?

    <http://xrl.us/g5kt>

  How to add a new opcode?
    Gerd Pokorra asked how to add an opcode to Parrot. Klaas-Jan Stol and
    Leo gave the answers.

    <http://xrl.us/g5ku>

  Cleaning up the call opcodes
    Leo reposted about cleaning up the various function calling opcodes to
    take account of the fact that the calling conventions have changed. He
    asked for opinions and actually got a couple, which is handy since he
    got Warnocked last time.

    <http://xrl.us/g5kv>

  "parrot -I"
    Amir Karger wondered if there was some way of telling Parrot to add
    directories to its load path. Leo seemed not to think it was that good
    an idea, and proposed using a relative path in a ".include" directive.

    <http://xrl.us/g5kw>

  Dominance Frontiers
    Curtis Rawls continued his work on dominance frontiers to improve
    Parrot's optimizer.

    <http://xrl.us/g5kx>

  PGE globber, empty strings
    Will Coleda reported that trying to match empty strings with PGE's
    "glob" implementation. It turned out to be a problem with Data::Escape.
    Leo fixed it.

    <http://xrl.us/g5ky>

  Deprecated opcodes
    Leo posted a list of opcodes that are due for the chop (or alteration)
    soon. If you're doing anything with Parrot, it's probably a good idea to
    take a look at this. One of those who did was chromatic, who asked if
    Leo could give some examples of translating code so as not to use the
    old forms.

    <http://xrl.us/g5kz>

Meanwhile, in perl6-language
    Hmm... 8 balls to go with one wicket needed. I think I'll pause for a
    while...

    Damn. Australia have saved the game.

  Translating (or at least parsing) Java interface definitions
    Tim Bunce wondered if anyone had done any work on parsing Java interface
    declarations and (ideally) translating them to roughly equivalent Perl
    6. Apparently Gaal Yahas has done something along these lines (with
    Parse::RecDescent for Perl 5) but doesn't own the code. He outlined the
    approach he took.

    <http://xrl.us/g5k2>

  Perl 6 Meta Object Protocols and "$object.meta.isa(?)"
    Stevan Little is busy documenting the Perl 6 Meta Model that he's
    implemented in Perl 5 and that Autrijus is busy porting to Haskell. He
    posted an overview to the list and asked for comment. There then
    followed lots of discussion. I think I understood some of it.

    <http://xrl.us/g5k3>

  "$object.meta.isa(?)" redux
    Stevan split the discussion of "$object.meta.isa(?)" off from the
    earlier metamodel thread into a thread of its own and asked for comments
    once more. Larry commented that "the Apocalypses are primarily intended
    to be entertaining rather than factual". Also in this thread, Luke let
    slip that there's now a 'Set' role in Perl 6, which has the enormous
    advantage of letting us specify argument types in a sensible way without
    having to overload the Junctions.

    <http://xrl.us/g5k4>

  "$obj.meta.add_method('foo' =" ???)>
    Stevan continued discussing the metamodel with a thread about the
    "add_method" method. Autrijus was the only person with comments.

    <http://xrl.us/g5k5>

  Proposed new traits
    Autrijus said that he'd started to write the inferencer and had
    immediately run into the problem that every type can potentially contain
    "undef". He proposed adding an "is defined" trait, which would cause
    variable to immediately throw an exception if anyone attempted to assign
    it an undefined value. He also proposed a "typed" trait, but I was a
    little less clear on why this would be a good idea. I have to confess I
    didn't understand what Larry's reply was driving at, but that's okay
    because Autrijus did seem to understand it.

    <http://xrl.us/g5k6>

  "my $pi is constant = 3"
    Autrijus wondered if an example of the "is constant" trait shown in
    Synopsis 6 was a special form or a typo. At least, I think that's what
    he was asking; I may be wearing my stupid head today though. Larry
    thought it was neither. I think. It seems there's more to constancy than
    meets the eye. (Just ask any married couple).

    <http://xrl.us/g5k7>

  Typed type variables ("my Foo ::x")
    Stuart Cook asked about the meaning of type annotations on
    type-variables. Autrijus answered and Thomas Sandlaß agreed with him.

    <http://xrl.us/g5k8>

  "BEGIN {...}" and IO
    Nicholas Clark commented on an earlier discussion of using IO in "BEGIN"
    blocks, pointing out that this was just a specific case of the more
    general problem of attempting to serialize things to bytecode which were
    simply unserializable. I reckon the trick of it will be to do such
    things in "INIT" or possibly "CHECK" blocks (I can never remember which
    way round those two go).

    <http://xrl.us/g5k9>

  Generic Classes
    Autrijus asked about generic classes, but nobody answered before the end
    of the summary week. Expect Matt to address this one in the next
    summary.

    <http://xrl.us/g5ma>

  Acknowledgements, adverts, apologies and alliteration
    I'm sorry to have to say this, but I don't think I have to apologise for
    anything this week. WorldCon was fun.

  Help Chip
    <http://geeksunite.org/>, tell all your friends, this cannot stand.

  The usual Coda
    If you find these summaries useful or enjoyable, please consider
    contributing to the Perl Foundation to help support the development of
    Perl.

    <http://donate.perl-foundation.org/> -- The Perl Foundation

    <http://dev.perl.org/perl6/> -- Perl 6 Development site

    Check out my website, it's lovely.

    <http://www.bofh.org.uk/>

    Vaguely pretty photos by me can be found at:

    <http://xrl.us/g5mc>

Reply via email to