Perl 6 Design Minutes for 22 April 2009

chromatic on 2009-06-01T08:45:28

The Perl 6 design team met by phone on 22 April 2009. Allison, Jerry, Will, Patrick, Nicholas, and chromatic attended.

Allison:

  • worked mainly on the book this week
  • reviewing patches, preparing for the release
  • did more work on the calling conventions branch
  • you have to update all of the last scattered bits throughout the cold
  • gave a talk to the SF LUG last night
  • good questions there

Jerry:

  • worked on GSoC
  • TPF has nine slots this year
  • two projects are for Parrot and one is for Perl 6
  • we originally had 10, but one student had duplicate proposals into another organization
  • all of the mentors and students are excited and ready to go
  • we're looking forward to the start of coding in May
  • getting everyone set up with the proper credentials and prerequisites for commits
  • will have a good amount of time to the Perl 6 command line in the near future

Patrick:

  • spent the last week at the Nordic Perl Workshop and a subsequent hackathon
  • the workshop was excellent and well-organized
  • a two-day track for Perl 6 and Parrot
  • quite a bit of enthusiasm from attendees about Perl 6 and Parrot
  • the initial guesses about attendance were wrong; we had to switch to bigger rooms for the Perl 6 stuff
  • LinPro sponsored the three-day hackathon
  • it went extremely well
  • Larry and I attended Gabor's Perl 6 introduction
  • I wanted to see where people would have trouble with Rakudo and the like
  • other people worked on various modules in Perl 6
  • we now have socket support in Rakudo
  • people can write web servers and clients in pure Perl 6, no PIR
  • quite a few people asked for something to do
  • we gave them challenges that they might not be able to complete
  • most of them all worked out though
  • we found lots of little bigs
  • we found some conceptual problems
  • we implemented a lot of new features
  • I worked with Gabor on integration of syntax highlighting of Rakudo in Padre
  • PCT now provides the information Padre needs
  • any PCT-based language could quickly get syntax highlighting through Padre
  • that works out very well
  • it took some time to get the design right, but Gabor took it from there and started doing amazing things
  • Jonathan and I cornered Larry on some issues
  • we kept asking him with hard questions and frustrated him with our ideas
  • at one point, he started banging his shoe on the table to get our attention
  • the prefix:= operator is gone -- iterate an iterator operator

Jerry:

  • I'm going to miss the prefix fish operator!

Patrick:

  • I'm going to write about it
  • when we were trying to nail down laziness in Perl 6 and its meaning, we realized that prefix:<=> was trying to solve two different problems
  • they're contextually related
  • but multidispatch makes getting context information more difficult
  • people in the tutorial found the syntax ugly, especially in a scalar assignment
  • reading a single line from a POD filehandle was even uglier: my $x = =$=podhandle;
  • it's now .get for a single item and .lines to read in list context
  • that makes the code much easier to read in general
  • the fish operator is now lines()
  • it's more readable for people who don't know Perl
  • as Masak has previously noted, whenever someone mentions the need for something (the desire for golf or obfuscation), he says "There will be modules."
  • we managed to put Larry's ideas about binding in place
  • that's been difficult in Parrot with PCT and PMCs as currently designed
  • I think things look better and simpler for us now
  • Larry seemed declined to support some things we thought we might have to support, in particular certain binding features
  • we'll clean up the binding syntax in Rakudo over the next couple of months
  • Jonathan and I spent one evening reviewing and updating the Copenhagen roadmap
  • I'll turn that into some readable prose
  • we'll have tha sometime this week
  • Jonathan finished his grant review and is waiting review from his grant manager

c:

  • oh, I know what that means...
  • I'll get to that

Patrick:

  • he's busy working on his next grant proposal
  • we spent a good amount of time clarifying things so he could finish up his grant
  • that largely happened at the hackathon
  • we made some PGE improvements
  • one participant was interested in quantifiers, so he did some of the hard parts of figuring out how to parse regexp quantifiers
  • fixed that in a few hours one day
  • a feature for people writing parsers
  • that closed a couple of RTs
  • I'll post in detail about the hackathon happenings in the next couple of days
  • it was very productive
  • lots of good energy from the participants
  • we had at least five or six people just hacking with Rakudo Perl
  • someone put together a pretty good XML parser
  • we also talked quite a bit about module distribution for Perl 6
  • no concrete plans, just broad brushstrokes
  • we're looking at something more distributed, like Git and GitHub
  • Masak has something in the works with his Proto module

Nicholas:

  • CPAN solves uploading and mirroring
  • it doesn't solve the distro problem as much
  • mapping uploads to different people and such
  • how do you lay things out on disk and figure out how to load them?

Patrick:

  • we didn't get to that level of detail
  • we're keeping it in mind as we go on
  • it'll come up sometime over the summer
  • very likely a YAPC::EU topic
  • working on Rakudo's release
  • expect to get that done in the next few hours
  • a little early, as we have several pending patches
  • no reason to hold the release in that case

c:

  • Perl 6 released early!

Patrick:

  • ~3190 new passing tests since the last release

Jerry:

  • let's see you do that next month!

c:

  • that's 100 a day

Patrick:

  • 2100 were Unicode tests
  • that's still over 1000 tests in the past month
  • several people asked how to port the stuff I did from Rakudo back into PGE
  • even without Unicode, it was a significant month
  • we'll have trouble matching this month's progress
  • we're passing tests people have already written
  • but people are adding new tests
  • the size of the test suite is growing
  • we're catching up
  • I'm almost to the point where we should look not at absolute numbers but at the percentage of the test suite

Nicholas:

  • that number's more meaningful externally
  • are you above or below 50%?

Patrick:

  • we're above 60%
  • 100% is a receding number though
  • some parts of the spec are woefully undertested
  • the next big chunk is fixing named argument passing
  • we can't handle all of those in the right way all of the time

Will:

  • Parrot 1.1 came out yesterday
  • general station keeping with coding standards tests and ticket wrangling
  • I think I fixed an IMCC bug which blocked lexicals with Unicode names
  • was a blocker for Rakudo
  • hope to steal some of Allison's energy to get Partcl building against an installed Parrot

c:

  • merged in some of the header cleanup work
  • have a lot left to go
  • will be editing the Parrot book in hopes of publishing it very soon

Will:

  • the PASM chapter has a lot of bad code in it

Allison:

  • I'm working on it now