Perl 6 Design Meeting Minutes for 05 December 2007

chromatic on 2007-12-14T01:00:07

The Perl 6 design team met by phone on 05 December 2007. Larry, Allison, Patrick, Jerry, Nicholas, Jesse, Richard, and chromatic attended.

Allison:

  • still working on the events implementation
  • a few days past the deadline
  • I have the event loop working, but I'm just cleaning up some backend stuff
  • improved the scheduler runloop just this morning
  • having a blast

Richard:

  • what is included? Signal handling?

Allison:

  • yes
  • also user-generated events
  • can be keypresses, any event you want, messages from async IO

c:

  • timers, etc.

Allison:

  • it was the December 1 milestone
  • I'm also implementing the concurrency PDD to help with the events milestone
  • that puts us ahead of the concurrency deadline
  • looks like I won't be doing the release this month
  • we're going to pull in some new hackers to do some release work
  • I'll work on the next PDD

Jesse:

  • who are the new people you're dragging in?

Allison:

  • smash is one of them, kjs is on the list
  • maybe Jim Keenan?
  • Will's putting out a call for more people

Larry:

  • things are pretty okay
  • the English-speaking part of my brain has turned back on
  • I polished up the State of the Onion and sent that off for Perl.com
  • I finally wrote the interview for Federico Biancuzzi that's six months overdue
  • answering a whole bunch of mailing list e-mail I've been putting off for weeks
  • no actual hacking this week

Patrick:

  • Perl 6 on Parrot compiler is now mostly NQP
  • really really cool
  • just a strong set of hacking over the past couple of weeks
  • I'm very happy with the way it works and the way it looks
  • I think the slowness is the parsing
  • likely something in the rules engine
  • Jerry has been hacking on the new version of the compiter quite a bit
  • he says it's much nicer than it was before, and I agree
  • I no longer feel like I'm writing code that no one else will be able to read
  • it's not always obvious, but it's easier to explain than most of the PIR code
  • more updates to the compiler tools suite
  • now you can put PIR inline with the Perl 6 functions in NQP
  • that came out much better than I thought it would have
  • we can write everything in Perl 6 syntax, except for a few things
  • with a few PIR instructions, the rest seems to work nicely
  • dropping in and out of PIR is compatible with Perl 6 syntax
  • it's really fun
  • we get to write Perl 6 code, and then we just put in some PIR to make it all better until we can write that part in Perl 6
  • spent the past couple of days rewriting the coding rules for the parser
  • interpolation, splitting on space, not splitting on space
  • that can get a little hairy
  • I'm pleased with how the code came out
  • it's understandable, even though it's all PIR
  • my next step is to help Jerry and others get the compiler passing all of its tests
  • at least where it was before
  • primarily working on documentation
  • that's the big thing people come in and look for
  • I'll work on docs or Pynie tomorrow on a four-hour plane ride
  • Pynie's not as primitive as abc or as complex at Perl 6

Jesse:

  • how much of the Perl 6 implementation is filling in small stubs?
  • is there a large amount of that to do?

Patrick:

  • we need a few more of the basics in there
  • they need more intimate knowledge of what's going on behind the scenes
  • we have the proper Perl 6 object model in place now
  • we couldn't do that easily before
  • there will be a lot of those things
  • adding generic functions and generic methods

Jesse:

  • I'd really appreciate a tutorial showing adding a medium complexity feature

c:

  • I'd be happy to write that

Patrick:

  • I'll identify one and then we'll put something together
  • useful and not trivial

Jerry:

  • things are wonderful
  • I'm having more fun now than I had in all of last year
  • the setup we have now with PCT and the Perl 6 compiler is a joy to work with
  • everything falls into place
  • we're making good progress
  • I'm looking forward to being able to add more contributors
  • getting various tests to pass from the sanity tests
  • the PIR to NQP conversion is still going
  • I'm working on the for statement now
  • Patrick and I talked earlier today
  • I have a good handle now on the structure of PAST
  • PDD 26 is descriptive
  • can't think of a single blocker

Patrick:

  • I'm letting Jerry do most of the implementation
  • just answering questions about it
  • that gives us someone else who understands it
  • gives me experience leading others through it
  • lets me focus on deeper issues
  • it's working out very well

Nicholas:

  • I think Perl turns 20 on the 18th of December

c:

  • hope to get the task scheduler algorithm in place in the next couple of days
  • it's a simple array-based heap
  • basically a solved problem in OS-based task schedulers

Richard:

  • does it seem worthwhile to find someone who will fund many hackathons?
  • I talked to Patrick about this a while back
  • I'd like to ship him around every couple of months to crystallize developer effort in useful directions
  • if you get one person fanaticized per hackathon, that's good progress

Jesse:

  • is this Perl 6 in specific or TPF?

Richard:

  • good question
  • I've noticed that grassroots hackathons have never had a specific Perl 6 focus
  • personally I'd prefer to focus on Perl 6
  • maybe saying that at least half of it will be Perl 6
  • we'll get Allison on a plane or Patrick
  • I'd like to at least do that much
  • we'll still need local organizers with time and effort to make it happen
  • it'll depend on where they want their volunteer efforts to go

Jesse:

  • might be good to offer the organizers of a workshop or conference money to organize a hackathon
  • lots of developers, done with talks, existing space

Patrick:

  • if someone can get me somewhere, I'm happy to go and present or organize
  • part of the Mozilla Foundation grant is to evangelize the project
  • I've tentatively committed to offer a Perl 6 track at the PPW next October
  • my biggest problem is conflicts with existing dates
  • I'll be in Brussels in February for FOSDEM
  • it's not too late to change my tickets to swing through somewhere else for a hackathon or a mongers group
  • if anyone hears about that, let me know

Richard:

  • we'll find new money to fund your travel and lodging

Nicholas:

  • given jet lag and the hate of transatlantic flights, is this a North American thing?

Richard:

  • we've funded things like the Amsterdam hackathon
  • I'll happily plan one wherever it makes sense
  • as for the key people, it might mean their plane ticket is more expensive and they'll arrive more jetlagged

Nicholas:

  • it looks like Rafael will have one more release candidate for 5.10
  • kp6 showed a big segfault in a massive hunk of generated code
  • not sure how to simplify that
  • is there a Perl 5.10 press release?

Jesse:

  • Simon Wistow has one just about ready to go

Nicholas:

  • we had a lot of translations for the one for 5.8
  • it was nice padding for newspapers and things

Jesse:

  • ask Simon to send that around for translation
  • commit it to the trunk
  • somehow get translators without turning p5p into a press release debating service

Nicholas:

  • some interest in bug bounties from the London Perl Workshop for the Winter of Code
  • is that something Perl 6 needs?

Jesse:

  • let's see how well the bounties work before complicating it first
  • no call on Boxing Day
  • we'll see about the second of January

Richard:

  • about the inlining of PIR into NQP...
  • how does that work?
  • doesn't the PIR have to be compatible with what's generated on either side of it?
  • needs to be aware of its context?

Patrick:

  • a little bit
  • it's not too bad
  • PIR has intstructions to fetch and store lexical variables
  • you say that you need $x into PIR, fetch it into a register, then manipulate it
  • you do need to know the context
  • but it's easy to do
  • you can create lexical variables and the remainder of the subroutine can access them
  • once you see an example or two, you can do it for yourself
  • you can write an entire subroutine in PIR but let NQP/Perl 6 handle all of the calling conventions
  • we'll have some examples of that
  • I'll answer this in more detail in a journal post