The Perl 6 Summary for the week ending 2005-10-09 Hello, and welcome to the first Perl 6 Summary to be published on my website rather than its former home at <http://www.perl.com/>
This week in perl6-compiler PGE error on failing subrules Allison broke the resounding silence of the last two weeks by posting about some PGE errors she was seeing. No reply yet. <http://xrl.us/hx2j> Tests converted from pugs' rules.t to Parrot::Test::PGE Yuval Kogman announced that he'd written a script to convert pugs's rules tests into Parrot tests. The resulting test suite still needs some attention, and he outlined what was needed. No response so far on the list. <http://xrl.us/hx2k> Meanwhile, in perl6-internals Variable registers Klaas-Jan Stol wondered about how the new lexical scheme was going to work. In particular, he wanted to know what was happening to scratchpads. Leo gave a very brief overview of the new scheme, which uses register frames for static lexicals and more conventional scratchpads for dynamic lexicals. As I understand it, they'll look pretty much the same from the PIR writer's point of view. Leo promised a PDD from Chip in the nearish future which would thrash out the details. <http://xrl.us/hx2m> Exception handlers and calling conventions Roger Browne wanted to know if exception handling had changed at the same time as the calling conventions. He presented some code that behaved differently depending on the Parrot version. Leo replied that exceptions still wind up in P5 and Roger had found a bug. So Leo fixed it. <http://xrl.us/hx2n> Parrot 0.3.0 TODO Having successfully got Parrot building on his Cygwin installation, Robert Eaglestone was casting around for something to do and listed a few possibilities. Will Coleda replied that he'd quite like to see a working Parrot equivalent to Perl 5's $0. <http://xrl.us/hx2o> Parrot 0.3.0 and Tru64 Jarkko Hietaniemi posted a bunch of issues with Parrot on the Tru64 architecture. Leo addressed them. I'm not sure they're all fixed yet though. TCL - Compiling Will Coleda announced that ParTcl is now a compiler. Some tests are failing but Will claimed that this is because Jerry Gay was getting bored with all the tests passing. Jerry was delighted. As Will said later in the thread, the current iteration is doing the bare minimum needed to be called a compiler, but of course that will change over time. Good work Will. <http://xrl.us/hx2p> BROKEN.pod Hey, now he's no longer my editor, I don't have to worry about making sure I don't put his name at the beginning of a sentence! Anyhow, chromatic posted a first cut at BROKEN.pod, the big list of broken stuff. There followed some discussion of how this should be organised in the future, particularly on the RT side. After discussion, it was decided to keep it as a single file for now, but to aim for generating it from multiple RT tickets in the future. <http://xrl.us/hx2q> Stack call directives are deprecated Using ".param", ".arg", ".return", ".result" and "call" to do stack based calling conventions is now deprecated. Use "save", "restore", "bsr" and "ret" instead. Or, ideally, use the standard Parrot calling conventions. <http://xrl.us/hx2r> Deprecation of rx ops Brent Royal-Gordon confirmed that he was happy enough to see his experimental regular expression specific ops removed from Parrot. They've not been removed yet, but they're certainly deprecated. <http://xrl.us/hx2s> Software Architecture of Parrot Klaas-Jan Stol informed us that his Software Architecture professor had approved his proposal to write a paper on the architecture of Parrot. He outlined his plans for the paper and hoped that he would be able to count on people for proof-reading when the time came. Leo thought it was a marvellous idea (so do I come to that, but I didn't say anything on the list.) <http://xrl.us/hx2t> ParTcl command line options, etc Will Coleda kept us abreast of his progress with ParTcl in this thread, initially announcing the new "-e" flag which allowed for writing one liners. After a certain amount of havering before a final interface arrived, ParTcl also acquired a --pir flag, which dumps the results of compilation to a PIR file. <http://xrl.us/hx2u> BASIC compiler Will Coleda (does the man never sleep?) announced that the BASIC compiler is (sort of) working again with Parrot 0.3.0. There are still problems with the windows display code (the offending code is simply commented out), but code that doesn't need that appears to be working now. He noted that BASIC could really use a decent test suite, right now he was simply working to get programs like eliza2.bas and wumpus.bas working, which is okay as far as it goes, but he is sure that some parts of the language remain broken. <http://xrl.us/hx2v> Meanwhile, in perl6-language "my $key is sensitive" While working on implementing a cipher framework for Perl 6, Brent Royal-Gordon realised it'd be really useful if he could mark a variable as 'sensitive' or 'secret', which would force the language to overwrite the memory used by the variable before deallocating it and to try and avoid swapping the value out to disk. There was some discussion -- some favourable, some not -- and a suggestion to refer the question to perl6-compiler. <http://xrl.us/hx2w> "zip": stop when and where? The zip "¥" operator's dead simple isn't it? You just do @a ¥ @b # @a[0], @b[0], @a[1], @b[1], @a[2], @b[2] ... Well, yes. And no. Juerd asked what zip should do given 1..3 and 1..6. He outlined 4 distinct possibilities, all of which had their partisans. Interestingly, Damian proposed the most draconian of all the possibilities for the default behaviour, arguing that it was the safest way to go. The suggestion was that you could call zip with an adverb to specify different behaviour. As you can probably guess, there was plenty of discussion. <http://xrl.us/hx2x> A listop, a block and a dot Miroslav Silovic asked about a corner case he'd run across while playing with pugs. It turns out that that slurpy context doesn't quite behave as he expected (or even as it should). Autrijus fixed it. He did, however, wonder about the precedence of f:{1}.() It turns out that Pugs does the right thing with this. <http://xrl.us/hx2y> Exceptuations Resumable exceptions continue to make p6l's branes hurt. <http://xrl.us/hx2z> Roles and trust Ovid made some observations about why he felt it would be good if Roles could specify trust. Luke wasn't sure it was necessary, Ovid was pretty sure it was. Your summarizer wasn't entirely sure what they were talking about. <http://xrl.us/hx22> "$value but lexically" Dave Whipp wanted to be able to attach a "but" property to a value in a way that would only make the property visible within the lexical scope in which it was declared. Luke thought it could be done with lexically scoped roles (because a property is just a role). It looked rather ugly to me, but that's life I guess. <http://xrl.us/hx23> Type annotations Autrijus convinced Luke that we have to nail down the semantics of type annotation without "use static". So, prior to nailing anything down, Luke posted a proposal and asked for arguments either way. Not surprisingly, he got several. It's a matter of when and how things should break if called with the wrong type -- some people want more compile time failures, others want more runtime coercion. The phrase 'can of worms' springs to mind. <http://xrl.us/hx24> Sane (less insane) pair semantics You may remember a few summaries back, Luke posted a modest proposal about demagicalizing pairs. Ingo Blechschmidt posted the results of further discussion of this on the #perl6 irc channel. It all looks pretty sane to me. Discussion of corner cases ensued, and the proposed spec seemed to bear up pretty well. Certainly the initial response was favourable. <http://xrl.us/hx25> Meanwhile, at @Larry Because so many of @Larry were tied up with the Perl Whirl, there was no Cabal meeting this week. The Unusual Coda So long and thanks for all the fish Don't worry, I'm not about to stop writing summaries. However... Almost since my very first summary in 2002, these summaries have been published on the O'Reilly network's <http://perl.com/> website. Initially the fee got paid to the Perl Foundation and, more recently, to me (when I remembered to invoice them -- I've only just started invoicing for 2004. That waiting for the dollar to get stronger plan really worked for me. Not.) At the end of August our editor, chromatic, informed Matt and I that O'Reilly could no longer publish the summaries, effective immediately. Except, my mail system was dropping stuff on the floor at the time (perfect timing eh?). I only found out in the last week. Oops. So, we're currently without a publisher. My plan at present is to continue to send my summaries to the perl6-announce mailing list and publish my summaries on my own website in the (possibly vain hope) of increasing my AdSense revenue. Summaries will also continue to appear after the traditional 2 week delay on dev.perl.org What I could really use though, is a sponsor. Until last month, the Summary was my only regular paying gig; it didn't pay a lot, but it kept the wolf from the door. If you're interested in sponsoring these summaries, please get in touch [EMAIL PROTECTED] -- subscribe to Perl 6 announcements, including summaries -- The new home of my Perl 6 Summaries Acknowledgements I'd like to take this opportunity to thank my editors at O'Reilly, initially the prolific Simon Cozens and latterly the estimable chromatic. It's been fun. Hopefully we can do it again some time. Help Chip <http://geeksunite.org/> -- This must not 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 the rest of my website, it's lovely. <http://www.bofh.org.uk/> Vaguely pretty photos by me can be found at: <http://xrl.us/hx26> -- Piers Cawley <[EMAIL PROTECTED]> http://www.bofh.org.uk/