% Nicholas has left #parrotsketch % mdiep has joined #parrotsketch % chromatic has joined #parrotsketch here, then gone, then here again nice and descriptive ;) % pmichaud has joined #parrotsketch here again! howy Excellent. howdy even % Coke has joined #parrotsketch we'll give the rest of everyone a couple more minutes to appear hi all folks should start to compose reports if they haven't yet ;) * pmichaud <-- composed chip: do you know if allison is around today? er. "chromatic" damn nick completion No idea. hi @all Ok. Let's get rolling * chip tumbles across the mat ... alone or in pairs? I think I'll start in order people piped up. So, today, chip, particle, pmichaud, chromatic, leo_ , coke, mdiep, tewk if he's here, allison. Last week: * real life had high priority, but is now relaxed again (nothing tragic) * approved STM merge (woggle++ for good work) * engaged in good-natured bickering about code formatting * investigated C99 - we can't use the language features yet (MSVC is the main spoiler) - the header/macro/library features are mostly redundant with Configure Coming week: * write new pdd07 (code formatting) * make & keep Parrot compilable as C++, for integration with C++ systems - learning from the PERL_OBJECT feature of Perl 5 * plus, the balance of last week's list: - resolve default packfile question (per chromatic) - review leo's PMC reorg proposal - Items from OSCON meeting w/Allison - Perhaps start on exceptions & dynamic scoping; these share a lot of concepts, and perhaps infrastructure * chip is particularly disappointed in MSVC vs. C99 ^D particle: you're up ~ been modifying perl6 and pge to deal with synopsis changes ~ thinking about test suite design: unique id's, pugs's smartlinks, etc ~ there is some code and ideas to reuse, some to write ~ i'll soon be starting a perldoc (pod, kwid) parser/emitter ~ this will help link parrot & perl6 tests to the specs .end * A week of improving tests (and, unfortunately, dealing with a local OS crash) * Worked with Coke++ to speed up PGE's p6 regex test suite * In the process, found four tests that were inadvertently being skipped,- fixed those * Added a 'dump_str' option to PGE/Dumper.pir for above * Worked with mdiep++ and Coke++ to create a pge-based grammar for parsing Tcl * Answered various other questions about PGE and parsing on #parrot * Continued work on PGE improvements and TGE refactor. It's going slower than I had hoped, but I expect to have something public RSN. chromatic: you're up I checked in the library path patch. If addressing Francois' concerns about Parrot::Embed fixes the build on Win32, I'll check it in. (Jerry?) I fixed a couple of skip tests and ranted about the state of others. I hope to write more about the external API soon. END leo_: go for it * simple looking tickets like "[perl #40178] None Must Die" are possibly very untrivially to implement, as there are no specs for the *true* replacement * resolved it, nethertheless * did some tcl debugging ... and a debug trace fix * and some partcl coding (http://feather.perl6.nl/~lt/upvar.pir) - this are some experiments about lexical vars and [upvar] * various bug fixes and docu updates * started digging into STM guts, woggle promptly added 2 more docs (internals and howto) * strace'd --tracing parrot, which showed 2 fsync calls from unneeded fflush getting rid of these got 10x tracing speed Next week I'll hopefully be in Birmingham, Heathrow willing. ^D Coke: your turn * partcl - begin utilization of tcl's stdlib with [parray] - add $tcl_library - add $tcl_platform(byteOrder) and $tcl_platform(platform) - #40143 - add $tcl_precision (mostly) - add $tcl_interactive (when false) - add dynamic ops for various tcl flow control macros - add simplistic version of [regsub] - add [lsort -real] - add [open $file w] - tcl test suite + native passing %age falling. each fix in one spot seems to cause segfaults or other errors elsewhere. :( * PGE - working on converting t/compilers/pge/p6regex/01-regex.t to PIR mostly done, need to integrate pmichaud' checkin earlier for dump_str. Currently at 10s, down from 2m33s. Should be usable as a template to convert other pge tests. Incorporating the idea of softlinks from http://pugs.blogs.com/pugs/2006/08/integrating_the.html, thanks to particle++ * Cage - annoy leo++ with various compiler warnings, and even fix some myself. originally looking for more c89 compliance. - silence build errors by cc_flags.pl - add docs for genfile() (part of Configure) * RT - #40207, #40162 - patches courtesy amir dot aharoni at gmail dot com - #38897 - makefiles ending in / are bad, mmkay? % ambs has joined #parrotsketch mdiep: how's things? - Made a couple changes to the default PMC to facilitate Tcl: - Add a morph implementation that morphs the PMC - Changed assign_pmc to morph to Undef if assigned an Undef - Fixed some Unicode issues - Got morphing working once and for all - Worked on PGE-ification of Tcl (almost done with first pass) ^D tewk: you around? looks like not and no allison ok. Question time. I have one. who else? (Did I miss anyone?) * chip * leo_ Ok. So. What, that's not already being done, could help make parrot and perl6 on parrot happen faster, better, less painfully, more robustly, etc? blue sky. It would be nice to know what's working and what isn't. for the moment, don't worry about budget or feasibility Isn't there a tool for code duplication detection? yes. And that Coverity tool that the kernel guys love Running those against hte source would be Helpful I recognize that I'm probably the perl6/parrot bottleneck at the moment finding duplicate code is http://pmd.sourceforge.net/cpd.html more awareness of smokes, and more platforms submitting them better parsing for IMCC (meaning better errors, among other things) More tests. I would love to have a Purify license, or an Insure++ license if Purify is not available more followthrough on the promise of CAGE. i think a smokebot on #parrot would help pmichaud: assuming that, what could help un bottleneck you? for perl6/parrot there are just about 3 or 4 things that need to be designed/implemented at roughly the same time, and I'm having to slog through it I'm not finding easy small commit points pmichaud: short-term branch? pm: i'm willing to help with design, if you pipe up about it :) Could you enlist another designer to handle one of them or would that ruin your fun? obra: I think it'd ruin some of my fun :-) the pieces all tie together pretty intimately (pge, variables, namespaces, tge, and perl6) purify++ : an excellent idea. Ok. Is there grunt-work research or dev spikes others could do for you? perhaps a pge pdd draft would facilitate comments/suggestions? I haven't come up with anything. But I think I should be able to break through the bottleneck this week ah, a pge pdd draft would be excellent if someone else could write it :-) i'll think seriously about that. chip: have you played with valgrind? I hear it's the new purify ;) valgrind is good but AFAIK it lacks the deep evil ok Purify actually rewrites the object code so that every memory access can be checked, not depending on magic values or canaries If I don't have something substantial to delegate by next week, then I'll come to parrotsketch w/ideas mind you, if I didn't have valgrind I'd be even more desperate *nod* ok. any other things people could use? Improved TGE would help me. more speed. yes, and the Parrot::Embed module could help coverage tools (yes, yes, tcl is slow on it's one. *thbbbthp*) I'd like a "make test" that uses embedded Parrot Coke: It's the policy of TPF not to supply drugs stronger than caffeine to developers ... "its own" (wow) *snrk* Knowing what features work and are in line with specs would help me beat the features that don't and aren't. windows c developers faster proposal review ;) particle++ # Windows shouldn't so poorly represented leo_: it's a fair cop, but society's to blame Wow, talk about blue sky. Ok. anything else before we move on? about this caffiene. can we ship a case of something to chip? % smash has joined #parrotsketch ok. next chip, then leo. thank you. that is all. chip: what's your question? The removal of None is a good thing I'm still sure, but I wonder if there is anything left broken still as a result, and if so, is there anything I can do to help fix it? ... I'll take that as a 'no' good ok leo there's no problem with the None removal, but it revealed the lack of specs re STRING NULLs oh boy yes At the moment the None remove works only because get_string_keyed on hash was coded to return '' or generally about the return value of (mainly) aggregate PMCs for now it seems that a null string is mostly like a perl undef; it acts like a '' but you can test for it this may be a good model pmichaud: yep - and that (maybe) workaround I'm planning to update PGE to eliminate reliance on that (but I still think that returning '' for get_string_keyed is a reasonable answer) iirc there are only five places that have to be fixed pmichaud: or if null strings become perl5-undef-like, returning null would not hurt you either, I guess the better question actually is: what is a STRING* as long as things like $S1 = concat $S0, "foo" works when $S0 is null, it's okay with me :-) leo_: oh, don't go there, please. we know you think STRING isa PMC someday :-) I don't necessarily disagree btw FSVO 'someday' * particle finds string/pmc conversions frustrating, too fine ;) That wouldn't necessarily hurt the external API's feelings either. hm really? and the opcode proliferation really sucks huh concat_s_i doesn't exist. concat_p_i does. % ambs has left ambs!~ambs@213.13.107.188 huh as long as there's a way for me to have a generic String object/role that encompasses all of the string representations, I'd be okay fwiw, I think STRING currently corresponds to Perl 6's native string type particle: concat_p_i ??? $P0 .= $I0 i.e., having separate UnicodeString and ASCIIString classes doesn't quite work well leo: for code emitters please paste a working example mdiep: actually it doesn't, not really; Perl 6's native 'str' is supposed to be a lot stupider than a Parrot STRING pmichaud: I'm totally with you on the "one class to bring them all and in the darkness encode them" Having a separate string register is still somewhat useful though... or more pervasive MMD. Perl 6 doesn't have a native 'str' anymore, it's now 'buf' :-) pmichaud: oh. that's ... good? whatever. :-) and that is what a Parrot S reg actually could be - an interface to str* libc functions chip: yeah, I can't quite keep up with it either chromatic: opcode bifurcation is part of the solution, and MMD on a String class is the rest, I think, fo rthat problem there's another aspect to this, btw leo_: byte buffer registers ... ? when we can do 'add Px, Py, Pz' with full MMD - why tf* we can't do that for strings? currently I can do $S0 = 'foo'() and know that I'll get the stringification of whatever comes back chip: cstrings leo: do this to a string, instead... print "[" print $I0 print "] => " I can't do that with $P0 = 'foo'() pmichaud: that is convenient to be sure. But the solution would depend on what you're doing. If the next step is print or append or something, the stringification is implicit in the operation. Otherwise, $P0 = 'foo'() can be followed with $P0 = $P0.'as_string'(), which may NOP Or merge MMD with opcodes. Wait, how blue is the sky right now? particle: concat is MMD, it nicely works with .Integer RHS PMCs chromatic: there is another theory which states this has already occurred. chromatic: (some 'opcodes' are already MMD sugar) "some" (should this discussion keep going here?) leo: precisely. pmc's concat nicely, strings do not. this seems broken to me. Failing a resounding yes, anyone got anything else questionwise? obra: well, I think we've covered the idea space & the surface issues. I vote 'move on' but only gently c: i owe you a look at your latest parrot::embed patch. will do. Barring the problem Francois found with $ENV{PATH} (as in, there's a one-line File::Spec->path()) replacement, how does it work? i'll have to let you know, i haven't applied yet Ok. about to declare the meeting over chip: you have some initial comments re pddXX_pmc.pod already? The tyranny has ENDED leo_: I cannot tell a lie. ... look, a huge distracting thing! * particle looks chromatic: #parrot pls particle: it's not in svn hey, it's really bright and blinking! see you all next week! cya see ya or not next week ;) % chromatic has left chromatic!~chromatic@sub17-30.member.dsl-only.net % smash has left #parrotsketch % Coke has left #parrotsketch % pmichaud has left #parrotsketch % mdiep has left mdiep!~matt@pool-71-115-179-176.gdrpmi.dsl-w.verizon.net % mdiep has joined #parrotsketch % mdiep has left mdiep!~matt@pool-71-115-179-176.gdrpmi.dsl-w.verizon.net % mdiep has joined #parrotsketch % mdiep has left mdiep!~matt@pool-71-115-179-176.gdrpmi.dsl-w.verizon.net