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

Perl 6 Summary for 2005-07-19 through 2005-07-26


Welcome to another Perl 6 Summary brought to you by microwaved chinese food and air conditioning. I love the modern era. Without further ado, I bring you

Perl 6 Compilers

Gr\xE9goire P\xE9an announed the release of PxPerl 5.8.7-3, allowing people who want to play with Pugs and Parrot on windows easy access.

Test Report for Windows

Ronald Hill reported some failing tests for Pugs on windows. Fortunately, given Pugs's developement, there is a reasonable chance of these problems being fixed. Unfortunately, given Pugs developement, no such information made it to the list.

Parsing Perl6 Rules

Nathan Gray wondered how Jeff Pinyan's parsing perl6 rules project was going. Jeff said that it did not get very far, but he posted what he did have to

Pugs Problems

Vadim Konovalov was playing with slurp and found two problems. Adriano Ferreira showed him how to work around slurp not accepting a :raw option. Nobody commented on the peculariar $*ARGS[0] value when the argument is -foobarfluffy.

Official Perl6 Rules Grammar

Patrick announced an "official Perl 6 grammar" whichi he would be mainting closely with PGE in Parrot. It is incomplete at this point, but patches are most welcome.

PIL Nodes's Descriptions

Allison Randal posted a request for a clue batting, listing various types of nodes in PIL and explaining her guess at their descriptions. Stuart Cook and Patrick both provided a little help, although not everything on her list was addressed.

Perl 6 FAQ Patch

Autrijus provided a patch for the Perl 6 FAQ removing an outdated question. Robert Spier applied the patch (modulo some confusion about staged vs live copies).


Opcode Optimizability

Curtis Rawls noted that it is often simpler from an optimizer writers standpoint to do constant folding and optimization on a smaller set of opcodes (just one variant add instead of five (seven if you count inc and dec)). Leo explained that removing these opcodes isn't an option, but that a suggestion for compiler writers to only emit the more verbose codes could be added to the faq.

Refcounting Hash

Nicholas Clark wants to use a hash to hold reference counts for Ponie (something like dod_register_pmc in pmc.c), but he doesn't want to duplicate code. Leo suggested that he move some of the code into a pmc and then switch the real registry to use that PMC.

New PGE Test

Mitchell N Charity submited a test for a "large" pugs grammar, which currently fails. Patrick noted that the test like came from in the Pugs distribution. This probably led to his above addition of an "Official Perl6 Rules Grammar".

Jit Emit Help

Adam Preble decided that he would play with an x86_64 code generator. Unfortunately, he was hitting some stumbling blocks. Leo offered to help him and provided pointers from #parrot.

Call Opcode Cleanup

Leo wants to cleanup some of the various invoke opcodes. He posted a request for comment, but Warnock applies. It seems that Leo's request for comments like this get Warnocked a lot...

spawnw Return Value

Jerry Gay opened a TODO ticket for switching spawnw to return something object like to wrap platform-specific oddities. Prompted by Jonathan Worthington submitting a patch to make the spawnw tests pass on windows (which was applied). -- Ticket -- TODO

Bugs in

Amir Karger noticed a bug in and suggested a fix. Jerry Gay fixed it.

Leo's Ctx Branch Tests

Jerry Gay and Leo worked together to get his branch passing a few more tests on windows. Nick Glencross wondered if the python dynclasses tests were being run too. Jonathan Worthington explained that they were being skipped for the moment.

Raised by the Aliens

Matt Diephouse was surprised to discover that you cannot use addparent with a PMC for either argument. He suggested that this be made to work or officially documented.

Patches Accumulating

Leo requested that people with commit bits pick up some of the patches that were building up as he was running a little low on tuits.

Dump CFG

Curtis Rawls moved the dump_cfg call from reg_alloc.c to cfg.c. Leo applied the patch.

string_to_cstring leaks

Jonathan Worthington plugged a few leaks caused by string_to_cstring. Leo applied the patch.

Deleting Globals/Lexicals

Matt Diephouse noted that there was no way to delete globals or lexicals. Leo posted one (untested) way to do it.

Generating Win32 Executables

Jonathan Worthington laid some ground work for generating executables on windows. Leo applied the patch.

Library Loading on Win32

Jonathan Worthington beefed up the library searching logic in Parrot to be a little more Windowsy. Leo applied the patch.

PBC Merge Utility

Leo posted a request for a utility that could merge several pbc files into one.

Calling Super Methods

Matt Diephouse noticed that there was no way to call the method from a super class. Leo pointed out a way to do it by accessing the slots of the parent directly.

Cmd Buffer Reallocation

Greg Bacon fixed a bug in the reallocation of the cmd buffer on Win32. Jonathan Worthington applied the patch.


Will Coleda added a TODO for making PGE's match objects compatible with Data::Dumper.

does Hash

Will Coleda wants Data::Dumper to check if an object does Hash or Array and dump it thusly if no default dump is implemented.

rx.ops's future

Will Coleda wondered what the future of the rx ops. Brent 'Dax' Royal-Gordon, who wrote them, recons they are not long for this work. He reckonned that the intstacks and the bitmap handling code might be worth saving.

Debugger - List breakpoints

Will Coleda noticed that the debugger was not quite compatible with perl's. Leo replied that the debuggers whole command loop was a mess that required a turn of the crank.

\u escape issues

Will Coleda opened a ticket for some unicode escape issues. Leo asked for a test case.

string -> int conversions

Matt Diephouse noticed that there was no opcode Octal and Hex conversions. Leo suggested adding one of the form set Ix, Sy, Ibase # Ibase = 2..36 .

Make make languages Failures Nonfatal

Bernhard Schmalhofer suggested that make languages should not give up after the first failure, but should instead build the remaining languages.

Dynclasses on Windows

Nick Glencross and Jonathan Worthington discussed how to make dynclasses build on windows.

Resizable*Array Allocation

Matt Fowles submitted a patch making all the various Resizeable*Array pmcs share their allocation strategy. Bernhard Schmalhofer applied the patch.

MMD Roundup - Take 2

Nicholas Clark attempted to dewarnock a suggested change by Leo. Unfortunately, his thoughts on the matter were "this is really a call for the designer to make, isn't it?". Leo suggested starting a WARNOCKED file for these thin