Perl 6 Design Notes for 19 March 2008

chromatic on 2008-03-27T04:55:19

The Perl 6 design team met by phone on 19 March 2008. Larry, Allison, Will, Mitchell, Jesse, and chromatic attended.

Larry:

  • indisposed last week
  • getting half a gallon of blood put into me in the hospital last week
  • had various tests, all negative, so probably something not too terribly obvious
  • going in for a lower endoscopy in a week or two
  • will probably know more then
  • probably something benign that's just leaking blood slowly
  • I do feel better than I did a week ago
  • it's amazing how much more quickly I can walk, when my blood doesn't think that I'm up at 14,000 feet altitude
  • hopefully thinking more clearly too
  • or at least less unclearly
  • mostly getting caught up and doing some spec clarifications about the semantics of list assignment to arrays
  • what you can or can't assume about the batching of asynchronous read operations
  • did throw in one new feature this morning
  • I wanted badly when I wrote a Perl 5 program last week
  • there's no easy way to say "match as much of this string as you can, then pretend as if you succeeded, ignoring the rest of the string"
  • it's very useful for matching abbrev. and such
  • each subsequent character is optional, but only if the previous one matched
  • nested optional characters

Jesse:

  • we've had some horrible hacks to work around that

Larry:

  • I put in syntactic sugar for that
  • we'll see how it works in practice
  • tried to figure out which rules can be rewritten and which can't, reliably
  • thinking about the future of the bootstrap I've been working on with standard 5
  • trying to figure out what the blockers are on bootstrapping
  • next travel is to YAPC::Asia
  • will stop in Seattle

Mitchell:

  • struggling to get to a usable Perl 6 implementation
  • tried to use the Rakudo parser and dump the parse tree, to go to a separate backend
  • making pretty good progress
  • the parser is a bit slow, though
  • 40 seconds to parse 700 lines of code
  • not quite tractable
  • back to looking at a hand-transliteration of STD.pm into Ruby
  • it's starting to gel
  • may be a new attempt this week to use a slapped on backend to get to a usable Perl 6
  • whenever standard 5 matures, it can be swapped in for the Ruby parser

Jesse:

  • is there anything anyone else can do to help you on this?

Mitchell:

  • once it can do Perl 6, there's a world of possibilities
  • until it actually runs, there's not much for anyone else to do

Allison:

  • working on the Unicode/character set PDD
  • gradually changing its name to just "strings"
  • Simon had a very good first draft

Jesse:

  • does he know you're working on it?

Allison:

  • I'll mail him
  • gave a talk at Microsoft to their DLR/CLR groups about Parrot
  • then met with their open source lab
  • they'll do smoke testing for us on several different versions of Windows

c:

  • we released Parrot 0.6.0
  • most of the big changes are in the PMC PDD, which landed
  • we've also had a big push to close new and old bugs in our system
  • should give us a lot of energy in the near future
  • right now I'm looking at a way to profile Parrot apps at the PIR level
  • good optimizations available there only after we can measure them

Mitchell:

  • did you look at KCachegrind?

c:

  • I did, also the Devel::DProf format
  • the big work so far seems to be instrumenting Parrot appropriately to detect spots where we need to measure things
  • haven't yet decided which output format to use
  • Valgrind is necessary if you use the Cachegrind format from KCachegrind

Will:

  • TPF is now an official part of GSoC 2008
  • haven't seen any Parrot or Perl 6 specific hits for the Summer of Code
  • I'll send out something to the Parrot and compiler lists trying to recruit students

Mitchell:

  • is there a way to send mail to Perl Mongers groups?

Will:

  • I think Eric sent mail to the monger managers
  • are there any Perl 6 or Parrot talks that aren't on the schedule yet for YAPC?

Jesse:

  • maybe "getting started with a little language"

c:

  • or "implementing a Perl 6 feature"

Will:

  • I'll send mail to the lists