This file is part of the Perl 6 Archive

Note: these documents may be out of date. Do not use as reference!

To see what is currently happening visit http://www.perl6.org/

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.

groups.google.com

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.

groups.google.com

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.

groups.google.com

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.

groups.google.com

MetaModel Notes

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

pugscode.org

groups.google.com

groups.google.com

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!

groups.google.com

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?

groups.google.com

How to add a new opcode?

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

groups.google.com

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.

groups.google.com

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.

groups.google.com

Dominance Frontiers

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

groups.google.com

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.

groups.google.com

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.

groups.google.com

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.

groups.google.com

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.

groups.google.com

$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.

groups.google.com

$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.

groups.google.com

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.

groups.google.com

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).

groups.google.com

Typed type variables (my Foo ::x)

Stuart Cook asked about the meaning of type annotations on type-variables. Autrijus answered and Thomas Sandla\xDF agreed with him.

groups.google.com

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).

groups.google.com

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.

groups.google.com

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

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.

donate.perl-foundation.org -- The Perl Foundation

dev.perl.org -- Perl 6 Development site

Check out my website, it's lovely.

www.bofh.org.uk

Vaguely pretty photos by me can be found at:

www.flickr.com