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.
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
Meanwhile, in perl6-internals
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.
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
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.
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
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.
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.
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
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.
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
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.
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.
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
"zip": stop when and where?
The zip "¥" operator's dead simple isn't it? You just do
@a ¥ @b # @a, @b, @a, @b, @a, @b ...
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
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
It turns out that Pugs does the right thing with this.
Resumable exceptions continue to make p6l's branes hurt.
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
"$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.
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.
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
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,
-- The new home of my Perl 6 Summaries
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.
<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
<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.
Vaguely pretty photos by me can be found at:
Piers Cawley <[EMAIL PROTECTED]>