% mdiep has left mdiep!~matt@bursley-219-72.reshall.umich.edu % mdiep_ has joined #parrotsketch % avar is now known as dongs % dongs is now known as avar % kjs has joined #parrotsketch % pmichaud has joined #parrotsketch % Coke has joined #parrotsketch % dickdawg has joined #parrotsketch % smash has joined #parrotsketch % jisom has joined #parrotsketch % bernhard has joined #parrotsketch % jonathan_ has joined #parrotsketch % allison has joined #parrotsketch Hey everybody. howdy Hi hi hi reports first, as usual. I'll go first today, then I have chromatics, then allison, particle, jonathan, pmichaud, and then we'll see who's left. Submitted a "roadmap to 1.0" presentation for yapc::na. started writing down my list of parrot thigns to do. getting longer. three biggest todos: - get a weekly PS Summary somewhere to the list or a summary. - get parrotcode.org to be using 'make html' as its generated docs. - add more predefined queries for RT tickets to parrotcode to help manage the ever growing # of tickets (which is, in general, a good thing) ^Z chromatic's: I'm working on my talk for the Portland Perl Mongers tomorrow night. It covers the design goals of Parrot, the high-level design, the source layout, and a PIR tutorial. I'm trying to extract main() from compilers/imcc/main.c into src/main.c. Along the way I'm refactoring the code. The result will probably be that it's easier to use an alternate compiler, or none at all. We have a lot of under and undocumented structs in C-land, and I suspect there's a lot of unused code. I'd like to start getting those documented for the next release, so everyone's welcome. I'll take a whack at the NCI struct issue soon; I have some other ideas to make that work better. If no one gets to it first, I want to write some fuzz tests, writing near-PIR from an analysis of all of the PIR in the repository, to make sure Parrot doesn't crash on bad input and gives good error messages. I want more C refactorers. -- c next. =-) - I launched the Objects PDD, and continued to refine it with questions from the implementation. I'm very pleased with the progress implementing the new objects model. - Submitted 3 talks to YAPC::NA ("Parrot Update", "Parrot Architecture", and "Learning PIR"). - Implemented arrays and hashes in Punie. - Started work on the next PDD: PMCs EOR ~ finished Exporter PMC--yay! to exercise PCC* further, it's time to subclass it however, i need two languages with different namespace semantics and are ready for hll interop--i may block on this for a while ~ i have a goal of getting pdd15 largely implemented by next week so, i'm turning my attention to pdd15 i'll be reviewing jonathan's code, and current tests i could use your help, if you have time ~ updated NEWS to a current revision, to make matt's job easier .end More PDD15 stuff * Added the new vtable methods * Asked questions about what vtable methods should be deprecated - and got answers * Implemented inspect, inspect_str for both roles and classes * Moved code from PCCMETHODs to vtable methods, PCCMETHODs call the vtable methods * Did more on tying classes and roles to namespaces * Various other questions on the list to clarify stuff Other than that, made it so PCCINVOKE can be used to call non-PCCMETHODs. Think I did some other random thing, I forget what. .end PGE: * Worked on the new S05 changes for PGE, implemented as PGE::Perl6Regex * Updated the test suite in t/compilers/pge/perl6regex/, merging in improvements and changes from the Pugs version of the regex tests * perl6regex tests have a new '# todo :pge' syntax to mark the tests that are considered 'todo' * This appears to work extremely well * I also implemented a '# trace :pge<1>' pragma so that individual tests can be run with tracing enabled -- very handy when trying to figure out why a particular test is failing * I kept all of the :pugs<...> adverbs, so hopefully Pugs can do a simple 'cat rx_* >regex_tests' to use the updated tests (or modify the harness to use multiple rx_* files) Other: * Now is also a good time to look at other S05 changes, as well as Larry's Perl-6.0.0-STD.pm grammar * So, I spent the weekend looking at a number of features we need ** modifiers in the middle of regexes ** the new :sym<...> adverb ** proto regexes ** longest-matching semantics of C<|> * I also spent a fair bit of time examining fglock++'s "miniperl6" implementation in pugs, now that I understand what it's doing * I may see about taking a miniperl6-like approach with some of Parrot's translation tools * I also spent some time looking at generator/iterator ideas over the weekend so that I can get that part of perl6 implemented eor * Making progress on both Borland C++ and Intel C++. Assorted patches sent in. One waiting to be applied (RT #42271). One needs more work (RT#42359) wow. sounds like everyone aside from me is getting a lot done. =-) * Sun CC on Linux seems to be tripping over buggy Linux pthread headers containing gcc-specific code. Waiting for word from Sun on a fix. We may need to work around it on Linux. * TODO - finish C++ based cleanups * TODO - Resolve vtable->class variable name and cleanup the other remaining ones. * TODO - Get the existing Makefile to work with dmake for Borland C++ or try to work with gmake on Windows instead END excellent. Anyone else around with a report? Added a list of PHP parsers and implementations to http://rakudo.org/parrot/imdex.cgi?plumhead That's it .end I actually have to run to a another meeting so, if anyone as any objections to the pmc_class renaming suggestion I mailed to, please let me know. steve: it's good enough When's the next planned release date? I'll hold that change until after a release. next tuesday 17apr OK. I've got enough other things to cleanup right now :-) Coke lost his internet connection so, the only other item for today was to get NEWS updated for release (per Matt) % Coke has left Coke!~coke@cpe-72-228-52-192.nycap.res.rr.com and with that we can open to any other discussion/question questions first, I guess I have one go ahead, allison after allison's question we have two questions from jonathan_ patrick: to finish implementing subroutines with parameters in punie, I need slurpy params and flattening args % coke has joined #parrotsketch % coke is now known as Coke wb, coke, we're doing questions now I didn't see them yet in partridge, is that on the list for the semi-near future? I think PAST-pm already support slurpy params via pragmas it's an attribute on the parameter node do any languages use the feature yet? I don't think I have flattening args yet, but I think it can be added or, is it documented? or, I'll send you an email and get the details I don't think it's documented yet. perl6 uses it to handle :optional params, I think or maybe not. I'd have to check the code again I didn't see any handling for optional params at the PAST->POST level (though, of course I can add whatever I want at the PAST level) I'll email you what I've got so far, I'm back into PDDs again for a while EOQ okay. If it's not there it's easily added, certainly on the param side. I think it could be done similarly for the argument side * particle enqueues a question jonathan's two questions next, then particle OK Number 1 * Coke does as well. (then coke) I asked this before, but either I lost the answer or the question got lost. Roles can have attributes, and attributes like methods can be composed. Does it make sense to provide "exclude" and "alias" for them at all? If it does, how do you specify what to exclude and alias (as in, syntax wise/what is the parameter called wise)? Using the existing parameters won't work - what if an attribute and method had the same name, etc. Yes, we need alias and exclude for attributes as well as methods (and I think I answered before) do exclude/alias take a list now? exclude a list, alias a hash (mapping name to alias) 2 options: each takes a hash, with two keys 'attributes' and 'methods' ('exclude' a hash of lists, and 'alias' a hash of hashes) or, we name-mangle with exclude_attribute and exclude_method, etc (which is what you suggested IIRC) Aha, I remember suggesting that now too. both add some level of complexity, so it's just a matter of deciding which is worse The second solution is my preferred one. (or, coming up with other options) Saner interface. why don't we call it 'resolve' Otherwise you have to construct a new hash. particle: resolve is the option on the class particle: that is, it expresses an intention to resolve a role conflict particle: 'exclude' is a low-level brute-force option when importing a role, that just says "I want you to skip this method/attribute" It's not a great hardship to add method_, doing $Px = new 'Hash', etc, is. building up the data structures is burdensome *nod* Whereas a parameter name being a bit longer isn't. exclude_attribute( slurpy named list ) is better jonathan: both seem annoying to me, but I don't have a better option at the moment, so let's go with: alias_attribute, exclude_attribute, resolve_attribute, etc OK, 'twill be done. we could have something that encompasses them all. alias_or_resove('alias', 'attr', *) ... particle: these are names to use in slurpy named lists (or hashes of named arguments) merge( alias_pmc :named('alias'), exclude_list :named('exclude') ) they're not actually opcodes/methods s/resove/exclude/ okay, i'll shut up. i need to review pdd15 again e.g. .addrole(PMC* role, PMC* exclude :named('exclude'), ... OK, anyone else got any more on that question or can I ask my second? * jonathan_ times out go ahead j I fear we have specified the unimplementable in PDD15. :-( When you make a change to an already instantiated class, the PDD says it is supposed to clone itself, update the namespace to point to the new version and then make the change on that new version of the class. That's fine, but unfortunately, the caller of the add_attribute method or vtable method will still be referencing the original unmodified class, and I see no way to change that. That in turn is a problem because if they modify it again, the old change will be lost; if then call .new(...), the change is lost, etc. Have I explained that in a way that makes sense? I see what you're getting at, yes It's more of an "OH NO!" than a question, I'm afraid. essentially, its the illusion of "modification in place" that we're trying to maintain you'd have to return the new modfied class for these actions Aye. For the ops that's not a real hardship, for the methods maybe it's a bit annoying having to say $P0 = $P0.add_attribute(...) and so on every time. no chance else I prsume and we can't have the class modify itself because then all existing instantiated objects pointing to it would be pointing to the wrong thing Yup. The cop out option is to say "you have to clone the class yourself before doing a modification". this seems like a question that needs example code And allowing the "has this class been instantiated" flag to be available through inspect. pretty much everything is available through inspect Yeah, that isn't at the moment, though I suspect it should be and it's an oversight on my part. jonathan: the "clone the class yourself" is the conclusion I came to with names and namespaces last night we're essentially looking for an advanced form of morph I don't have an immediate answer, but I'll go look over the PDD OK, sounds good. particle next? Thanks. :-) That's all of my questions, for this time. particle: ping earlier i mentioned my goal of implementing pdd15 pre-release. is there anything more strategic we should be doing instead, and if not, can we split up the work, and expect to focus on it? pdd15 is strategically important at the moment New enterprise scheduling software that allows coordinated, distributed batch jobs across all the platforms used by OIS. Several people in BSB have had training on the software and should be considered go to people in your group. (* These people still need to be identified). whoops. wrong window. /ignore coke :-) I would be very very happy to see pdd15 implemented asap there are a few design and implementation issues I'm hoping it will resolve (for pge and perl6) great New enterprise scheduling software that allows coordinated, distributed batch jobs across all the platforms used by OIS. Several people in BSB have had training on the software and should be considered go to people in your group. (* These people still need to be identified). ... I am very sorry. /ignore coke :-) :) project team spim. did we answer your question, particle? I think the rest of the question is "how many people have time to work on it this week?" i guess you did. we need a list of todo. how about a wiki page? I do I do, too. it sounds like a good goal for the week then particle: sounds good, start it and send the link to the list I'm probably in the best position to start a todo list. jonathan_++ Point me at the wiki page and I'll happily populate it tonight. i'm creating it now, i'll send to list http://www.parrotcode.org/ -> wiki I think coke has a question, hopefully not related to OIS lol Oiy! My question comes in two parts. part one: why does my mouse's second button sit just next to the desk where it inadvertently pastes things repeatedly? your mouse hates you. Murphy's Law second part: think about what sort of queries you'd like to see out of RT for finding/managing tickets. I'll put some that I think are useful, but please ping me with any suggestions or requests. do you keep crackers on the desk ? I think we ought to keep the standard queries on a page on the wiki /resources.html it would make it easy for me to cut-n-paste them into my bookmarks :-) as opposed to parrotcode? Well, if they're on the wiki, lower barrier to updating them, anyway, which is good enough for now. we can enshrine them later. k. in that case, "please keep an eye on the wiki". we can enshrine the very obvious ones, with a link to the wiki for "other useful RT queries" that can be updated good idea(tm) that makes it easy for people to see them on parrotcode, while also making it easy to propose new entries without having to get parrotcode updated (not that getting updates to parrotcode is hard -- there's just a delay) I'll look through my list of bookmarked queries and see if any ideas come up I tend to have a query that finds anything with 'PGE' in it :-) anything else for coke's q? we need to classify the tickets already in rt otherwise queries will be useless okay, we need a query that can help us find the unclassified tix :-) i'd *love* to see tickets submitted via web then you can classify them as you submit, rather than after (and using a different interface) btw: http://rakudo.org/parrot/index.cgi?pdd15_todo any other questions? allison: to answer your previous q -- POST has the ability to add :slurpy to params, but you're correct that it doesn't appear in the PAST->POST transformation yet. I'll add it shortly. or you can add it if you wish -- it should just be a flag/annotation to the PAST::Var node in my code I added an 'isslurpy' param to PAST::Var's init works for me feel free to commit k then we just need a way to pass :flat to arguments -- I'll have to think about that a bit I have to think about it wrt list context in perl6 anyway if no further questions, any discussion? or are we done? I take it we're done for this week excellent work, all. See you all next week muribus biscues placent (mice like crackers) % pmichaud has left #parrotsketch % jonathan_ has left #parrotsketch % smash has left #parrotsketch % bernhard has left bernhard!~bernhard@p549A2654.dip0.t-ipconnect.de % jisom has left jisom!~jisom@74-134-230-123.dhcp.insightbb.com % dickdawg has left #parrotsketch % mdiep_ is now known as mdiep % kjs has left kjs!~IceChat7@seinfeld.xs4all.nl