This file is part of the Perl 6 Archive

Note: these documents may be out of date. Do not use as reference!

To see what is currently happening visit http://www.perl6.org/

The Perl 6 Summary from 2005-08-24 to 2005-09-11

It's been a while hasn't it?

We'll start as usual with perl6-compiler

This week in perl6-compiler

Changed ??:: to ??!! in Pugs

Following discussion of the ternary operator in perl6-language, Benjamin Smith altered pugs to use the new ??!! syntax.

groups.google.com

Meanwhile in perl6-internals

Which 'English'?

Joshua Hoblitt posted a patch to intro.pod fixing a few typos and wondered whether the docs should be in British or American English. Apparently the Perl 5 style rule is that British authors shouldn't be required to write American English, and vice versa, but that a consistent style within a document is preferred. The consensus so far seems to be "Any documentation is good so write what's comfortable for you."

groups.google.com

Meanwhile, at the test

Warne just got Trescothick out. 109 for 4

Python PMCs

Sam Ruby, Leo and Chip had a discussion of how to implement python semantics for parrot. I'm not sure I followed what was going on, but it looked like good 'crunchy' stuff.

groups.google.com

Zcode interpreter release

Amir Karger announced that he'd adopted the Zcode interpreter that Leo posted in February (having, according to Amir, done the hard parts). Apparently there's 41 opcodes to do just to get version 3 of the Z-machine working, and then there's the problem of making Zops into loadable Parrot ops. He had a few problems with the test suite which got fixed in discussion.

groups.google.com

Pirate refactoring report

