Note: these documents may be out of date. Do not use as reference! |
To see what is currently happening visit http://www.perl6.org/
Welcome to another Perl 6 summary. This has been a week of shootouts, cleanups, relationships and cunning translations. Read on for the details (or, this being a summary, pointers to the details).
2 messages? Sometimes I wonder why I even bother summarizing this list; I could just paste its contents in their entirety. However:
Jesse announced that Nicholas Clark was retiring as Ponie's Pumpking following his departure from Fotango. So we're looking for another volunteer to take Ponie from its current state to a working Perl 5 runtime fully integrated with Parrot. If you're a C programmer with a good grasp of the Perl 5 internals and you're interested in taking on the job, [email protected] is eager to hear from you.
Continuing Pugs' tradition of linguistic mashup, Chia-liang Kao announced that Pugs Javascript backend can now support Perl5.
Work continued on implementing and optimizing Parrot's entry for the Language Shootout.
Matt Diephouse wondered how he should translate the following in to PIR code:
$var = "Foo"; *alias = *var; $alias = undef; $alias = "Baz"; print $var, "\n";
Audrey "Autrijus" Tang suggested that allowing multiple LexInfo names to point to the same underlying register would make this sort of thing (and several Perl6isms) a good deal easier to implement. Leo pointed out that it actually had been implemented, though I'm not sure if Luthor includes this. (Pugs always targets the latest Parrot release).
Joshua Hoblitt went to town on RT posting a breakdown of proposed refactorings of the Parrot build process
Will Coleda suggested that it would be useful to set things up to run the TCL shootout benchmarks on ParTCL. He's not exactly sure that they'd work just yet (or be fast, come to that), but they'd certainly be a handy test/benchmark suite. After a couple of patches, it seems that ParTCL can at least run the "hello" benchmark. Still, a journey of a 1000 miles starts with but a single step and all that.
Jerry Gay's reorganization of the Parrot distribution's directory structure continued apace. Reorganizing the JIT subdirectory and its associated config system proved to be something of a sticking place, but Joshua Hoblitt sorted things out.
Chip had some thoughts about PIR's macro support and concluded that we need a robust multi-line quoting convention in order to pass multiple lines of code to macros. He outlined some suggested syntax. Discussion ensued, mostly favourable.
Leo noted that the files in runtime/parrot/include/*.pasm are created by configure. He argued that they should really be generated by a Makefile rule, which would have the advantage of taking note of dependencies. There followed a certain amount of quibbling with Joshua Hoblitt, but I don't think anyone disagrees with the gist of the proposal.
Leo announce that, as a of r10458, Parrot doesn't load_bytecode
from the same file twice any more. Chip and Nicholas Clark applauded
the change and plotted ways to make it even more effective.
Not content with implementing shootout benchmarks, Joshua Isom has also fixed a few of Parrot's example japhs.
Leo had some questions about magical conversion between strings and integers. Patrick and others reckoned that his proposed behaviour was about right. Personally, I'm not convinced that the basic String PMC should do any magic conversion, but PerlString definitely should.
Steve Gunnell had a problems with Parrot throwing segfaults. Leo gave him some pointers to tracking the issue down and recommended using the SVN repository and not the CVS mirror.
Darren Duncan's been doing some thinking about Relational data models and how to support working with them in Perl 6 and posted the results of his thought on this to the list. Lots of discussion ensued. There was a fair amount of quibbling over details, but the general tenor of the discussion was in favour of supporting relational data models (possibly as a separate module).
groups.google.com[192.168.1.100]
undef
betterDarren also had some ideas about making undef behave more like a relational NULL. These were received a little less favourably -- they aren't exactly compatible with autovivification, which is one of those things that many people like about Perl.
So, a little later, Darren retracted his original proposal and posted a new one which takes into account the various different ways in which undef gets used in Perl programs.
groups.google.com[192.168.1.100]
groups.google.com[192.168.1.100]
Brad Bowman wondered why the trans
function described in Synopsis
05 specifies that the longest matching input sequence should be the
one that wins. He thought that a simple 'first in order' rule would be
more useful and flexible. The answer was that, because transliteration
matches literal strings, if you didn't have 'longest' wins rules then,
depending on the order, you might as well simply remove the longer
literal because it'd never be used.
dev.perl.org#Transliteration
Gaal Yahas had some questions about Perl 6's import/export model and the various hooks that get called in the process. Larry had many answers and speculations. He also noted that he can now 'translate about 95% of random Perl 5 back to identical Perl 5'. Which probably doesn't sound like much at first glance, but it means he's getting a great deal closer to being able to translate random Perl 5 code into equivalent Perl 6 code.
As Larry puts it, he is "now confident that we can hit the original p5-to-p6 spec of translating 95% of scripts at least 95% accurately".
Wow! It's still Monday! The move went pretty smoothly and our lives are slowly emerging from the boxes they had been packed in. We're still boggling at how many boxes of china there were though. At one point I began to think we'd packed the country in there. I'm typing this from my new office on the second (third if you're American) floor of our new (well, 178 years old, but new to us) house and wondering how much of the stuff that's spread out over two table tops is really necessary.
geeksunite.org -- Chip still needs help.
If you find these summaries useful or enjoyable, please consider contributing to the Perl Foundation to help support the development of Perl.
donate.perlfoundation.org -- The Perl Foundation
The Perl Foundation Blog is an excellent source of news about the Perl Foundation's activities.
Planet Perl Six is a handy news aggregator of several Perl 6 related sources.
dev.perl.org -- Perl 6 Development site
Check out my website, it's lovely.
Vaguely pretty photos by me can be found at: