Note: these documents may be out of date. Do not use as reference! |
To see what is currently happening visit http://www.perl6.org/
Hello all. It's another Monday afternoon, which means I'm writing another summary. There's no cricket to distract me this week, so I'm letting iTunes Party Shuffle attempt to distract me instead.
Nobody said anything on the list this week. I blame IRC.
Leo pointed everyone at an article about about 'A Fundamental Turn Toward Concurrency in Software'. Jonathan Worthington liked it.
It's possibly a failing of mine as a summary writer, but I've not been following Parrot's RT traffic. Luckily, Joshua Hoblitt has volunteered as a Bug Wrangler and he's hoping to increase the signal/noise ratio. To that end, he'll be pinging people who reported bugs that are older than 3 or 4 months to find out if they're still current or can be closed. It sounds like a mammoth task in the short term, but it also sounds like a very useful project that'll get easier once the big house cleaning has been done.
He hinted that this is the sort of project that really benefits from having more than one volunteer doing the work.
Later in the week, he posted a bunch of IMCC TODOs.
Andy Dougherty posted some more details about a bug in ParTcl when running under Leo's branch. The bug seems to depend on whether there's a slash in the script path passed to ParTcl. There was no response, but hopefully work continues on fixing it.
Jonathan Worthington posted a discussion of how debugging segments could work in Parrot in the future. He outlined a suggested unified debug segment format that should work for both PASM/PIR and high level language debugging requirements.
Roger Browne applauded Jonathan's efforts and made some further suggestions.
And then the thread got Warnocked.
Jonathan Worthington posted a discussion about how Parrot bytecode files should handle their magic number. At present, apparently, Parrot checks the magic number only after it's tried to work out word size and bytecode. Which is somewhat bass ackward. After some discussion, Chip reckoned that the solution would be to have a magic string rather than a magic number.
loadlib
and libraries with '.' in the nameRoss McFarland found a problem with loadlib
. Apparently it won't let you
load a library that has a '.' in the name. It turns out that fixing things
robustly isn't quite as straightforward as it at first appears. Discussion
ensued.
Ross posted a patch to RT.
That gentleman of great intelligence, sagacity, wit and annoying capitalization; the one and only chromatic wondered what running PMD's copy and paste detector plugin on Parrot's .c files would show. If anyone has run it yet, they haven't reported on its findings, but it surely won't be long now.
Roger Browne announced the release of Amber for Parrot version 0.2.3a (Ashes). According to the announcement, Amber's a Eiffel like scripting language for Parrot. Joe Bob says "Check it out!"
\(...)
Oh look, a thread in p6l that's still going more than a fortnight later. How
unusual. This particular instance of the form is nominally about the behaviour
of \($a, $b)
but various subthreads have drifted onto discussions of context
in general and meaningful whitespace. So far there has been no discussion of
the return value of Pin.head.contents.grep -> Angel $a {$a.is_dancing}
but I'm sure it's only a matter of time.
Luke continued to discuss Junctions and fmap with Stuart Cook.
Yuval Kogman discussed the inelegance of code that reads like:
if $condition { pre } unconditional midsection; if $condition { post }
And proposed a possible syntax that could be implemented in a macro. I confess that I would be taking this thread more seriously if, when I was writing this summary I had been able to come up with a realistic example of code that had this problem.
Anyhoo, it sparked a good deal of discussion.
Stevan Little's ongoing development of the Perl 6 MetaModel continues to yield pictures. This week he incorporated Roles into the bigger picture.
~
and +
vs. generic eqIn another thread that spilled over from a fortnight ago, Thomas Sandlass and Yuval Kogman continued to discuss equality, equivalence and multiple dispatch. There are worse ways of spending the day.
Michele Dondi asked for some way of stopping evaluating a conditional after it
had evaluated to true once. None of the people who replied seemed to realise
that ..
and ...
do exactly that (and a little bit more).
The thread on 'Stringification, numification and booleanification' is this weeks "Thread most likely to still be going in a month's time" award winner.
It started so simply, with Ingo Blechschmidt asking about the *-ification of
Pairs. And then it exploded. Most recently it's been discussing the difference
between ~$thing
and "$thing"
, but it's covered an awful lot of ground. My
gut feeling is that default stringification should be in a form that's useful
to a developer when debugging, but there's arguments to be had in all
directions.
Carl M\xE4sak reported that hcchien on irc had asked about looping through an array n elements at a time, discarding some. He wondered if
for @a -> undef, $x, $y {...}
would do the trick.
Luke Palmer thought that
for @a -> _, $x, $y {...}
Would be better because, in a multimethod, using undef
in the way suggested
means "this value must be undef". This being p6l, there were opinions on both
sides. However, $Luke ~~ @Larry
so I think his opinion carries the most
weight.
Juerd had a moment of clarity and unified a couple of earlier threads (on
conditional wrappers and doing it once) by proposing a pair of keywords,
pause
and cont
. The semantics are weird, but oh so powerful. And
because I don't want to simply copy and paste his entire post, I suggest you
simply go and read it.
.chars
, .bytes
, etc..Wolverian said that the current way of defining .chars
, .bytes
and
.elems
didn't make any sense to him. In particular, he thought that, in a
list context they might be better returning the list of things rather than a
simple count of them. Juerd agreed.
k
, v
In a Huffman inspired moment, Juerd wondered if we shouldn't abbreviate keys
and key
to k
and values
and value
to v
. Uri Guttman thought that
having single names for things like that wasn't a desperately good idea. Juerd
was convinced.
Are you?
A resumable continuation by any other name would smell as sweet. Yuval Kogman coined a new word for them: 'Exceptuations', being a mashup of Exception and Continuation. He also outlined a how one would use them. I'm pretty sure we've discussed this stuff before, but there's always a chance that new light will fall on the subject.
Not satisfied with inventing Exceptuations, Yuval invented Allomopherencing as well. Just don't ask me what it means because I don't know. I might as well have been reading Derrida in the original Klingon as Yuval's post an it's ensuing thread. Follow the link, if you understand it, could you write up a summary and send it to me? Thanks. You're a star.
@Larry
talks amongst itselfLuke Palmer continues to post minutes from the weekly Perl 6 conference calls. I'm not going to summarize because it's already rather terse, and I'm not going to cut and paste either, because although it's terse, it's surprisingly long. Luke's promised to post these to his blog weekly. With any luck we'll remember to link to them here as well.
So, I'm looking for work again. If you need a somewhat rusty perl programmer, a vaguely competent technical writer with a portfolio consisting pretty much solely of the back issues of this summary, a half-decent photographer or an inexperienced Ruby programmer, none of whom are prepared to travel too far from Gateshead, you know who to ask.
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.perl-foundation.org -- The Perl Foundation
dev.perl.org -- Perl 6 Development site
Check out my website, it's lovely.
Vaguely pretty photos by me can be found at: