The Perl 6 design team met by phone on 09 May 2007. Larry, Nicholas, Jesse, and chromatic attended. These are the minutes.
Allison:
- have reduced my workload and am taking some time off
- working on C patches to Parrot this week
- spent some time on a big set of bugs on a little-used set of code paths
- working on the PMC PDD; will check that in today
Larry:
- thinking a lot about a few things
- mostly to do with deep semantics of overloading
- when you generate
- how to specifiy that so as not to get infinite regress
- ties into the notion of having a prelude which defines everything in terms of everything else
- you need to break that circularity somehow
- but you don't want incompatibility between different platforms which break that in different ways
- also thinking about how ugly the chunky list syntax is
- if you use something in a
for
loop, it does the right thing if you use a regular for
loop but the wrong thing with a modifier
- with one argument, you can't get a useful cross product out of it
- something's a little screwy on the defaults there
- maybe the default ought to be chunky and not flattened
- or maybe the evil is deeper than that
- the usual working with people to keep them moving along
- also thinking ahead to what I'll say at the various conferences
c:
- fixing a few bugs in Parrot
- hope to implement more of PDD 15 before the release
- looking for a few more testers, especially for some weird FreeBSD bugs
Nicholas:
- Gerard Goosen is still playing around with MAD
- he has a few questions
- is anyone available to replace Ann as summarizer?
Jesse:
Patrick:
- looking at Larry's new grammar and the S05 changes
- I think that means a substantial change to the current Perl 6 work
- coming up with a small subset of Perl 6
- now that I see how to fold it into the grammar, I can use that to do the PGE tree to PAST process for the Perl 6 compiler
- that's a lot easier to hack on than using PIR in TGE
- I did a simple of experiment with F and it looks nice
- I went from 20 or 30 lines to 2 or 3 in spots
- I can check that in tomorrow morning
- I'm trying to figure out how to do that in the context of the bottom-up parser
- I'll have to look at the standard Perl 6 grammar to figure that out
- that's the remaining piece
- I'll check that in tomorrow, even if it's not complete
- it's a draft for comment
- "Oh, I'm done! I think I want to do it this way!"
- there are some syntax things to work out
- trying to maintain a clean separation from the grammar and the parse specification is tricky
- I want to keep those somewhat separate, or at least separable
- as far as implementing it, I don't think it will take long at all
- the Perl 6-like language I'm using almost all exists in the Perl 6 compiler right now
- I can strip out big pieces to get that bootstrapping done
- I plan to have a lot of that done in the next week and a half
- I want to have it hackable by next 17th
Jesse:
Patrick:
- getting reactions when I post it tomorrow
- you don't have to know a lot of Perl 6 to review it
- ideas about syntax help
- I'll write up what my thoughts are as prose
c:
- the Perl 6 compiler list might be good
- which parts of TGE did you replace?
Patrick:
- from the parse to the AST, you don't use TGE at all
- you use the mini-Perl 6
Allison:
- from then on you use TGE
- you can use mini-Perl 6 within TGE after that
Patrick:
- yes
- you build your mini-AST using the mini-language
- then you use TGE
- in the grammar, you build a bunch of objects with Perl 6
new
statements
- methods on a class
- how Parrot will do things soon
- I already have method indications working in the Perl 6 system now
- the only tricky part is parsing parameters
- after we play with this a bit, it'll give us more insights into how we want TGE transformations to look
- I will want iterators and generators at some point
- I need to look into that soon
- maybe not by the 17th
Allison:
Patrick:
- the implementation
- the syntax will look like
for
- I'll ignore the Iterator class in Parrot
c:
- we have an Iterator class in Parrot?
Allison:
- write your iterator in PIR and we'll port it back to Parrot
Nicholas:
- why don't you write most things in PIR and port them to C?
Allison:
- we'd like to
- the PMC PDD will help that
Patrick:
- the Capture and CodeString PMCs would be good
- they probably would speed up PGE substantially
- you can replace 20 to 30 PIR operations for every line of code into the equivalent C code
c:
- that could be an order-of-magnitude improvement
Patrick: