Perl 6 Design Minutes for 09 April 2008

chromatic on 2008-04-10T23:39:21

The Perl 6 design team met by phone on 09 April 2008. Larry, Allison, Patrick, Will, Jerry, Jesse, Nicholas, and chromatic attended.

Larry:

  • trying to support John Dlugosz's clarification work on the spec
  • working over the STD 5 grammar
  • have it parsing statement lists now
  • mainly revising the arcane quoting parsing mechanism it currently has
  • plenty of refactoring and cleanup there
  • re-evaluating how the tiny microlanguages floating around work
  • the regular expression grammar is one sublanguage, a derived language
  • there are all these dynamically-scoped minilanguages with terminators
  • those tend to change depending on context
  • trying to get those terminators to pass up and down the hierarchy efficiently and independently of other sets of tokens, while at the same time meshed in with them is an interesting challenge
  • mix them in with the current set of longest tokens against which you're matchin?
  • or give your set of terminators a higher precedence?
  • an interesting little problem
  • mixing them in might make you regenerate your lexer continually depending on your lexical context
  • but if you mess with precedence, you might recognize a terminator that's actually a prefix of a longer token
  • that could be anti-social
  • plays out with all the quoting
  • all these little minilanguages depending on which switches you've turned on
  • if not terminators, it's at least sets of escape sequences
  • also recognizing the terminator at the end of the string
  • needs to be a dynamic solution there
  • either integrated or not with the longest token solution
  • also thinking ahead to the talks I'm giving over the next few months

c:

  • did a little library work in Parrot
  • trying to write in my journal more about it
  • waiting for a list of small implementation tasks for new features
  • will work on some polishing for next week's release
  • still poking at profiling, but it's a bigger project to do right than people think
  • thinking about how to revise our test suite

Allison:

  • did some work on the strings PDD
  • just have to check that in; I'll try this week
  • spent several hours with Jerry on Sunday
  • put together a list of milestones after the current set
  • these are the key, critical milestones for 1.0
  • talked a little bit about Parrot Foundation ideas
  • giving a talk about Parrot at LUG Radio Live on Sunday

Jerry:

  • working with Patrick on PAST syntax
  • Jonathan has done some work on typing with Rakudo
  • he's working out a couple of bugs
  • he'll start on type-based MMD soon, per my request
  • preliminarily we're getting five slots from Google for SoC
  • we're hoping for more, because we have 16 good applications
  • we'll know more by the end of the week
  • preparing for the next release next Tuesday
  • should go smoothly

Patrick:

  • finished and posted the Mozilla Foundation report to my journal
  • made my travel arrangements for the summer
  • also speaking at the Texas Open Source Symposium on April 26
  • cleaned up some RT tickets, applied some backlogged patches
  • catching up on messages received while I was away
  • still some Warnocking going on; trying to fix that
  • checked in a patch to Rakudo which tells NQP to treat the input files as ASCII, not Unicode
  • speeds up parsing by about 28%
  • chromatic, can you profile the results and see what pops up?

c:

  • I will
  • if there's anything at the C level that looks fixable, I'll do it

Patrick:

  • had some talks about smoke testing and such
  • getting smoke testing of Rakudo is important now
  • we can get a web page up with our status so people can see what works
  • I'm banging the drums to getting that working, even if I have to do that myself
  • doing some cleanups and enhancements to PCT
  • closures, for example
  • making things more robust
  • need to review patches to Rakudo
  • their ability to develop outstrips my ability to review
  • good problem to have
  • it'll take me a little while to catch up
  • in the back of my mind, I'm playing with ideas for PGE
  • how to integrate longest token match
  • if it's possible to emit code that runs on a different backend
  • C might be faster
  • might run on a different VM
  • that's a ways off though
  • I want longest token matching first, sometime this summer

Will:

  • TPF has grant proposals open now
  • any Perl 6 publicizing we can do is a good thing
  • regarding the Smolder grant, one of the original deliverables was setting up Smolder for a project which doesn't make sense for Smolder anymore
  • someone's working with the project to set up Smolder for Parrot now instead
  • no one on the Grants Committee is complaining

c:

  • what's the opposite of complaining? I'm doing that

Richard:

  • am I surprised you don't know the opposite of "complaining"?

Will:

  • I managed to get access to update the Macport of Parrot
  • we'll be able to get the current release in there now
  • it's two years out of date at the moment
  • code-wise, ripping out all of the deprecated features that I can
  • also proposed a new opcode syntax, but had no feedback on it

c:

  • made sense to me
  • I didn't reply because I wanted to look at the opcode you mentioned
  • I can't imagine how it could possibly work
  • I just haven't proved to myself that it doesn't

Will:

  • me too
  • probably not tested

Richard:

  • Patrick, I encourage you to look at Smolder for what you want with Rakudo

Patrick:

  • I did, and I'm thrilled
  • the grant behind it is great

Richard:

  • putting in effort on acquiring TPF philanthropy
  • a large chunk would go toward Perl 6 development
  • hopefully soon we can make announcements on the usual channels about success

Jesse:

  • CLKAO and I wrote about a thousand lines of code daily each for the past week
  • looking for a thermometer about features and milestones per Audrey's Pugs Apocryphon 1
  • nice way of giving people a high-level view of how things are going
  • she had seven, each corresponding with a major version of Pugs
  • I'm looking for an equivalent view for Rakudo

Nicholas:

  • where can a symbol be both a terminator and the prefix of a longer symbol?

Larry:

  • regular expressions have && and ||, but we have & and | of tighter scope
  • if the lower-level rule looks for |, it'll see that in ||
  • but it can't see that if there's a || which terminates that expression
  • if you have a quoted construct and something that interpolates based on a multi-character token, parsing could hit that
  • it's more in terms of regular expressions
  • dipping into sub-languages in general
  • how do you terminate a block of APL plopped into a chunk of Perl code?
  • maybe an unmatched right brace corresponds to something in APL
  • you need a way to guarantee policy one way or another in those

Nicholas:

  • like the C++ annoyances about >>

Larry:

  • you can have an assertion in angle brackets that contains something in angle brackets

Nicholas:

  • looks like right shift

Larry:

  • especially as double angle brackets by themselves can be their own token

Nicholas:

  • will these new grants for TPF occur under the new grants scheme?
  • the 2008 Q2 grants?

Richard:

  • there's been some discussion about that internally
  • it won't happen in full this quarter
  • I've suggested that Alberto ask all grant submitters if they're comfortable having their proposals discussed publicly for now

Nicholas:

  • I know Andy Armstrong and Merijn worked on parallel testing at Oslo QA
  • I know TAP::Harness can run all tests in parallel
  • the Perl 5 core needs an API to say that some tests had to run in parallel
  • that API is tricky
  • they may have solved it
  • the Perl 5 core runs into problems with temporary file collisions

c:

  • we have the same problem in Parrot
  • not necessarily the PIR files written by the Perl 5 test drivers
  • but it's solvable

Nicholas:

  • Andy Armstrong used DTrace on Mac OS X to find these
  • checking file opens and closes