Perl 6 Design Minutes for 14 May 2008

chromatic on 2008-05-21T20:01:38

The Perl 6 design team met by phone on 14 May 2008. Allison, Richard, Patrick, Jerry, Will, Nicholas, and chromatic attended.

Allison:

  • working on the exceptions implementation for the concurrency branch
  • also the Parrot foundation

Richard:

  • trying to drum up funding for the Perl 6 paupers
  • something's happened along these lines
  • an anonymous member of the Perl community brokered a deal with a philanthropic business acquaintance
  • I put together a pitch describing what we could do productively with a donation
  • the money arrived yesterday
  • half of it will go toward supporting Perl 6 development in a variety of ways
  • mostly direct developer granting, like Patrick's grant
  • the other half is for TPF use to improve organizational capabilities internally
  • there's a lot more potential for funding
  • orders of magnitude more
  • that'll take us over the finish line
  • though TPF is not a paragon of activity and organization
  • we'll use it to improve to make us more credible to the rest of the world
  • and potentially more developers
  • want to go from a handful of grants like this to something larger
  • I'll spend the next week or so making plans
  • we'd like to start getting some of that out over the next few weeks

Patrick:

  • outstanding work
  • you'll go down in history for this

Jerry:

  • will they money go out through the grant committee?

Richard:

  • I don't think so
  • this will be as directed by the board

Jerry:

  • is there a PR plan for spreading this news?

Richard:

  • I hadn't thought of that
  • I'd like ideas for helping with that

Jerry:

  • it's easy to post to web sites
  • it might be good to give brian d foy a heads up for TPJ, too

Richard:

  • I'm trying to do similar things for Perl 5
  • this particular donor had a specific interest in Perl 6
  • the half of this we're using to improve TPF will help Perl 5 as well

Nicholas:

  • I hope the positive feedback will encourage other people to do the same for Perl 5
  • presumably they're already using it and want to contribute back

Patrick:

  • busy week here
  • focusing specifically on Rakudo
  • helping other people hack themselves
  • added fat-arrow parsing, so now that works for passing named parameters
  • added signature default values
  • no more crazy MMD stuff to get that working
  • worked on the test suite
  • started at the beginning, Synopsis 2 cleanup
  • making notes for others on things to do and not to do
  • tried to close out old tickets, did about 18 Parrot-only tickets
  • some updates to PGE to bring in S05 changes
  • Tene added placeholder parameters to Rakudo
  • surprised and pleased me to see that
  • he found a problem with hashes versus arrays in PCT
  • I did quite a bit of work to improve PCT code generation
  • substantial improvements there
  • generates much nicer code

c:

  • there are some speed improvements there
  • they're hard to measure, but they're there

Patrick:

  • we're creating many fewer elements there
  • especially in places like loops

c:

  • we don't have many long-running benchmarks that would demonstrate that
  • if we did, you'd really notice it

Patrick:

  • it's been in the back of my mind since I started writing PCT
  • it makes for nicer looking PIR code, if you like PIR code
  • now I'm writing some journal posts to describe this to the wider community
  • I don't know if anyone saw it, but there was a Twitter post that singled out TPF for its organization for Google's Summer of Code
  • Jerry should get some credit for that for Parrot

Richard:

  • I've talked to Eric Wilhelm a lot over the past few weeks
  • he's doing a great job
  • this has been his full-time job over the past few weeks
  • that's why we're not always this organized
  • very seldom do we have someone who can make such a thing a full-time job
  • simple matters of organization often aren't

Jerry:

  • worked with Allison on research for the Parrot Foundation
  • she interviewed a lawyer to help set up the incorporation
  • work has been lighter this week
  • spent more time on Parrot and Perl 6
  • haven't had any significant commits
  • began to rewrite mod_parrot's configure system for flexibility and portability
  • hope to get it compiling on Windows
  • shouldn't be difficult
  • Patrick and I discussed making HLL type mappings available in IMCC

Patrick:

  • PIR doesn't seem to have a way of finding HLL type maps
  • PCT needs to move something from a register into a PMC
  • equivalent types, as far as the HLL is concerned
  • there doesn't appear to be a way to do that
  • without the HLL person repeating the mappings in PIR
  • violates DRY

Jerry:

  • I think I see a way of implementing that
  • the major problem is that, internally, the PMC types are still type IDs
  • not string names
  • I might have a short-term fix
  • the long term is to get rid of type IDs internally
  • it's easy enough to expose that through interp_info.pasm or something

c:

  • let me know if you need help

Patrick:

  • also remember that class names are not always strings
  • they are now, but the won't always be

Will:

  • I'll try to unstick the type ID removal branch later this week
  • mostly I've been doing queue management, which is not exciting

Patrick:

  • I'm excited about seeing the number go down

Will:

  • we've closed an enormous number of tickets in the last week
  • yet more tickets keep coming in
  • what's wrong with these users?

c:

  • spent some time closing bugs and applying patches
  • need to go through open patches and make sure they're all closed
  • probably won't make much of the Bug Day
  • backported yada yada yada operators to Perl 5, waiting for someone to apply them
  • managed to speed up the Rakudo-building benchmark by about 40% yesterday
  • hope to get onto the concurrency implementation soon

Nicholas:

  • talked to Daniel Ruoso and stuck his response on the wiki
  • otherwise busy with a potential move

Patrick:

  • Jerry, are you still planning to reimplement abc to use the language shell tool?

Jerry:

  • yes
  • I plan to update the tool to include an operator precedence parser
  • not sure if I should couple those changes

Patrick:

  • I'm thinking of updating the tutorial
  • kjs's tutorial is great
  • I just want another one
  • I don't want to step on your toes

Jerry:

  • I plan to make my changes
  • then apply the revised tool to abc
  • I'll turn my attention to that next

Patrick:

  • we should knock that out pretty quickly

Jerry:

  • what's your plan for this release?

Nicholas:

  • are you in a position to type things from this release to last release?
  • or should I ask Patrick?
  • you've sped up a lot of things

Patrick:

  • Rakudo gets bigger over time
  • there's quite a bit more code there than there was last month

c:

  • there are a couple of ways to do that
  • we could plot the ratio of time per feature over the release numbers
  • that's not too difficult
  • otherwise, we could take the current PGE/PCT/NQP/Rakudo and run it on this month's release versus last month's release
  • or run last month's toolkit on this month's Parrot

Patrick:

  • I can do that
  • already thinking of ways to do that

Nicholas:

  • Damian was talking about negative time last year
  • you guys are doing it!

c:

  • the big improvement is likely in the new garbage collector

Jerry:

  • Andrew and Patrick should have a race

Patrick:

  • longest token matching will help languages
  • that's on my agenda for later in the summer though

c:

  • remember that these are only Parrot-level improvements
  • we haven't even started on PIR-level improvements
  • because we can't profile it easily yet
  • I suspect there are plenty of trivial 10 - 20% optimizations we'll find in hotspots there