Michal Wallace posted an update on Pirate (the python to parrot compiler). He and Curtis Hall have been taking advantage of a Google Summer of Code grant to refactor the (Curse! Now Flintoff's out. Caught & bowled Warne for 8) current mess. Their first step was a generic transformation module which has apparently made life easier for the compiler module.

They've also produced a plan in code for how they hope they'll have things working once the refactoring's finished and asked for comments. So far comments have not been forthcoming.

pirate.versionhost.com&content-type=text/vnd.viewcvs-markup

groups.google.com

Tcl in the leo-ctx5 branch

Will Coleda's been having a crack at getting ParTcl working with the leo-ctx5 branch and had a few problems. It turns out that he'd tickled a bug that Leo described as 'a bit non-trivial'. It took him a while, but it got fixed eventually (Over 10 days, but he did have the excuse of being at YAPC::Europe for a chunk of that time).

groups.google.com

Meanwhile at the Oval

They've gone in for lunch at 127 for 5. Hopefully I'll be able to get down to some summary writing without being on the edge of my seat for a while.

Branch Review

Chip posted a review of the leo-ctx5 branch prior, describing it as "A significant improvement." The body of the review covers user visible changes and a few niggles with the current state of the branch. Leo replied with a few questions and explanations.

groups.google.com

GMC release

Nattfodd announced the 'release' of GMC, the generation garbage collector he's been working on as part of Google's Summer of Code. It's not quite bug free yet, but the SoC deadline was the 1st of September, so that's when it got released. Discussion ensued, hopefully helping to triangulate bugs.

groups.google.com

Call for B0rked

Following a discussion with Chip and Leo, chromatic posted a call for entries in a 'very specific TODO list'. A list of things that should work, but don't. He contributed a couple himself. Various other suggestions were offered.

groups.google.com

Optimizer Documentation

Curtis Rawls spent part of his Summer of Code project wishing there was better documentation of the Parrot optimizer. So he wrote some. Brent Royal-Gordon converted it to POD format, and Leo asked for someone to add it to the repository.

groups.google.com

HLL Namespace Design

Matt Diephouse posted a list of namespace features that he thinks are necessary to support all the target languages and asked for some comments. He got several, including one from Larry.

groups.google.com

Global Destruction

Nicholas Clark had some questions about finalization and destruction in Parrot. In particular, he asked: "Does parrot make any guarantee that all objects will be rendered down to bare memory before program exit". Leo answered and the answer was good enough for Ponie. Huzzah.

groups.google.com

Meanwhile, at the Oval

Ah... they're back on the pitch... I may be slowing down again...

Meanwhile, in perl6-language

Demagicalizing Pairs

Discussion of Luke's proposal to demagicalize Pairs continued. It turns out that it's actually a discussion of how to do named argument calling...

groups.google.com

~ and + vs. generic eq

I don't know about you, but I'm starting to lose track of Perl 6's 'equality' tests. The latest discussion concerns the differences between ~~ and eqv. Damian pointed out that we currently stand at 6 different possible tests for 'equality' and wondered if that might not be slightly too many.

groups.google.com

Perl 6 code -- A possible compile, link, run cycle

Yuval Kogman thought it was time to think about how a the Perl 6 on Parrot linker might eventually look. So he did some thinking aloud. Discussion ensued, mostly related to the workings of use and other directives that can affect compilation semantics.

groups.google.com

Binding of array elements

Ingo Blechschmidt had some questions about the workings of the binding operator. He outlined a list of possibilities along with his understanding of the semantics. Yuval Kogman and TSa had some ideas, but nothing from @Larry yet.

groups.google.com

Who is @Larry

Speaking of @Larry, Matt Fowles asked who comprises @Larry. According to Autrijus, @Larry = \xABLarry Damian Chip Leo chromatic Allison Hugo Luke Nathan Dan\xBB, but I have the feeling Dan's retired.

groups.google.com

Does list construction create new containers?

Continuing his investigations of semantics, Ingo Blechschmidt had some questions about the semantics of list construction. Yuval and Juerd had some suggested answers.

groups.google.com

Using lists 'containing' arrays as lvalues

More questions from Ingo, more suggestions from Yuval and Thomas Sandla\xDF this time. There was even an answer from Larry.

groups.google.com

How do you say another_sub(@_) in perl 6?

Yuval wondered how to pass arguments through from one sub to another in Perl 6. My mailbox appears to be missing a few replies so I'm not entirely sure how the thread went. I don't think there was anything on the subject from @Larry though.

groups.google.com

User defined autovivification

Yuval Kogman thinks code like this is ugly:

  ($index_by_x{$thing->x_value} ||= Set::Object->new)->insert($thing);

Frankly, I agree with him (how could I not?)

He suggested a couple of possible ways of avoiding such ugliness in Perl 6. My favourite was probably:

  my %hash will autovivify { Set::Object.new };

However, I'm not sure that this is something that needs to be in the language core; it seems to be the sort of thing that can be implemented reasonably simply in a CP6AN module.

groups.google.com

Manuthreading

Luke is trying to get the useful:dangerous balance inherent in Junctions sorted out. To that end, he proposed a new way to do autothreading that doesn't use junctions at all. Discussion ensued, mostly to do with where to fit the semantics in the syntax.

groups.google.com

Operator sub names that are not special

Luke tried to make people's heads hurt with this sample code:

    sub foo(&infix:<+>) { 1 + 2 }
    sub bar($a, $b) { say "$a, $b" }
    foo(&bar);   # "1, 2"

I think everyone but Yuval Kogman was too shocked to comment.

groups.google.com

@array = $scalar

Ingo continued his mission to understand assignment semantics by asking about assigning a scalar to an array. The thread drifted slightly, moving onto consideration of such hypothetical(?) operators as ,=, &= and |=. One of those is probably more hypothetical than the others.

groups.google.com

no 6;

Rafael Garcia-Suarez thought it would be useful to be able to put no 6; at the top of Perl 5 modules that it wouldn't make sense to port to Perl 6. In order for this to work effectively, he thought it would be best if Perl 6 would at least die correctly with a useful error message. He asked p6l for comments. Apart from asking if supporting no 5 would mean we'd have to support Perl 4, there weren't any.

groups.google.com

for $arrayref {...}

Another question from Ingo. Another answer from Juerd with commentary from Luke.

groups.google.com

WWW::Kontent 0.02 is released

Another of our Summer of Code interns, Brent Royal-Gordon announced the 0.02 release of WWW::Kontent, a content management system written in Perl 6 and executable in Pugs. As Brent says, it's not ready for production, but it seems to be ready for serious play. From the release notes:

"Part of the purpose of this project was to test Perl 6, and I'm happy to report that it passed with flying colors. Perl 6 feels like a much-enhanced Perl 5, with all the wrinkles removed and very few new ones added. It seems to be a very solid design, and is a joy to program in."

I've been saying that this would be the case for ages now. It's good to see that Brent's experience here bears that out.

groups.google.com

&multisub.arity

And another question from Ingo. This time he wanted to know about the arity of multi subs. The discussion got rather complicated.

en.wikipedia.org - The meaning of arity

groups.google.com

Multi scoping

Luke showed an example of a seemingly simple multi sub declaration that ended up creating an infinite loop. He asked for suggestions about fixing it. He and Yuval worked some stuff out.

groups.google.com

Lambda Calculus in Perl 6

Dan Kogai noted that its way easier to do Lambda Calculus things in Perl 6 than it was in Perl 5. He even went so far as to claim it was even easier than doing the same thing in Scheme.

groups.google.com

Changing ??::

Thomas Sandlass thought that making :: unambiguously be used as a symbolic sigil was worth changing the ternary operator to ??//. Almost everyone agreed that replacing :: wouldn't be a bad thing, but that // wasn't the right replacement. We ended up with the ternary operator becoming ??!!.

groups.google.com

\(...)

Another of Ingo's questions, this time about the behaviour of \(...) spun off into a rather complicated discussion that I'm afraid I'm not going to attempt to summarise in more detail than that.

groups.google.com

Packages, Module and Classes

Stevan Little is currently wrestling with the Pugs MetaModel and had some questions about the workings and interrelationships of Packages, Modules and Classes. He and Larry sorted things out.

groups.google.com

Parsing indent-sensitive languages

Dave Whipp had some questions about parsing a Pythonesque language using Perl 6 rules. Much discussion ensued with possible extensions to Perl 6 rules being suggested. Then Damian pointed out, with appropriate rules, that you don't need any extensions, you can parse such languages already.

groups.google.com

Back at the Oval

McGrath just bowled Kevin Pietersen for 158. It's looking awfully like we've won The Ashes.

Item and slurpy

Juerd wondered if 'item context' and 'slurpy context' were official terms now. Larry thought not, preferring item and list context.

groups.google.com

Sequence points, undefined behaviour

Nicholas Clark wondered if Perl 6 will have any documented notion of things like sequence points, undefined behaviour, etc. Will it fix the order in which function arguments are evaluated and all those other things it's useful to know. Warnock applies.

groups.google.com

Acknowledgements, apologies and everything else

Ah... sorry for the lack of recent summaries. Sorry for being distracted by the cricket, but it's been a bit tense for most of the day.

Help Chip

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.

donate.perl-foundation.org -- The Perl Foundation

dev.perl.org -- Perl 6 Development site

Check out my website, it's lovely.

www.bofh.org.uk

Vaguely pretty photos by me can be found at:

www.flickr.com