% mdiep has joined #parrotsketch % autrijus has joined #parrotsketch sketch in 30 mins? * autrijus tries to not fall asleep % leo has joined #parrotsketch hi all hello hi right then. Allison is on a plane. My bet is that nick is on hte tube Allison asked me to paste her report from use.perl I've checked in the code to transform Punie match objects into AST trees. The core pieces are: * A tree grammar for the transformation in languages/punie/lib/pge2past.g * A series of AST nodes in languages/punie/lib/PAST/ * A script that parses a Punie source file, transforms the match result into an AST tree, and dumps the tree in a text format for verification. This is named punie2.pir, because it's still not far enough along to replace punie.pir. So, if you run: parrot punie2.pir demo.p1 You'll get a match object something like: "$/" => PMC 'PGE::Rule' => "print 1;" @ 0 { => PMC 'PunieGrammar' => "print 1" @ 0 { => PMC 'PunieGrammar' => "print 1" @ 0 { => PMC 'PunieGrammar' => "1" @ 6 { => PMC 'PunieGrammar' => "1" @ 6 } [0] => PMC 'PunieGrammar' => "print" @ 0 } } } And an AST something like: => { 'source' => 'print 1;', 'pos' => '0', 'children' => [ => { 'source' => 'print 1;', 'pos' => '0', 'children' => [ => { 'source' => 'print 1', 'pos' => '0', 'children' => [ => { 'source' => 'print 1', 'pos' => '0', 'op' => 'print', 'children' => [ => { 'source' => '1', 'pos' => '6', 'children' => [ => { 'source' => '1', 'pos' => '6', 'value' => '1', } ] } ] } ] } ] } ] } In these source is the chunk of source code from the original file corresponding to the current node (good for error reporting), pos is the offset from the start of the source file to the point where the corresponding match node started to match, and children is a list of child nodes for the current node. Some node types, like PAST::Op and PAST::Val have custom attributes. I've still got some time left to work today, so I'll start on the OST now (though, I probably won't bother to post about it unless I run across something exciting). And that's allison's report Who can I pick on next? leo: you here? yup me too :) What's new and exciting? all boring (Then I'll ask autrijus, so he can not worry about falling asleep) *g* finished dynlexpad - interops with standard pad aka .lex vars refined introspection e.g.: pad = interp["outer"; "pad"; 3] pad = interp["outer"; "lexpad"; 3] sorry next was imcc cleanup - tossed about 200 lines related to 'bsr' and finally I experimented a bit with optimizing get_params with the help of PIC and code rewriting gives a fine speedup EOR my turn? yep go for it as my journal indicated, 90% of free time is tied up to paying $job at this moment. expect free from Friday onwards for 10 days, then sink back to $job until end of January the remaining 10% was spent on PIL2, in particular turning it from a functional calculus into an object calculus in particular, this makes anything object potentially act as a function. also need to chase IMCC again -- the previous abstraction of PIR language is kinda stale but it sounds like allison is already doing that part of work as POST so was intending to ask her also chip popped on #perl6 today inquiring about parrot targetting and I missed the call; will be glad to answer things if chip is around not blocking on anything really, except for time available EOR ok. chip, you here? patrick? matt? yep hey matt. what's up? % coke has joined #parrotsketch as of ~20 minutes ago, Tcl has implemented pdd20 and is passing 100% of tests ooooh! woot with much help from coke and leo Very cool What are you folks blocking on? we spent a lot of time on the changes I don't think we're blocking on anything currently. Give us some time to catch up from all the changes. :-) Very cool on the namespace front, chip finally got back to me he added some things to the draft I sent him. I need to add/change around a few things and then the next draft will be sent to p6i ^D chip?  alternatively, questions? hi guys hey chip woot yo chip I'm updating pdd03 and looking forward to matt's next revision I'm also realizing that in the long term (not necessarily yet) exception handling should be based on an exception table with ranges of opcodes, rather than dynamic opcodes like push_eh. Exception handling can be a bit more expensive, if it makes the straight code case faster not blocking. also, I'm appreciating the flow of code ... nice work guys cool. I'm going to drop out shortly due to a tunel (autrijus, the question turned out to be self-answerinhg, but thanks anyway) Can I harass you about getting the milestones doc updated? * chip considers himself harrassed Ok. I'll mail you the small segment that wants comments. DIVE DIVE DIVE (tunnel) chip: return() and next() are exceptions also so I'm curious about the opcode range idea return is not handled like one; next, yes ... frankly I think it'll make everything faster. static good, dynamic bad but as it's long term, I'm not too worried :) autrijus: see gcc http://gcc.gnu.org/onlinedocs/gccint/GIMPLE-Exception-Handling.html # this? so by "range of opcodes" you actually mean "opcodes" no problem then. static good :) Right then. Anything else? If not... * obra bangs the gavel Until next week. (When I may be in Germany) cool. thanks obra! % rafl has left rafl!~rafl@feather.perl6.nl % chip has left chip!~chip@feather.perl6.nl % autrijus has left autrijus!~autrijus@feather.perl6.nl % rafl has joined #parrotsketch % autrijus has joined #parrotsketch % chip has joined #parrotsketch % leo has left #parrotsketch