% particle_ has joined #parrotsketch % particle has left particle!~particle@c-24-19-12-148.hsd1.wa.comcast.net % particle_ is now known as particle % particle has left particle!~particle@144.81.84.132 % particle has joined #parrotsketch % pmichaud has joined #parrotsketch % obra has joined #parrotsketch % allison has joined #parrotsketch hi all who's here? we're waiting till 1830gmt, is the meeting early? I'm here oh, time change yes, I forgot about the time change also :-) my report is short, anyway vacation does that :-) * allison exits her calendar alarm s/exits/edits/ % chromatic has joined #parrotsketch * obra has a brief report today ! I show 18:35 Time to go. Coke said he would not make it to day s/to day/today/ * jonathan_ is here * particle too Let's go in alphabetical order. ALLISON I've been working through some great comments on the objects PDD from particle and jonathan. % smash has joined #parrotsketch I'm catching up on the mailing list at the moment. EOR I've poked at some weirdly designed parts of the system. STM is a subject of curiosity, but I think we have part of a solution for part of it. I also revised the Parrot::Embed build process to use Perl's ExtUtils::MakeMaker for in-tree builds. I'm not sure how it works on Windows, but it ought to be much closer. I don't have RT perms to close bugs. Yet. Finally, I'm adding an import() method to NameSpace. Next: jonathan_. I have Parrot time again, which makes me happy. Been working on implementing PDD15, but that required a detour... * Discovered that PMINVOKE didn't actually work, so fixed it. * Later discovered that PMINVOKE and PMETHODs in general had GC issues - if GC ran while you were inside one then,h the register set of the caller (and its callers, etc) never got marked. Fixed this too. With this sorted out, PDD15 work progressed... * Adding attributes works * Can call .new() on a class to get an object * Builds the attribute lookup table on instantiation * Attribute lookup cache implemented too * Started stubbing in inheritance, but had questions on MRO - sent my thoughts to the list to seed discussion (successfully) * Spent some time thinking on inheriting from PMCs, have a couple of ideas for how it can work cleanly, but nothing fully coherent yet * Sent a few other random ideas and clarification requests for PDD15 to Allison * Tried to set Parrot::Embed on Win32, but I think my Perl installation is br0ked My stuff I want to do list is huge, but next week is... * Document PMETHODs, and maybe add a few comments to the implementation too so other people don't have to spend so long before digging in to it * Need a way to easily call a PMETHOD from C * Continue implementing PDD15 - next step is methods, maybe then I start on roles and flattening composition, which is the part of this I'm most looking forward to making work Doubt I will make ParrotSketch next week, but it's for a worthy cause - I'm at the UKUUG Spring Conference talking about Perl 6. returncc leo? jonathan++ jonathan++ # fantastic work Probably no Leo. mdiep? I'm impatient. obra? As everybody knows, about two weeks ago, I decided to step back from parrot and refocus on the role I'd originally signed up for - attempting to help shepherd Perl 6. (impatience is a virtue) I wish everybody the best of luck getting parrot airworthy and expect I'll be showing up occasionally to hassle y'all on Perl 6 related issues. In the hear future, I'll be announcing new Perl 6 microgrants. No more than USD500. No longer than a month. Administered by me and Leon Brocard through the Perl Foundation based on a USD5k grant made by Best Practical toward Perl 6 Development. They'll be a mix of parrot, 6on5 and pugs related things. Start thinking about what you might want to do now. fin. obra++ for years of service and new projects orba++ # thanks! particle! *obra busy week for me: ~ added kjs++ as a new committer! welcome, kjs. ~ applied tests and refactorings of ops2c by kid51++ ~ updated PDD22 based on conversations last meeting ~ began testing PDD15: MetaClass, MetaAttribute, Object, and Role APIs, as well as t/oo dir for testing oo implementation. provided feedback to allison++ and jonathan++ on the PDD, based on my tests. ~ fixed many tickets in anticipation of coke++'s ambitious release ~ add some null guards to 'stringinfo' op, converted some 'internal_exception' to 'real_exception' in string code ~ reenabled gc in sprintf tests, after jonathan++'s gc fix ~ creation of docs/project dir for project docs, wrote metacommitter guide ~ started release_manager_guide based on RELEASE_INSTRUCTIONS, and made a few updates to release instructions while i was there ~ answering many questions from the folks on #parrot, seems like more people are interested every day ~ started converting gen::makefiles to pir, so we can separate it from configure ~ trying to finish up crow.pir before the next release .end pmichaud Miscellaneous: * Short report this week, last week was vacation * Southern California was great * Catching up on email and other tasks today * I'm glad to see so much progress on Parrot while gone * Also glad to see Coke++ in project manager role * Kudos to obra++ for all of his ongoing support as PM * I should be back on Parrot tomorrow * I expect to be available for Saturday bugday Pre-vacation stuff: * Updated Pynie grammar and PAST transform with help from kjs++, smash++ EOR smash? tekw? tewk? Anyone I missed? I forgot to mention I wrote two little articles on PIR: http://www.oreillynet.com/onlamp/blog/2007/03/fizzbuzz_in_parrot_part_two.html Okay. Question time. That means free-for-all, first-come, first-ask. ENOQUESTIONSFROMPMTHISWEEK when will that issue DOT/NODOTname will be over for new opcode ? smash: ticket #? new .Integer vs new Integer it's tied in with the objects PDD oh, ok ah, so you're working on it, great! the .Integer makes sense if it's a macro for the type number but we're talking about entirely doing away with type numbers in which case, you really only have the string name and the dot prefix makes no sense at all ok, i can wait * particle wonders about .local pmc Integer ; $P0 = new Integer that's a larger imcc problem especially if you have Integer = 'String' in there somewhere but the simple solution is $P0 = new "Integer" and disallow bareword class names Beats a keyword list, especially with dynpmcs. * pmichaud notes that this has now come full circle to where he started just proves it was a good idea :) well, I'm still curious about HLL classess... but I need to read the updated pdd first I'll comment there if I see a need for it I don't recall if that discussion made it into the updated PDD, but should be there if it isn't Alright. Next question? have we announced the bug squash-a-thon this weekend yet? Now would be a good time. no, coke keeps referring to it as 'not yet finalized' Do we have any specific goals? coke has a tracking ticket for the release, specified in #parrot topic it's on Saturday, same as always, what's not finalized? 04Fix these: http://xrl.us/u9y2 01 allison: i guess coke thought he had some control over the date :) the ticket itself is no longer specified in #parrot topic. that's a saved search of the release's unresolved dependencies % jisom has joined #parrotsketch oh Maybe because dependencies don't show up as links if you ain't logged in IIRC. http://rt.perl.org/rt3/Ticket/Display.html?id=41581 # tracking ticket Makes sense to me. % lichtkind has joined #parrotsketch from the list of dependencies, this is a very ambitious bugfix release and imo is progressing quite well particle: the fewer changes we make from month-to-month, the better off we'll be % lichtkind has left #parrotsketch excellent it would be a good thing to have fewer tickets in the parrot queue. atm, it's a bit overwhelming. pushing bug fixes helps with that. oh, the changes I was talking about were changes in dates not changes in code bug fixes++ it's getting hard to manage 100+ new tx in the queue and to manage 3-4 year old tx indeed i'd like to see an effort to further classify these bugs by platform etc I've been happy at the progress we've made in these bug sqashing sessions subsystem... it'll make searches easier for porters sounds good ok, i'll enter a ticket :) Is it useful to have a focus for each monthly release, or is that premature or infeasible? i've been talking to coke about targets for minor release increments like, 0.5 may be i/o and oo implementations chromatic: it's feasible particle: sounds good as for bugfix 0.4.x releases, we haven't had much focus lately the core point is not to delay a release waiting for a particular feature yes. but once certain features have been implemented, we have a number in mind for the release features drive the version the sub-major version, yeah not the release exactly :) Any other questions? have someone put together a list of summer of code ideas? One for Allison - I plan to start stubbing in the Role PMC real soon now - shall I just call it Role.pmc until a final decision on the naming is made? yes, call it Role.pmc jisom has a question "The instance of Role is a role" doesn't have the same problem as "The instance of Class is class, and the instance of class is an object" mdiep, I don't see a list within the Perl mentors list. You can always solve it by saying "an instance of the Class PMC is a class"... Worse is that an object is really an instance of the Object PMC too. ;-) do we currently have a method for defining multiple inheritence for c based pmc's? for the pge grep, I had to add a splice to resizablestringarray.pmc because it was only in resizablepmcarray.pmc, and it'd be nice to have it in all the resizable ones without code duplication... jisom: we're moving towards role-based composition, which is in the direction you're talking about but currently? i don't know if you can extends foo extends bar Maybe, but the thing to understand with PMC inheritance is that your child and superclass need to co-operate on the use of the various data pointers that you can hang stuff off in a PMC. considering the splice would be nearly identical for all of them(or could be made as such), it'd seem pointless to just duplicate the function in each file rather than having it in one file... With MI that gets really hard to manage. but this is only one example Maybe if we implement role composition for PMCs that would help for this situation then, yeah. Especially if that role composition could include C-level data storage. yep, indeed Now you're onto changing the way PMCs work. :-) Seems like the next step after variable-sized PMCs. that's not out of the question, there's still leo's unimplemented cstruct proposal Yeah, true. in fact, coders welcome to implement leo's spec * jonathan_ runs away i think that should be announced somewhere, like in an rt ticket ooh, and i know how to do that! I started on leo's variable-sized PMC spec, but it's not quite a spec it's more a loose collection of semi-related ideas which made implementation interesting parrot has a history of interesting implementations :) If the spec was clear, it'd probably be more approachable to implementors. but I haven't had time to work on it lately, and would be happy to pass along the condensed list of what it actually needs to do to anyone else who wants to tackle it so, i gather the 'spec' needs a few rounds of feedback yeah * pmichaud thinks "you are in a maze of interesting implementations, all different." allison: if you can stick a patch somewhere for folks to play with, that'd be great a patch to the proposal? or my notes? no, your notes/implementation/work so far ok I'll try to do that this week * particle gets eaten by a Grue Collector oh, one thing more from me we have had a gc bug for a long time with pge It's not the only GC bug. i'm considering the removal of -G from the test code that hides the bug at least, until near release time I think removing -G is a good idea any dissenters? <-- no dissent Do it. The biggest thing with GC bugs is being able to replicate them, which changes from time to time. So anything that increases the chance of that, will help. pmichaud is most affected, so go with his call wilco it's okay with me if the tests fail on gc bugs... I'm used to it :-) Uh, are we talking about deliberately leaving tests failing? 'cuz... no thanks! chromatic: until sometime before the release, yes pge tends to evoke gc bugs, and gc bugs aren't things I can readily fix for one thing, it'll help us know what platforms they occur on We have TODO tests for a reason! I don't think language tests should todo parrot bugs. and also, marking a test as 'TODO' because it fails under GC feels wrong is this one specific test failure? no, they migrate all over the place or a general -G throughout all pge tests yep, it's deep internals it's a general -G throughout tests #! parrot -G on three files under t/compilers/pge i.e., in order to get the tests to pass, we add -G ack -- -G t * allison shudders the same appears in various languages/* implementations, especially those that use PGE I'm concerned that if we leave tests failing, we condition ourselves to accept a certain amount of test failures as the default condition. is there a ticket specifying the GC failures on that set of tests? I've filed tickets on gc failures in the past... but they're so transient that I don't know anyone who wants to work on them As well, people who aren't the sinister keiretsu have little chance of knowing that certain test failures are meaningless. but ignoring the bug won't help it to get fixed, and we need it to occur to fix it Take, for example, kid51. the obvious course of action seems to that the person working on the bug turns off -G and diggs for the GC failures "OH MY GOODNESS, TESTS ARE FAILING NOW! Did I break them with my refactoring? I can't tell!" part of the problem is that with -G on, nobody seems inclined to work on the bug pmichaud: the problem with GC tickets is what to do when you can no longer reproduce the bug we need a "mightfail" instead of todo :) mdiep: that's why all of my reports identify the specific svn revision Do we need better GC tracibility? chromatic: always :) ok, turn -G off now mdiep: granted, this doesn't help much except for short periods of time turn it on again if the problem isn't resolved by end-of-day Saturday okay, i'll enter a ticket to track the issue % obra has left #parrotsketch that'll notify the list of my doings and which tests to expect possible failure in pmichaud: right. for instance: 41035, 40990, and 40966 no longer reproduce here. but there have been changes since then, so I can't be sure if the actual bug is fixed or not. mdiep: right I'd vote that we just close those tickets and open up new ones if the problem appears again. I don't have an issue with that mdiep: go for it alternately, make the tickets stalled rather than closed stalled implies that they're still an issue I think it's worthwhile to close them, as there's no adequate way to know that they've been resolved I'd reject the tickets ok I mean, mdiep is correct -- we don't know if the bugs still exist or not, and don't have a way to find out using the information in those tickets Does removing -G on the PGE tests cause failures *now*? jonathan_: svn up and find out :) -G removed in r17470 OK, will try later. prove t/compilers/pge # to test fwiw, most of the problems I've encountered seem to have something to do with Key PMCs Interesting. That's might help to know, I'll keep it in mind if I go digging. i.e., the segfaults that I get all occur as subcalls to various *_key_* functions It has "special" GC.... When you have multi-value keys, for example? hmmm I haven't associated it with multi-value keys, but it's possible I could start eliminating the multi-value keys to see if that "fixes" things the problem is that _any_ change to the code often causes the gc bug to disappear pmichaud: tempting as it is, we don't want to be working around Parrot problems unless the bug is reproducible and we can write a test. My analysis of that is that it is often because changes to the code result in new PMCs getting allocated at different times, so GC runs at different times. mdiep: I haven't added any -G flags to any tests... others have done that. All I do is report the bug :-) Perhaps we should take this discussion to #parrot. Maybe a way to force GC after every op would help. Only sometimes though. ticket entered. Any final questions? thanks everybody, see you Saturday % chromatic has left #parrotsketch thanks, cya % jonathan_ has left #parrotsketch % allison has left allison!~chatzilla@sub17-30.member.dsl-only.net % rafl has left rafl!~rafl@armitage.dreker.org % rafl has joined #parrotsketch % coke has joined #parrotsketch % coke is now known as Coke % Coke has left #parrotsketch % pmichaud has left #parrotsketch % avar has left avar!~avar@dsl-228-236.hive.is % avar has joined #parrotsketch % jisom has left jisom!~jisom@74-134-230-123.dhcp.insightbb.com % avar has left avar!~avar@dsl-228-236.hive.is % avar has joined #parrotsketch % avar has left avar!~avar@dsl-228-236.hive.is