The Perl 6 design team met by phone on 07 May 2008. Larry, Allison,
Patrick, Will, Jerry, Nicholas, Jesse, and chromatic attended.
Allison:
- spent my time this week slicing and dicing the exceptions implementation
- replaced the old internals with the new system
- checked that in yesterday
- still a few failing tests in edge cases on the branch
- did more work on the Parrot Foundation
c:
- I own an acre of Mars, we could incorporate there
Allison:
- don't you own a cow in the Philippines?
c:
- yes, but that doesn't give me any governmental powers
Patrick:
c:
- the peso is improving against the dollar
Jesse:
Larry:
- clear bill of health from my medical reports
- hacking a lot against the standard grammar in my STD5 implementation
- lots of refactoring
- all of the various parameters that used to go through separately now go through as part of the Match object
- including the "fate" and whether we're peeking at the longest token set
- the longest token matcher works now
- I threw out my old mechanism for gathering Match objects
- it now creates the more-or-less correctly
- lots of grammar tweaks, as suggested by Mitchell Charity
- lots of refactoring of how logging works so that it doesn't always spew enormous quantities of information to the screen
- I can actually run the parser quite quickly now, for some definition of quickly that approximates 2000 characters per second
- matches symbols directly, rather than calling a rule, which is faster
- does the backoff now on longest token matching
- started refactoring the grammar on the assumption that I cna trust the longest token matcher
- no longer any
nofat
rule
- the longest token should match the fat arrow, if there is one
- started refactoring the quoting rules to parse as if they were sublanguages
- getting rid of extra rigamarole to recreate the other mechanism we already use for other languages
- working out the linkage for switching in and out of sublanguages
- how to get to the outer language from the inner language
- calling into pure Perl from closures in a regex
- or the host language if you're calling the regex from another language
- nailed down the available methods for Match objects in the specs
- giving a talk in Seattle on Friday at SPU
- flying to Japan on Saturday
Patrick:
- spent a lot of time teaching this past week
- cleared up now
- mostly I've answered questions on mailing lists and IRC
- I'm not always sure that I'm helpful, but I'm there
- yesterday I worked on trying to get a bunch of little small things here and there
- fixed up a few things in PCT internals
- today I'm bringing PGE up to date with some of the latest changes in S05
- these all help Rakudo and other languages in small ways
- trying to clean out my backlog and clean up a bunch of RT tickets
- I'll continue over the next couple of days
- and blogging about it as I go
Jerry:
- things are busy, mostly non-Parrot related stuff
- submitted a ticket that I hope Patrick can close today
Patrick:
- many languages depend on the old behavior, including Plumhead
- I'm not certain about some of them
Jerry:
- mostly otherwise answering questions on #parrot
- making sure that things are set up for the real work phase of GSoC
- making sure that students have their CLAs, if not commit bits
- astonished to see how much work Jonathan is getting done in just two funded days
- it's amazing to see how much a motivator money can be
- I'd like to see more of it, hint hint
c:
- working on closing as many open Parrot bugs as possible
- applying as many open patches as possible
- should be able to help on the concurrency branch soon
- otherwise preparing for the release
- going to check on received CLAs this week
Nicholas:
- found it curious that Perl 5.10 has the best
state
implementation of any language
- wanted to steal tests from another implementation
- had a discussion with Leon about SMOP
- there's no real description of how all of these implementations fit together
- Rakudo plus Parrot is a complete implementation
- SMOP and kp6 fit together nicely
Jesse:
- I started a wiki page on the Perl 6 wiki at Perl_6_Implementations
Patrick:
- I don't know that it says how things fit together
Jesse:
- I tried to encourage other people to contribute stuff
- didn't get much uptake
Nicholas:
- should we suggest to Daniel that he should help explain things?
Jesse:
- that's more likely to get people contributing to it
Will:
- there's definitely some confusion about it within the Grants Committee
Jerry:
- SMOP has the highest documentation-to-line-of-code ratio of any implementation
Patrick:
- it needs a good overview though
Nicholas:
- I'll ask Daniel to explain more
- especially its relationship to Parrot and Rakudo
Jerry:
- it sounds like it could be an alternate runcore for Perl 5 as well
Jesse:
- tried a few different things
- decided to write a test for Rakudo
- tried a simple arithmetic test pulled from Pugs
- found that Rakudo didn't implement a function specified in the S29 draft
- Patrick helped me write a couple of lines of code to implement it
- then discovered that fudge didn't support try blocks in a specific way
- Larry patched that
- then found that incrementing an undefined value didn't work in Rakudo
- that was the end of my day
- I still need to write up my findings
- how easy is it for someone without experience in Rakudo and its internals to pick things up and contribute something?
- more difficult than I thought it might be, but it's getting more doable
- it's important to understand how it might fail before trying to get people to do it
- then I started trying to play with MAD on the weekend
- found and fixed a bug in its XML
- refactored it such that you can run MAD's tests in the core if you add a copy of XML::Parser to the core
- it's not far enough yet, but it's a start
Nicholas:
- is it going to be difficult to restructure the Parrot foundation from 501(c)(3) to 501(c)(6)?
Allison:
- you can do pretty much the same thing
- sponsors are on the board in a c6
- they're only advisory in a c3
- the sponsors we've talked to are mostly only interested in getting regular status reports and the like
Jesse:
- is there any jumping around to transfer copyright to the new foundation?
Allison:
- we'll do a copyright assignment from the Perl Foundation to the Parrot Foundation
- all of the CLAs that went into the code up to the point of signover will be fine
- but we'll essentially copy the Perl Foundation CLA to a Parrot Foundation CLA
Will:
- do we need to contact committers who haven't signed a CLA?
Patrick:
Allison:
- still under the Perl Foundation
- it doesn't move at all
Will:
- do we want to split up the repository at that point?
Allison:
- eventually, we'll want to do so anyway
- it's not an urgent thing
Jerry:
- what would it take to version a Perl6Regex frontend to PGE?
- let grammars specify a version of the grammar
Patrick:
- I did that before by having a separate compiler
- you're talking about something a bit finer grained
- I don't want to do that
- as we get closer to 1.0, that'd be fine
- I already have enough to do keeping up with the latest versions
Will:
- I don't think we want to keep up old versions
Patrick:
- I don't mind sticking to our deprecation cycle
- I hadn't put the change from today into the deprecation list yet
- we'll get to it in a couple of weeks
Jerry:
- just trying to figure out how to push forward with changes to PGE without having to update every language in the repository
Patrick:
- freeze S05?
- not a great solution
Larry:
Patrick:
- the last few changes have been great
- I'm not really serious about that
Larry:
- some of them you even asked for
c:
- it's an advantage to have these languages in the repository
- we can update them
- but only if we can run the tests before and after and know that they pass
Will:
- we might consider removing languages with failing tests and no recent updates
- there are 17 grant proposals, some of them Perl 6-related
- please comment on the TPF blog
- it'll help
Jesse:
SMOP
nicholas on 2008-05-09T21:18:15
Nicholas:
- I'll ask Daniel to explain more
- especially its relationship to Parrot and Rakudo
I did this. Foolish mortal that I am, I also volunteered to update the wiki with Daniel's e-mail explanation, so it now has a longer introduction to SMOP.