Perl 6 Summary: Week ending 2005-11-27
Another week passes. Another summary is written. Another sentence is written in the passive voice.
This week in perl6-compiler
Perl 5 tests for PGE::P5Regexp
Jerry Gay announced that he’d checked in a subset of perl 5.9.2’s regexp tests to give PGE something to work on. Right now only 130 of 960 tests are running, in part because the test harness he’s using can’t quite cope with the test file syntax used for the original tests. I’m sure it won’t stay that way or long.
A couple of days later he announced that more tests were being converted and that there were now 360 passing tests and a further 155 or so TODO tests.
Well done Jerry.
http://groups.google.com/groups?threadm=1d9a3f400511211939i134aa0fnefc86179431b96fd@mail.gmail.com
PDD 20 and :outer
Leo had some questions about the workings of lexical pads and :outer. He
showed a couple of examples in high level language and wondered if his parrot
conversions were right. Chip thought that Leo shouldn’t worry about
implementing the Perl 5 semantics of a named inner subroutine because the way
Perl 5 does it is a bug not a feature. Dave Mitchell wasn’t so sure.
http://groups.google.com/groups?threadm=43832AF2.2040402@toetsch.at
DynLexPad
Leo’s working on implementing a DynLexPad PMC to provide ‘a more dynamic lexpad’ akin to the new deprecated ScratchPad PMC. He outlined his current plans and asked for comments from HLL authors about what they needed.
http://groups.google.com/groups?threadm=43834203.2020209@toetsch.at
Punie to AST
Allison has checked in the code to transform PunieGrammar match objects into Abstract Syntax Trees (ASTs). Apparently the set of AST node types she’s using isn’t quite the same as the Pugs PIL. Hopefully one day we’ll have a common AST format, and all manner of things shall be well.
http://groups.google.com/groups?threadm=FE692303-15F8-42D8-AF73-270BCEDA6EAD@perl.org
Meanwhile, in perl6-internals
RESPONSIBLE_PARTIES or ENTITIES_AT_FAULT?
Joshua Hoblitt suggested that Jerry Gay should be added to the
F
http://groups.google.com/groups?threadm=20051120210940.GB22898@ifa.hawaii.edu
Curses and parrot problems?
Josh Isam has been having problems with using the curses library under both Darwin and freebsd. He wondered if anyone had any pointers for fixing things. Leo thought it might be that the parrot ncurses support was getting a function signature wrong somewhere and suggested Josh check that.
http://groups.google.com/groups?threadm=Pine.LNX.4.53.0511222245480.1385@ritalin.shout.net
Subs may not contain dynamic call info, ever
Repeat after Chip: “Subs don’t have callers. Call frames have callers.”
After a short discussion with Leo, Chip wrote a short treatise on the relationships between Subs and Closures, noting that they should only hold static information.
http://groups.google.com/groups?threadm=20051123180834.GF6095@tytlal.topaz.cx
Undefined labels
While working on TODO #37590 (catch illegal bsr at compile time), Leo’s made parrot rather more picky about labels and how they are used. Essentially, if you weren’t doing daft things with labels you’re probably all right. If you were, you should probably check this post.
After Leo checked the fixes in (r10168), several PGE tests started breaking. Less than 6 hours later, Patrick check version r10176 in and the tests started passing again. Leo (and I) was impressed.
http://groups.google.com/groups?threadm=87bc76ce931e9c7e29ed9be192d32de4@toetsch.at
http://groups.google.com/groups?threadm=3a149d0a332aa57205267f928fe1544a@toetsch.at
Exception handlers and calling conventions
Leo posted a brain dump about how to get exception handling to work in Parrot. In particular he wanted help with syntax (exception handling semantics aren’t exactly rocket science when you’ve got a continuation based virtual machine after all). Warnock applied (However, I am reliably informed that next week’s summary will have some responses; anyone who suggests that that’s because this summary is late will be annoyingly Right).
http://groups.google.com/groups?threadm=5b4f21642641211939b10fe8548ea876@toetsch.at
Test::More and tests in PIR
Not content with having a pure PIR implementation of Test::Builder, chromatic posted his implementation of Test::More in pure parrot. Admittedly the current version should likely be called Test::Less::Is::More, but the journey of 1000 cliches starts with a single step and all that. And that’s not all, the fearlessly lowercased one intends to start work on the big daddy, Parrot::Test with an eye to doing even more in Parrot. (Which makes a good deal of sense. After all, the plan is to get Parrot to a point where it can be built without needing a working perl installation)
http://groups.google.com/groups?threadm=1133039776.6474.48.camel@localhost
Meanwhile, in perl6-language
\x{123a 123b 123c}
Juerd had praised Ruud H.G. van Tol’s proposal of \x{123a 123b 123c} as a
replacement for \x{123a} \x{123b} \x{123c} in rules. Larry wasn’t so
sure. He suggested \x[123a,123b,123c] but still wasn’t exactly happy with
it. He also had some thoughts about character class syntax, and the meaning of
spaces within a character class spec. This being the language list, the
discussion spun off in various directions (all related to rules, just not
necessarily that much to do with the nominal subject). It was good stuff
though; threads with Larry, Damian, Patrick and Luke in them usually are.
One little tidbit that came out of this was a reminder that the best place to read synopses and apocalypses is at svn.perl.org or dev.perl.org because they are kept up to date, unlike the ones at perl.com.
http://groups.google.com/groups?threadm=20051120023217.GA507@wall.org
Multidimensional argument list binding
Ingo Blechschmidt’s question from the end of last week about multidimensional
argument list binding got addressed this week. He, Luke and Larry discussed
different aspects of slurpiness. Personally, I expect I’ll be using the
*;foo@ for almost all my slurpy needs.
http://groups.google.com/groups?threadm=dlql9i$bnf$1@sea.gmane.org
statement_control<foo>()
Ingo Blechschmidt had asserted that for is not strictly a Perl 6 keyword,
but is (conceptually at least) at statement control subroutine. Rob Kinyon
wondered what other ‘keywords’ were actually statement control subs. According
to Ingo, pretty much everything that’s used for control flow modification is a
statement control subroutine, but that they’ll almost certainly be optimised
away to ‘primitives’ of some sort (after all, it’s rather hard to come up with
a definition of if, say that isn’t at least slightly circular).
http://groups.google.com/groups?threadm=70384420511202024y223ac219h3ecea2cbd0feef8@mail.gmail.com
till
Perl 6’s stock of agricultural operators continues to grow apace. Not content
with gather, we now have C.. (sorry beachware fans).
Larry had some thoughts on the detailed semantics in response to a question
from Ingo. Most of Ingo’s problems disappeared when he realised that till
would be a macro.
http://groups.google.com/groups?threadm=20051121062128.GA9451@wall.org
Ponie!
Joshua Gatcomb wondered what was happening to Ponie and if Fotango would continue to fund it. Warnock applies.
http://groups.google.com/groups?threadm=941eab840511211220t1ee6952dpb578ed10259f29@mail.gmail.com
Dis-junctive patterns
Gaal Yahas found what looked like a bug in pugs. Larry agreed that it looks pretty entomological. It’s probably already fixed in bleadpugs.
http://groups.google.com/groups?threadm=20051122073126.GE14252@sike.forum2.org
Type sigils and a new unary ^ operator
Larry announced that, after all the discussion of coming up with a type sigil
and searching for various possibilities, he’s ended up back at ::, which was
what it was before the discussion started. Apparently the tipping point came
when he realised that he wanted ^$x back as a unary operator that’s short
for 0..($x-1) which would make it easy to write things like:
for ^5 {...}
without falling foul of fencepost errors etc. Some people didn’t like it. Vocally. Larry stood firm. Yay Larry. (Impartial summarizer? What’s that then?)
http://groups.google.com/groups?threadm=20051122223412.GA28366@wall.org
Lazy lists in Str context
Flavio S. Glock reckoned it would be nice if:
say substr( ~(1..Inf), 0, 10 )
printed “1 2 3 4 5”. There was discussion, but I think we stayed firmly in “Not going to happen.” Unless I completely misread the thread of course.
http://groups.google.com/groups?threadm=aa47605d0511230413p20173745k@mail.gmail.com
Binding of list slice elements
Ingo Blechschmidt is great at posting a few lines of not particularly mind bending code and then following consequences through until either your mind is broken, or you assume that Ingo’s must be (more usually the former than the latter, to Ingo’s everlasting credit).
This time he followed through on the implications of binding array slices. Nothing from @larry yet, but he posted at the end of the week.
http://groups.google.com/groups?threadm=dm4has$u3s$1@sea.gmane.org
Acknowledgements, apologies and everything else
This summary was made from the finest mailing list posts, each individually plucked and filleted for your delight and elucidation. The alert among you will have noted that today is Wednesday and not Monday, which means we’re a little late. What can I say? It’s ready when it’s ready.
This summary was also brought to you through the labours of Piers Cawley and not Matt Fowles as we had planned when, dewy eyed and innocent, I set off on the long journey down to the wilds of London with the express intention of attending the London Perl Workshop, the International Magic Convention, Sharp’s folk club and divers fine gentlemen’s outfitters, jewellers, bookshops and quality eating establishments.
All was proceeding flawlessly, until, on Saturday morning as the tube train doors began to close in front of me, I attempted to stop running and discovered that the soles of my shoes had other ideas and fell on my arse, twisted my ankle and scraped an unfeasibly large amount of skin from my shin off on the bottom of the aforementioned tube train. Luckily the driver noticed my plight and did not drive off, taking my left foot with him. Instead he opened the doors and waited for me to dust myself off and board his vehicle, which carried me to Paddington where, after much hobbling and swearing I was bandaged and deposited once more on London’s cold and unfeeling streets.
So, I hopped into a taxi (and I use the word hopped advisedly) and repaired straightway to King’s Cross and thence home to Gateshead, where my discomfort was somewhat ameliorated by the distraction of preparing this week’s summary. I hope to be writing next week’s summary as well because the week after I’ll be moving house and don’t quite know when I’ll have my bandwidth back.
Help Chip
http://geeksunite.org/—Chip still needs help.
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 my website, it’s lovely.
Vaguely pretty photos by me can be found at:
