% japhb has joined #parrot % ank has left ank!~ank@ppp121-44-210-24.lns1.hba1.internode.on.net % iblechbot has joined #parrot % cosimo has joined #parrot * japhb is having a very mixed evening: gave a well-received presentation on Parrot for local Perl Mongers meeting. Then came home to discover that NFS server at work had filled up disks. Sigh. % Casan has joined #parrot % ejs has joined #parrot % Zaba has left Zaba!~zaba@ip102.148.adsl.wplus.ru % Zaba has joined #parrot % ejs has left ejs!~ejs@80.91.178.218 % ejs has joined #parrot % ank has joined #parrot % bacek_ has left bacek_!~bacek@mcas-151.usr.optusnet.com.au r27869 | fperrad++ | trunk: : [build] : - fix compiling on MinGW32 : config/gen/platform/win32/time.c:139: error: elements of array `wday_name' have incomplete type : config/gen/platform/win32/time.c:139: error: storage size of 'wday_name' isn't known : config/gen/platform/win32/time.c:141: error: elements of array `mon_name' have incomplete type : config/gen/platform/win32/time.c:141: error: storage size of 'mon_name' isn't known diff: http://www.parrotvm.org/svn/parrot/revision?rev=27869 % IllvilJa has left IllvilJa!~jilves@emea-netcache1.oracle.co.uk hi there. % AndyA has joined #parrot % contingencyplan has joined #parrot % UltraDM has left UltraDM!~george@dasapass.avira.com % AndyA has left AndyA!~andy@82.152.157.85 % contingencyplan has left contingencyplan!~contingen@cpe-76-186-27-146.tx.res.rr.com % contingencyplan has joined #parrot % contingencyplan has left contingencyplan!~contingen@cpe-76-186-27-146.tx.res.rr.com % ruoso has joined #parrot r27870 | kjs++ | trunk: : [tutorial] add first 4 episodes of PCT tutorial to /doc directory in languages/squaak. : update manifest. diff: http://www.parrotvm.org/svn/parrot/revision?rev=27870 % IllvilJa has joined #parrot % mj41 has joined #parrot % contingencyplan has joined #parrot % braceta has joined #parrot japhb++ # parroting it up. % tetragon has left tetragon!~seneca@216.126.67.44 seen chromatic? chromatic was last seen on #parrot 12 hours and 4 minutes ago, saying: It'll be a PMC. chromatic was last seen on #parrot 12 hours, 3 minutes and 36 seconds ago, saying: It'll be a PMC. seen kid51? kid51 was last seen on purl 1 day and 23 hours ago, saying: [May 26 06:55:53 2008] kid51 was last seen on #perl-qa 7 months, 18 hours, 45 minutes and 9 seconds ago, saying: Example for me: http://thenceforward.net/parrot/coverage/configure-build/coverage.html clunker3's url is at http://xrl.us/4hgj clunker3, owner? coke? i think coke is mailto:will@coleda.com or just a figurehead. or http://coke-floats.blogspot.com/ or DietCoke clunker? clunker is a known bot. clunker3? i guess clunker3 is running from Tux_'s pc at work Tux? i think Tux is H.Merijn Brand and maintains HP-UX binaries for Perl (with DOR!) and other free software at http://www.cmve.net/~merijn/ or cbu in PM seen tux? tux was last seen on #p5p 23 hours and 25 minutes ago, saying: purl, git? Tux was last seen on #perl-qa 21 hours, 3 minutes and 56 seconds ago, saying: :) % tetragon has joined #parrot ambs? well, ambs is Alberto Simoes, one of the organizers of YAPC::EU::2005 and available at mailto:ambs@cpan.org seen ambs? ambs was last seen on #parrot 4 days and 17 hours ago, saying: Auzon, no such file or directory [May 23 12:21:01 2008] ambs was last seen on #yapc 1 year, 8 months, 20 days, 18 hours, 8 minutes and 3 seconds ago, saying: ruivilela, try to explain miyagawa how you are using XML::Atom seen coke? coke was last seen on #parrot 4 days and 17 hours ago, saying: quadruples the RAM on his desktop. [May 23 12:26:52 2008] Coke was last seen on #yapc 1 year, 11 months, 2 days, 9 hours, 19 minutes and 44 seconds ago, saying: will it be obvious where to go upon entering the building? coke was last seen on #yapc 1 year, 11 months, 2 days, 10 hours, 4 minutes and 27 seconds ago, saying: possibly. seen coke? coke was last seen on #parrot 4 days and 17 hours ago, saying: quadruples the RAM on his desktop. [May 23 12:26:52 2008] Coke was last seen on #yapc 1 year, 11 months, 2 days, 9 hours, 20 minutes and 19 seconds ago, saying: will it be obvious where to go upon entering the building? coke was last seen on #yapc 1 year, 11 months, 2 days, 10 hours, 5 minutes and 2 seconds ago, saying: possibly. % Tux has joined #parrot (just checking) ... seen coke Coke was last seen on #yapc 1 year, 11 months, 2 days, 9 hours, 20 minutes and 59 seconds ago, saying: will it be obvious where to go upon entering the building? coke was last seen on #yapc 1 year, 11 months, 2 days, 10 hours, 5 minutes and 42 seconds ago, saying: possibly. coke was last seen on #parrot 4 days and 17 hours ago, saying: quadruples the RAM on his desktop. [May 23 12:26:52 2008] % AndyA has joined #parrot It would be cool with a bot in the channel :) seen purl purl was last seen on #parrot 5 minutes and 2 seconds ago, saying: coke was last seen on #parrot 4 days and 17 hours ago, saying: quadruples the RAM on his desktop. [May 23 12:26:52 2008] purl was last seen on #perlfr 5 days and 19 hours ago, saying: i think list::util is now in core. The version there has been fixed up. [May 22 10:39:51 2008] clunker3: what? baest: you can still /ignoe clunker3 seen purl purl was last seen on #parrot 23 seconds ago, saying: clunker3: what? purl was last seen on #perlfr 5 days and 19 hours ago, saying: i think list::util is now in core. The version there has been fixed up. [May 22 10:39:51 2008] clunker3: i haven't a clue moritz: true :) I'll check clunker3' code for being silent on seen if purl or dipsy are around Tux++ # reducing irc annoyance summon pmichaud % gryphon has joined #parrot ambs invited clunker3 here. I've got no problem if you want it to leave hmm... doesn't work... Look buddy, doesn't work is a strong statement. Does it sit on the couch all day? Is it making faces at you? Does it want more money? Is it sleeping with your girlfriend? Please be specific! pmichaud, ping !summon pmichaud PMICHAUD pMIcHaUd PMIcHaud pmICHAUd PmICHAud pmICHAud PmiChAUD PmiChAUd pMIcHAuD PMIcHaUD PMiChAUd PMIcHAud, Tux needs you pong o! It works :) * moritz is really impressed no, I had already seen bacek's summons. leading bang is clunker only commands clunker3 is just annoying noise. :-) * bacek is great summoner :) pmichaud, how is you rt-queue-disposal process? just tel clunker3 to go then: !part #parrot bacek: working on it now. pmichaud, great! I'm having to deal with $otherjob this morning -- apparently they think I'm to be no longer employed in 3 days. :-| urk. pmichaud, eek... % AndyA has left AndyA!~andy@82.152.157.85 opbots, names % DietCoke is now known as Coke opbots, names (I have two contracts with them -- one contract ends on the 31st, but the other one continues.) opbots, trust me? Ok But I do not trust you Coke pmichaud, it's classic... opbots, names? * Coke smacks the opbots. % Coke is now known as DietCoke pmichaud, I have another stupid question... map { () } and map { [] } generates same pir. we haven't implemented arrays yet some not-yet-implemented magick? ok :) that's waiting on jonathan's mutables work Should it be separate class? it will end up being an Array container with a List afk for a bit % AndyA has joined #parrot % tetragon has left tetragon!~seneca@216.126.67.44 % masak has joined #parrot % AndyA has left AndyA!~andy@82.152.157.85 % braceta has left braceta!~Braceta@bl10-150-247.dsl.telepac.pt j seen coke Coke was last seen on #parrot 29 minutes and 44 seconds ago, saying: opbots, names? coke was last seen on #yapc 1 year, 11 months, 2 days, 10 hours, 45 minutes and 12 seconds ago, saying: possibly. coke was last seen on #parrot 29 minutes and 34 seconds ago, saying: smacks the opbots. seen coke Coke was last seen on #parrot 29 minutes and 46 seconds ago, saying: opbots, names? coke was last seen on #parrot 29 minutes and 36 seconds ago, saying: smacks the opbots. coke was last seen on #yapc 1 year, 11 months, 2 days, 10 hours, 45 minutes and 14 seconds ago, saying: possibly. grrrr !names seen DietCoke DietCoke was last seen on #parrot 30 minutes and 58 seconds ago, saying: opbots, names DietCoke was last seen on #parrot 30 minutes and 59 seconds ago, saying: opbots, names Ahhh, maybe the names list is too long, and I don't see past the first line! !names !names seen coke Coke was last seen on #parrot 40 minutes ago, saying: opbots, names? coke was last seen on #yapc 1 year, 11 months, 2 days, 10 hours, 55 minutes and 28 seconds ago, saying: possibly. coke was last seen on #parrot 39 minutes and 49 seconds ago, saying: smacks the opbots. !names !names % jhorwitz has joined #parrot r27871 | pmichaud++ | trunk: : [rakudo]: : * Add some more operators (RT#54946, dolmen++) : * Patch courtesy Olivier Mengué diff: http://www.parrotvm.org/svn/parrot/revision?rev=27871 pmichaud: what encoding are the commit messages in? moritz: utf8, I suspect. weird, my client (also utf8) shows them correclty, while the logs (that default to utf8) show it wrongly % AndyA has joined #parrot which client? which client is, like, that purl, forget which client DietCoke: I forgot which client DietCoke: irssi looks fine here. I suspect you might have a TERM problem somewhere. (and usually I'm on the failing end of that. GO ME!) hey, I'm a real peson! % Whiteknight has joined #parrot ... paesan? (I don't know what's up with the opbots lately.) * pmichaud grimaces when looking at List.pir the logging bot is to blame oh. pmichaud, don't like spagetty? no, some of the methods are really convoluted and overly complex !names seen coke coke was last seen on #parrot 52 minutes and 44 seconds ago, saying: smacks the opbots. moritz: I am able to see the accent on the 'e' in the last commit message it sent. FYI. (two wrongs might make a right here..) \o/ S29? S29 is, like, http://svn.pugscode.org/pugs/docs/Perl6/Spec/Functions.pod % Tux has left #parrot DietCoke: I just found out that dalek reported it here correctly, but rakudo_svn in #perl6 killed it. Bot::BasicBot has some problems with it as well - so nobody here (except me ;) is to blame pmichaud, #54822 will help little bit :) arggggh! List.pir has *two* sorts in it! pmichaud, what??? hmmm... pmichaud, is there an NQP test suitable for profiling? I'm working on #54822 now, which is what is causing me to notice all of these things. :-) I'll apply #54822, then clean everything up. pmichaud++ % AndyA has left AndyA!~andy@82.152.157.85 pmichaud, there is 2 sorts in my version: method and operator. is it wrong? oh, okay. sub, not operator, is it? the method sort needs to have an RT ticket so that we can get rid of the FPA stuff. moritz, yes (if I understand question correctly) btw current rakudo fails t/spec/S29-array/kv yes, I noticed that. Haven't gotten around to it. Oddly, spectest_regression reports "All tests successful" pmichaud: maybe this is related to fudge (not?) changing the return value? moritz, which test failed??? bacek: t/spec/S29-array/kv.t it says error:imcc:syntax error, unexpected '\n' in file 'EVAL_12' line 277 moritz, there is no fudgin in this test... but then continues as normal bacek: right, I just saw that moritz, it happens for few days already... anyway, we definitely shouldn't be getting the imcc syntax error so I'll put it on my list of things to fix today. when I compile the test to pir and try to run that with parrot I get the same error - and then it doesn't resume execution % AndyA has joined #parrot the offending line is 277, 'copy $P22,' r27872 | pmichaud++ | trunk: : [rakudo]: : * Refactored version of List's grep, reduce, first methods (RT#54822, bacek++) : * Patch courtesy Vasily Chekalkin diff: http://www.parrotvm.org/svn/parrot/revision?rev=27872 moritz, looks like it generated from '@a = ()'... pmichaud, thanks :) moritz, yes. Try compile to pir 'my @a = ()' oh, I can probably fix that one. "bacek" at 202.7.166.170 pasted "Incorrect PAST for '@a=()'" (19 lines) at http://nopaste.snit.ch/13089 right, it probably has to do with my infix:, patches over the weekend % AndyA has left AndyA!~andy@82.152.157.85 r27873 | Whiteknight++ | gsoc_pdd09: : [gsoc_pdd09] updating to trunk r27871 diff: http://www.parrotvm.org/svn/parrot/revision?rev=27873 r27874 | pmichaud++ | trunk: : [rakudo]: : * Handle negative length in Str.substr (RT#54766, bacek++) : * Patch courtesy Vasily Chekalkin diff: http://www.parrotvm.org/svn/parrot/revision?rev=27874 bacek: does #54766 handle the case where the negative length is larger than the length of the string ? pmichaud, yes. pmichaud, it passing S29-str/substr.t negative indxes are different in Perl 6 than in Perl 5 except lvalue assignment... you need @array[*-1] if you want to access the last item ok 9 - from beginning, with negative length ok 10 - in middle, with negative length ok 11 - negative length - gives empty string moritz: this is for substr() oh, /me is confused sorry I don't know if substr requires *-1 don't think so, also it would be consistent s/also/although/ I think the spectests still use [-1] though. sorry, sanity tests pmichaud, you can add S29-str/substr.t in t/passing_tests. I forgot to do it... pmichaud: I'll have a look at the tests oh, maybe not. I thought I saw that this weekend, though. I should've filed a ticket. what "maybe not"? oh, it's in the 00-parrot tests never mind. :-) moritz: in RT#54762 (README patch), the link http://svn.pugscode.org/tests/spec/ doesn't seem to work should that be .../pugs/t/spec/ ? pmichaud: yes http://svn.pugscode.org/pugs/t/spec is correct r27875 | pmichaud++ | trunk: : [rakudo]: : * Update README with "make spectest_regression" (RT#54762, moritz++) : * Patch courtesy Moritz Lenz diff: http://www.parrotvm.org/svn/parrot/revision?rev=27875 okay, that helps to clear out the perl6 RT queue a bit. :-) % iblechbot has left iblechbot!~iblechbot@204.4-dial.augustakom.net r27876 | pmichaud++ | trunk: : [rakudo]: : * Add 'pop' function. (RT#54746, bacek++) : * Patch courtesy Vasily Chekalkin diff: http://www.parrotvm.org/svn/parrot/revision?rev=27876 pmichaud, I can create more tickets :) pmichaud++ # going through the tickets karma pmichaud pmichaud has karma of 1307 bacek: is #54742 still relevant, or was that superceded by a later patch? pmichaud, just a sec pmichaud, yes, it relevant. There is latest version of 'map' attached :) http://rt.perl.org/rt3/Ticket/Attachment/413800/188114/map.diff I hope that it almost correct version. moritz, I think you can add more tests to t/passing_tests ;) bacek: I'll wait until the flood of commits ceases, then I'll write a short script that automatically suggests which tests to add * jonathan would be happy if someone more familiar with merging stuff would put all the latest trunk work into the mutables branch. % cjfields has joined #parrot I suspect it might be easier to merge the mutables branch into trunk when it works. Ok, whatever. :-) % jrockway has left jrockway!~jrockway@stonepath.jrock.us * jonathan doesn't want it to be too painful. :-) I won't get to look at it again until I'm at FPW, or on the way there at least. proposal: when you have mutables to the point where you want to try a merge, pass it to me so I can do the merge. This would also give me a good opportunity to review the mutables code. jonathan, it will be painful... Merging in svn is really bad... Still got talks to finish up, my bag got sent to Munich rather than to my airport yesterday so I've gotta go find another bag, since they've not managed to get it to me today... if I get a chance to do a merge into the mutables branch I'll do it, though. but this morning I'm toying with the idea of switching rakudo's grammar to be proto-regex based so that we can start getting infix_prefix_meta and the like. Sure, there's no hurry. I'm just keen on knowing that if I get a clean set of test results in the Mutables branch, then it's going to be reflected when it's merged into trunk. I think we'll still have some merging to do, but thus far the patches I'm submitting to trunk shouldn't have a huge impact on mutables. % jrockway has joined #parrot currently it looks like there are no merge conflicts between trunk and mutablerakudo I think I should hold off on list context until after merge, though. either that or try to do list context in the branch. but I'm not quite there yet. Let's see, when the branch is ready. r27877 | pmichaud++ | trunk: : [rakudo]: : * Add refactored implementation of 'map' (RT#54742, bacek++) : * Patch courtesy Vasily Chekalkin diff: http://www.parrotvm.org/svn/parrot/revision?rev=27877 eta? eta is, like, estimated time of arrival or Euskadi Ta Askatasuna, or like the Basque PLO I'm hoping I get enough hacking time in at FPW to have it ready by the end of the weekend. % iblechbot has joined #parrot that would be awesome. I won't get any time in on it today...still got lots to sort out and I have to leave here about 4am tomorrow to get the bus to the airport. no problem. I have plenty to keep me busy at the moment. protoregex implementation may take a couple of days, as will the pge refactor I'm hoping to avoid a deprecation cycle in PGE but might not be able to do that. * jonathan is gecked that they lost his bag at about one of the most inconvenient times possible. % uniejo has left uniejo!~uniejo@langebro.adapt.dk OK, sounds like you've got plenty on your plate. :-) okay, time to clean up the List code. dies_ok({ my @r; @r.push; }, 'bar'); I don't understand it... rakudo too. Method 'viviself' not found for invocant of class 'PAST::Op' what's the fudge directive to comment out all the rest of a test file? I don't know that there is one. might just try using an obscenely high skip value. I think I did that for one of the tests (something like 9999 or 99999) moritz, 1000 skip ::) pmichaud: does that comment out lines that aren't tests? moritz, no I think so, yes. "skip" in fudge comments out code as being unparseable. pmichaud: is rakudo 'trans' supposed to be implemented? S29? rumour has it S29 is http://svn.pugscode.org/pugs/docs/Perl6/Spec/Functions.pod transliteration. S05? (merging in svn is really bad) I disagree, at least for the types of merging we're doing with parrot. S05? S05 is http://dev.perl.org/perl6/doc/design/syn/S05.html (feeding the bot :-) no, transliteration isn't implemented yet I'm guessing that transliteration appears in S05 for historical reasons, though, because ".trans" doesn't appear to have anything to do with regexes pmichaud, can you fix '@a=()'. Pleeease :) pmichaud: Okay. It looks like trans() is partially implemented in string.pmc might be able to use that one somewhat. so it appears to be 'peaking through' when testing it out right. do you think it would be worth trying to get a partially implemented trans() working for rakudo? yes. it shouldn't be too difficult. might even be a good candidate for a p6 implementation instead of a pir one r27878 | Whiteknight++ | trunk: : [languages] updating all languages except Tcl and Perl6 to use ".namespace []" as per rt#48549. all tests that were passing are still passing. diff: http://www.parrotvm.org/svn/parrot/revision?rev=27878 okay. I'll see what I can come up with, will post to RT when I can Whiteknight: it's ok if you want to update Tcl as well. i will, it just has a lot of instances, and I want to make sure to focus and do it very carefully % rdice has joined #parrot we have at least four new files that pass rakudo's test suite (fudged, though) r27879 | pmichaud++ | trunk: : [rakudo]: : * Fix "()" (and "[]") to return an empty list. : * Reported by bacek++, moritz++ . diff: http://www.parrotvm.org/svn/parrot/revision?rev=27879 t/spec/S29-array/kv.t passes in r27879. Whiteknight: thank you for not breaking tcl. =-) while you're in there, see if you can make it run expr.t in about 1/30 of the time. well, i dont know Tcl, so....ok! pmichaud++ % AndyA has joined #parrot % masak has left masak!~user@nl119-202-176.student.uu.se Stupid question... How signature of this 'our Int multi method push ( @array: *@values ) is export' should be in PIR? pmichaud: http://nopaste.snit.ch/13090 # more tests for spectest_regression pmichaud: i think your refactored code could still use some work particle: example? shouldn't we be using 'get_iter' rather than new 'Iterator'? or reference? hmmm... reference is now stringified moritz++ # for spectest_regression as usual :) actually, I suspect we should be using .iterator but only S09 references that at the moment. either way, we should be asking the aggregate for an iterator of it's chosing well, that's really what new 'Iterator', .... does it calls get_iter on the PREG arg? it asks the preg arg for an iterator, yes. if so, then it's TIMTOWTDI it doesn't use get_iter to do it, I don't think. Please use get_iter, not new 'Iterator' :) Otherwise file handles, ranges, etc, won't work. ok. i can update, since pmichaud is quite busy for now let's use .iterator in preference to get_iter .iterator? needs to be written Hashes have a .iterator on them, so I'm assuming that arrays and lists could do the same. Ah, OK. yeah. S09. jonathan: how does how you get the iterator matter? (at the PIR level, both new Iterator, foo and get_iter foo should do the same thing, neh? When the hash itself needs an iterator for C<.pairs>, C<.keys>, C<.values>, or C<.kv>, it calls C<%hash.iterator()> to start one. In item context, C<.iterator> returns an iterator object. In list context, it returns a lazy list fed by the iterator. It must be possible for a hash to be in more than one iterator at a time, DietCoke: new 'Iterator' instantiates an Iterator PMC. as long as the iterator state is stored in a lazy list. * bacek wander what [*-1] means... jonathan: and get_iter doesn't instantiate a PMC? bacek: [*-1] is the last element of a list DietCoke: get_iter vtable method lets a PMC say what sort of iterator it wants. '*' is the "whatever star" So you aren't tied to the default Parrot Iterator. pmichaud, S? so @a[*] means "all elements of a list" ... ah. it just happens to be that way for the defaults, but not the ones you mentioned, necessary, got it, thanks. S09 perhaps? "necessarily" moritz, thanks Yes, for built-in PMCs it does the same today. jonathan++ particle: I'm about to make massive changes to List.pir, so you might want to wait on that one. wilco i'm rebuilding parrot atm, so you've got 10-15m before it and rakudo are ready for me to hack anyway is get_iter a vtable method? pmichaud: Yes, and the iter op calls it. looks like Whatever.pir is just stub... I don't think rakudo implements [*-1] yet. bacek: I don't think that Whatever has to acutally *do* something, I suspect it's more like a flag that can be used in MMD I haven't myself done much with Whatever beyond making it parse and create an instance of Whatever. % AndyA has left AndyA!~andy@82.152.157.85 Many places need to use it. pmichaud, I think so... Well, what moritz said. :-) * particle wants to rename t/passing_spec to t/spectest_regression.data or similar particle: do it, it's just a small patch * moritz isn't exactly famous for picking telling names they're not passing spec, anyway they're passing fudged spec correct? Someone can test my last patch in #54602 on some non linux386? NotFound: URL? http://rt.perl.org/rt3/Ticket/Attachment/413398/187902/hello.patch NotFound's url is at http://xrl.us/bk58x particle: correct * particle would love a test management system specifically something that allows each user to specify a list of test files, and how they should be run (raw, fudged, etc) as well as standard sets of test files everyone can run then i could update (eg. t/.testrc) with the list of tests important to me as i develop feature X NotFound: it builds, I'm smoking now particle: we already have that. moritz: make hello is the thing to test. NotFound: do I have to re-run configure? Hello from your friendly makefile No. "specify a list of test files" is the --tests-from-file option to t/harness. pmichaud: we need a little more infrastructure, like makefile targets. ok, i'll work on that Ok, you can also build perl6, just in case, you can't fudge on a per-file basis yet NotFound: builds fine, tests atm oh, yes, we don't have fudge on a per-file basis moritz: what platform? we certainly *could* fudge per-file that might be cool. NotFound: Debian GNU/Linux i386 I can implement that (hopefully) I wasn't thinking of per-file fudging. moritz++ # that would be a huge help so then --fudge needs to become --fudge-all, probably. :-) btw it takes about 6 minutes to "run" the full t/spec/ test suite (without t/spec/S29-conversions/ord_and_chr.t which hangs for me) heck, we could stick everything in one ini-style data file Some report on other platforms will be good. er, fap. I messed up r27880. r27880 | pmichaud++ | trunk: : [rakudo]: : * Add 'iterator' method to List. : * Fix 'perl' method to be a lot cleaner and simpler. diff: http://www.parrotvm.org/svn/parrot/revision?rev=27880 of course, 'perl' was wrong in 27879 also. heh Yeah, needs to call .perl on each element. right. it was the ".local string res" "res .= '['" that bugged me. wow. yeah, i really screwed that up when i wrote it earlier this week (ugly code)-- karma (ugly code) (ugly code) has neutral karma hmmm... too bad. karma ugly code ugly code has karma of -4 karma pmichaud pmichaud has karma of 1311 only -4??? http://nopaste.snit.ch/13091 that could go in a tools/ subdir. it's not cross-platform that's okay, doesn't have to be. should '@a.push(@b)' 'flatten' argument? (if someone wants to make it cross-platform, that'd be great.) r27881 | pmichaud++ | trunk: : [rakudo]: : * Fix List.perl() method. diff: http://www.parrotvm.org/svn/parrot/revision?rev=27881 tcl/t/cmd_lsort is giving me a weird return value. All the subtests pass, but the test itself returns 1 I dont know if that's normal after looking at S03, I'm of the opinion that List should not have an .ACCEPTS method. anyone want to agree/disagree ? (smart match table, specifically) Whiteknight: it's expected in trunk. hopefully the pdd25cx branch addresses that particular issue. okay, just making sure other people are seeing what i'm seeing thanks for checking. r27882 | Whiteknight++ | trunk: : [languages] updating Tcl to use ".namespace []" as per rt#48549. all tests that were passing are still passing. diff: http://www.parrotvm.org/svn/parrot/revision?rev=27882 "bacek" at 202.7.166.164 pasted "Parse failure..." (19 lines) at http://nopaste.snit.ch/13092 there is two "pod" sections. rakudo fails to parse it... bacek: yes, I noticed that rakudo has trouble with pod and blocks btw rt numbers matching #\d{5}\b are now links in the IRC logs % davidfetter has left davidfetter!~davidfett@start.fetter.org excellent. I have Windows+R on my keyboard mapped to automatically find an RT ticket number in selected text and open it. :-) pmichaud: S03 would seem to agree with you. :-) % davidfetter has joined #parrot jonathan++ I'm going to need lunch soon, so I'll take a break here and do more List cleanups when I get back. And figure out the pod parsing bug. Whiteknight: tools/gen_inline.pl:62:print ".namespace\n"; (it's a file that generates PIR, rather than PIR itself_ that's probably why ack didn't find it for me thanks moritz++ # i may start using the log every day now if you made a pidgin plugin, i'd love you even more :) % skv has joined #parrot which log? DietCoke: http://irclog.perlgeek.de/parrot/today mostly tailored for #perl6, but useful for here as well nifty. * DietCoke waves to himself in the log. % Andy has left Andy!~AndyL@host3130.follett.com * particle looks at /title * particle notices /#w+/ doesn't link to anything particle: should it link at anything? if so, what? irc channels irc channels are NOT w in any way good night everyone forget irc channels particle: I forgot irc channels * bacek := $bed; night, bacek ...I can't decide of binding or assignment of a bed would be more painful... *which of particle: that's hard because a #channel name isn't enough to identify a channel, generally binding to a bed sounds kinky heh ;) moritz: yes, i tend to use irc.perl.org#parrot for fullname, but #parrot for shortname we'd have to have a registry for shortnames particle: so what should it link to? the logs? or an irc:// link? and what would the link go to, a cgi irc connection? logs? heh lol hrmm * particle wishes firefox's tab management was better r27883 | Whiteknight++ | trunk: : [languages] last straggler Tcl update to use ".namespace []" as per rt#48549. DietCoke++ for finding it. diff: http://www.parrotvm.org/svn/parrot/revision?rev=27883 particle: there are many extensions to improve it ;) i use tabbrowser preferences yet *now tabmix plus makes a difference can you bookmark groups of tabs with it? dunno, never felt the urge to do that I use vertigo and permatabs particle: that's in core in 3.0 * particle downloads 3.0b* and gets breakfast particle: rc! not b anymore ;) test: #perl6 particle++ maybe i should start a file that lists my developer tools if there isn't a userstack anymore, do we have stack-based subroutine calls, or the fastcall pragma anymore? others can add to it Whiteknight: we still have bsr/ret, if that's what you're referring to. pmichaud: i think he's updating the book but he didn't provide the context :) I'm trying to map "stack-based subroutine calls" into what I know. s/stack/continuation/ ? yes, I am updating the book. It talks about .pragma fastcall, pushing and popping arguments onto the user stack, etc I assume this whole section needs to be BALEETED, but I dont know i'm not sure fastcall pragma does anything useful, if it's still around I don't know if we have .pragma fastcall anymore -- I've never used it. we no longer push/pop arguments onto the user stack. (because there is no user stack :-) "When the fastcall pragma is on, the .arg, .result, .param, and .return directives push and pop on the user stack instead of setting registers" % Theory has joined #parrot heh that's.... amusing since pushing and popping on the user stack was probably significantly slower than setting registers. :-P I asume we also no longer support the "saveall" and "restoreall" opcodes? correct, saveall/restoreall are gone also. okay, then this whole section is being deleted. thanks afk, lunch. particle, if the fastcall pragma were still around, where would i look for it? I may have some tuits later today for ripping it out (if it's still around somewhere) ack fastcall :) haha, good call. particle: I was about to say that - ack++ i forget about ack, i just installed it recently it only finds fastcall in docs/book/* ...okay, it appears the only place that word exists, in the entire parrot repo, is in the book % braceta has joined #parrot Whiteknight: make sure to use ack -a to search all files, not just those ack normally looks for r27884 | particle++ | trunk: : [rakudo] rename t/passing_spec to t/spectest_regression.data : ~ update makefile template to match diff: http://www.parrotvm.org/svn/parrot/revision?rev=27884 % ejs has left ejs!~ejs@nat.ironport.com % Zaba_ has joined #parrot r27885 | particle++ | trunk: : [rakudo] add more passing tests to spectest_regression : Courtesy of Moritz Lenz (moritz++) diff: http://www.parrotvm.org/svn/parrot/revision?rev=27885 % Zaba has left Zaba!~zaba@ip102.148.adsl.wplus.ru r27886 | Whiteknight++ | trunk: : [docs/book] update chapters 4 and 8 to remove all mention of the user stack, and proper syntax for the .namespace directive. diff: http://www.parrotvm.org/svn/parrot/revision?rev=27886 % Whiteknight is now known as wknight-away r27887 | particle++ | trunk: : [rakudo] : this ugly piece of perl 5 code runs 'make spectest' and looks : for passing test files that are not yet included in the : 'spectest_regression' target. The output is an evil mess, but still useful. jonathan will not board the plane to Toulouse if he parses silently code that does not do the right thing :) : ~ not cross-platform : ~ needs to be generalized : ~ patches welcome : Courtesy of Moritz Lenz (moritz++) diff: http://www.parrotvm.org/svn/parrot/revision?rev=27887 Whatever re fudge on a per-file basis - what kind of filtering do you want? whitelist? blacklist? regex-based? hrmm i imagine something like this: in a config file, list the tests you want run, either dirs or filenames also list the default fudge policy (on or off) as a bonus, on individual tests, override that policy so, in t/spectest_regression.data, perhaps: #raw\nS02-literals/radix.t #fudge\n... or s/raw/pure/ % Psyche^ has joined #parrot that sounds sensible particle: I think a file listing your dev tools would be helpful does pugs have a file like that? i can only think of VICTUALS and READTHEM % Patterner has left Patterner!~Psyche@g224104073.adsl.alicedsl.de % Psyche^ is now known as Patterner maybe i'll make one called docs/dev/toolchain.pod well, seeing as how it's nigh impossible to build pugs from svn these days (without having exactly the proper ghc version and other dependencies)... i'm just looking for a filename or format, but i think toolchain.pod makes sense I was replying to "does pugs have a file like that?" i may throw my .vimrc file into examples or tools or docs, too languages/perl6/t/spec/S29-conversions/ord_and_chr.t is hanging for me. Tene: same for me Tene: it seems to be a charset problem % ejs has joined #parrot % particl1 has joined #parrot % particle has left particle!~particle@c-98-232-7-104.hsd1.wa.comcast.net % particl1 is now known as particle % AndyA has joined #parrot P6metaclass? What about it? Is a perl6 thing? Yeah. Is used by PGE, and looks like it use get_attr_str with the attribute 'parrotclass' And fails when attempting to do #46669 seen allison? allison was last seen on #parrot 7 days and 21 hours ago, saying: I've seen that, Infinoid++, [May 20 13:48:40 2008] particle: patch sent Is called from here: .sub 'get_parrotclass' :method :multi(_,P6metaclass) % cjfields has left cjfields!~cjfields@cjfields.igb.uiuc.edu % AndyA has left AndyA!~andy@82.152.157.85 % AndyA has joined #parrot manifest check fails in 27887 not for me what is it complaining about? Checking MANIFEST...No such file: languages/perl6/t/passing_spec % cjfields has joined #parrot % cjfields has left cjfields!~cjfields@cjfields.igb.uiuc.edu that's my fault, will fix % cjfields has joined #parrot fails for me .. MANIFEST must die! Blame the messenger ;) ooh, I got a 50$ discount on my yapc admission. s/admission/housing/ % Ivatar has joined #parrot r27888 | particle++ | trunk: : i hate manifest. particle-- NotFound++ diff: http://www.parrotvm.org/svn/parrot/revision?rev=27888 now is ok :) Done. % AndyA has left AndyA!~andy@82.152.157.85 * DietCoke wonders how the MANIFEST must die ticket was resolved. marked as wontfix? % Ron has joined #parrot iunno, it was ages ago. but I hated manifest so much at one point I opened a ticket with that subject. I have mellowed in my old age. Some day I will open one "Headerizer must die" why do you hate headerizer? it's *so* much better than keeping declarations/definitions the same manually At a cost. for compiling parrot in a macos 10.3 ppc with gcc4 I need to declare an enviroment variable, what is the prefered method ? % AndyA has joined #parrot put a warning in hints ? [Parrot] New comment on Episode 2: Poking in Compiler Guts. it is tempting to add p2 to the list of places where new comments are forwarded. (from parrotblog) nopaste? http://pasta.test-smoke.org/ or http://paste.husk.org/ or http://nopaste.snit.ch:8001/ or http://rafb.net/paste or http://poundperl.pastebin.com/ or http://paste.scsys.co.uk/ i guess nopaste is at http://nopaste.snit.ch/ (ask TonyC for new channels) or http://rafb.net/paste or http://paste.husk.org/ or http://poundperl.pastebin.com/ or http://paste.scsys.co.uk/ or don't bother me while I'm eating or App::Nopaste purl, nopaste is also tools/dev/nopaste.pl okay, Infinoid. % AndyA has left AndyA!~andy@82.152.157.85 languages/perl6/tools/update_passing_test_data.pl fails copyrigth and svn codingstd tests. this is why I think that rakudo's "make test" target needs to run parrot's copyright, svn, and codingstd tests people keep making changes to rakudo that fail parrot's tests. I second that. Off with his head! unfortunately there's not a convenient top-level make target to run just those tests. why Perl 6 is not built by default or we exempt languages from the codingstd tests, or pull rakudo out of parrot svn. meantime, i'll fixup the failing files I don't think languages should be exempted from the codingstd tests. At least, I see no strong reason for doing that now. i.e., I'd like the rakudo sources to meet coding standards also. :-) % iblechbot has left iblechbot!~iblechbot@ppp-62-216-197-45.dynamic.mnet-online.de Maybe they must have each his own. % AndyA has joined #parrot Me too...APART from trailing_whitespace.t ;-) cognominal: Will be seeing you in some hours. I'm going to vote that #46669 be rejected. It can be a problem to pass trailing whitespace if someone creates languages/whitespace returning NULL is pretty much the standard for "non-existent object" in Parrot. pmichaud: I have to run now, but I can try later to create a patch to make the copyright/svn/codingstd test block be a single make target ... is there an RT for this? japhb: not yet. I suggest make codetest that works for me DietCoke, pmichaud: one of you submit an RT, and I will take a look at it. But first, $real_life r27889 | particle++ | trunk: : [rakudo] update comment in makefile template diff: http://www.parrotvm.org/svn/parrot/revision?rev=27889 pmichaud: and throwing an exception creates the need to catch it when you are interested just in check presence, or create another way to do the check. I'll do it. NotFound: exactly. Parrot arrays, hashes, namespace symbols, and other operations all return null when requesting a value that doesn't exist (as opposed to throwing an exception) -- get_attribute should do the same. In fact, PCT currently relies on that behavior. Mmmm... PMCNULL in fact, it isn't? yes, it probably needs to be PMCNULL. % AndyA has left AndyA!~andy@82.152.157.85 Is reasonable, because the exception is usually thrown if the returned value is used unecheked. So the poblem will always be catched. (it does change where the problem is found, though.) still, I'd hate to have to put exception handlers around every symbol access. :-| Yeah, but when the exact point is required to be known, the check can be added. correct. pmichaud: is 46669 perhaps distinguishing between an attribute which is defined but has no value vs. one that is undefined? (that is, something that wasn't created with setattribute first) according to the comments and code it looks to me as though it's trying to throw an exception on a null value as opposed to a non-existent attribute name then you win. % AndyA has joined #parrot at least, that's what the ticket title indicates. Maybe the correct solution will be that default.pmc must not do nothing, each interested pmc must do it his way. default.pmc should do the "parrot standard" thing, and any pmc's that want something different should override The standard thing can be returning PMCNULL. I don't see set_attr_str in default.pmc :? maybe it's something that can't be defaulted. In the c file: cant_do_method(interp, pmc, "set_attr_str"); although get_attr_str is doing some weird stuff w.r.t nci. I have no clue what that's all about. also something odd with multisubs. pmichaud: that's the problem, there is stuff that is no default. that's not a problem -- there can be things with no default. They'll throw an exception if you try to use them. (i.e., the default is "throw an exception") I mean, default does things that are no default behaviour. oh. yeah, I'm not sure what's up with that. It looks as though it's changing behavior depending on the value retrieved anyone besides me think it would be reasonable for List.keys() to return a Range ? I'm sure that I don't understand almost nothing of what it does X-) pmichaud: for the standard index scheme yes r27890 | chromatic++ | trunk: : [PMC] Resolved a rejected TODO (RT #46669). : Reworked its code path to avoid a potential bug. : Tidied the file slightly. diff: http://www.parrotvm.org/svn/parrot/revision?rev=27890 Looks like somenone has decided ;) % ruoso has left ruoso!~ruoso@195.23.92.2 % barney has joined #parrot allison@perl.org | Bylaws: link: http://www.perlfoundation.org/parrot/index.cgi?bylaws that's good enough for me. One more RT ticket resolved (NotFound++) allison@perl.org | Bylaws: link: http://www.perlfoundation.org/parrot/index.cgi?bylaws looks like we're down to 24 + 666 = 690 We must close someone fast, to avoid the coming of the antichrist! some of those new tickets can probably be opened. presuming they are things we know we're going to eventually work on. I'm not sure that #54520 ticket and first comment talk about the same thing. The ticket is about pmc inheritance, not class inheritance, it isn't? NotFound: correct. I think I started to comment on this ticket but didn't finish+send. I looked and some doc, and I'm not sure where each type of inheritance is documented or discussed. but I think perhaps #54520 has been resolved, because it was reported earlier that ".trans" was being invoked on strings. (in rakudo) and that has to be coming via PMC inheritance. And looking at the code, is not clear to me that a pmc automatic delegates to his parent. well, since that's really the purpose of "inheritance".... :-) Looks like MRO has not knowledge about PMC parents. And the generated vtable entries points to default. but methods aren't vtabled. unless you mean the find_method vtable entry Looks like nothing is delegated, methods nor vtable. In the example used in the ticket, I think is a method that calls an vtable function. And the method is not defined in the child pmc. % barney has left barney!~bernhard@dslb-084-058-162-027.pools.arcor-ip.net % japhb has left japhb!~geoff@76-191-190-8.dsl.static.sonic.net % braceta has left braceta!~Braceta@bl10-150-247.dsl.telepac.pt % braceta has joined #parrot r27891 | pmichaud++ | trunk: : [rakudo]: : * Clean up .unshift, .keys, .values diff: http://www.parrotvm.org/svn/parrot/revision?rev=27891 DietCoke: ping pong % Ron has left Ron!rblasch@80-121-77-72.adsl.highway.telekom.at % bacek has left bacek!~bacek@123-243-38-218.tpgi.com.au % ruoso has joined #parrot % Andy has joined #parrot % purl has left purl!purl@sentient.life % purl has joined #parrot DietCoke: phone % avar has left avar!avar@u.nix.is % avar has joined #parrot % bacek has joined #parrot whoops. % AndyA has left AndyA!~andy@82.152.157.85 % sjansen has joined #parrot % cjfields has left cjfields!~cjfields@cjfields.igb.uiuc.edu % braceta has left braceta!~Braceta@bl10-150-247.dsl.telepac.pt % bacek has left bacek!~bacek@123-243-38-218.tpgi.com.au % AndyA has joined #parrot % tewk_ has joined #parrot % tewk has left tewk!~tewk@ekstrom.org % Zaba has joined #parrot The function list_dump in src/list.c is never used. % Zaba_ has left Zaba_!~zaba@ip102.148.adsl.wplus.ru r27892 | pmichaud++ | trunk: : [rakudo]: : * More cleanups to .unshift, .shift, .pop, .push diff: http://www.parrotvm.org/svn/parrot/revision?rev=27892 Worse, is used by intlist_dump in src/intlist.c ifdef LIST_DEBUG ... but is static in list.c. % bacek has joined #parrot An by the way, include/parrot/intlist.h says in his first line: /* stacks.h there is a ticket to resolve all the not-quite-the-same internal stacks & lists. fixed the bad filename ref. % rdice has left rdice!~richard_d@CPE0014bfafbbd5-CM0011e6ecf48a.cpe.net.cable.rogers.com How can be LIST_DEBUG defined? r27893 | coke++ | trunk: : file was lying about its name : NotFound++ diff: http://www.parrotvm.org/svn/parrot/revision?rev=27893 % Patterner has left Patterner!~Psyche@e177226222.adsl.alicedsl.de you can always specify -D flags to configure.pl ... I wouldn't expect to every do -DLIST_DEBUG, though. 'ever' I'll try. -DCOKE_DEBUG As expected: libparrot.so: undefined reference to `list_dump' % bacek has left bacek!~bacek@123-243-38-218.tpgi.com.au Seems like that would be a likely candidate for wholesale removal, then. -DIET_COKE Remove it, or fix it, that is the question. If there's no way to invoke it at the moment except for passing an arg to configure by hand that isn't documented anywhere... % Casan has left Casan!~IceChat7@users163.kollegienet.dk I fixed it, but can also delete anyway. If you're bored, you can provide both patches. =-) My concern is that if we're not invoking it or testing it anywhere, it's just going to rot again; there's no need to maintain dead code, as you've pointed out. Oh, no, I've done it just to be sure. r27894 | particle++ | trunk: : [rakudo] allow specification of local test list intlist_dump is never used, and is the only usage of list_dump, so deletion looks like the prefered way. : ~ 'make localtest' looks for a file named t/localtest.data : ~ localtest.data contains a list of test files and directories : this allows rakudo developers to specify a list of tests they wish to run locally during development of new features, etc. : 'make localtest' currently assumes the tests should be fudged. this assumption should be removed. diff: http://www.parrotvm.org/svn/parrot/revision?rev=27894 % bacek has joined #parrot I was not maintaining, just proving my point ;) particle: did you look at my patch for t/harness? particle: it already allows a to specify if the files should be fudged or not moritz: no, is it in rt? haven't seen a listmail yet fab. i'll review and apply now particle: #54988 % japhb has joined #parrot particle: you just have to trade the --fudge for --configfudge in 'make localtest', then only tests marked with \s+#fudge$ will be fudged hrmm i think i'll keep it as --fudge and make the default behavior that it only fudges files marked with #fudge in any *.data file why fudge tests if we don't have to? what do you think? I think particle should try flossing more often! * particle breathes in purl's face botsnack thanks cotto-work :) cotto-work: we've gotta meet up % tewk_ has left tewk_!~tewk@ekstrom.org % tewk has joined #parrot sure think hank's available within the next week or so? we're swamped until next week ok then particle: I know it's more pain to call t/harness manually than add #fudge to a few lines... % bacek has left bacek!~bacek@123-243-38-218.tpgi.com.au r27895 | pmichaud++ | trunk: : [rakudo]: : * Remove .ACCEPTS: S03 doesn't show a .ACCEPTS for List, and the one : we have here is likely bogus anyway. : * Rewrite .join: Parrot has a 'join' opcode, use it instead of : looping over repeated concatenations. : * Rewrite .reverse using iterators. Eventually we'll even make this : lazy. diff: http://www.parrotvm.org/svn/parrot/revision?rev=27895 particle: but maybe it might be even better if I check for #pure isntead? moritz: the ultimate goal is for all tests to pass pure we may not have reached a reasonable point where we should make that the default, though particle: yes, but for that goal we don't need fudging at all so fudging should be the default? particle, it looks like next week could work until it makes sense to run spectest without fudging, then fudging should be the default. moritz: that's a question i'm posing. should fudging be default for the near future? ok, there we go. wait, I lied he'll be in europe cotto-work: ok. i'm generally available every afternoon the week after next looks plausible % AndyA has left AndyA!~andy@82.152.157.85 % bacek has joined #parrot particle: revised patch sent moritz: thanks, i'll look in a moment % teknomunk has joined #parrot Code eraser strikes again: #55012 and I'm going to bed real soon. If you have feedback just write it here, I'll backlog wilco % bacek has left bacek!~bacek@123-243-38-218.tpgi.com.au % Ivatar has left Ivatar!~graham@tu055.demon.co.uk % Ivatar has joined #parrot % bacek has joined #parrot % ejs has left ejs!~ejs@64-232-124-91.pool.ukrtel.net % cjfields has joined #parrot % cjfields has left cjfields!~cjfields@newrad.igb.uiuc.edu r27896 | pmichaud++ | trunk: : [rakudo]: More List revisions : * Rework .kv, .exists, and .delete . : * The changes to .delete cause t/spec/S29-array/delete.t to fail, : but I think the spectest is wrong and this implementation is correct. diff: http://www.parrotvm.org/svn/parrot/revision?rev=27896 % Theory has left Theory!~Theory@c-24-21-175-208.hsd1.mn.comcast.net % ruoso has left ruoso!~ruoso@a213-22-75-39.cpe.netcabo.pt % cognominal has left cognominal!~cognomina@82.67.232.89 % rdice has joined #parrot % cognominal has joined #parrot % Ivatar has left Ivatar!~graham@tu055.demon.co.uk % Theory has joined #parrot % cognominal has left cognominal!~cognomina@82.67.232.89 % cjfields has joined #parrot % sjansen has left sjansen!~sjansen@hq-nat2.gurulabs.com % tetragon has joined #parrot % bacek has left bacek!~bacek@123-243-38-218.tpgi.com.au % cjfields has left cjfields!~cjfields@adsl-76-227-78-230.dsl.chmpil.sbcglobal.net % ank has left ank!~ank@ppp121-44-210-24.lns1.hba1.internode.on.net % ank has joined #parrot % bacek has joined #parrot % bacek_ has joined #parrot japhb: Triangle still spins with the newer patch % cognominal has joined #parrot tetragon: good! I have at least one more spin to do for Win32, but again I hope that won't negatively affect any other platform. meanwhile, I'm ruminating on some examples that make broader use of the API, now that I can. r27897 | particle++ | trunk: : [rakudo] [perl #54988] [PATCH] enhance t/harness (again) : ~ adds ability call fudge on a per-file basis via --configfudge option : ~ fudging (the default) can be disabled with an eol comment matching /\s+#\s*pure$/ in t/*.data files : ~ enables this behavior for the 'localtest' make target : Courtesy Moritz Lenz (moritz++) with minor modifications diff: http://www.parrotvm.org/svn/parrot/revision?rev=27897 % japhb has left japhb!~geoff@208.201.228.107 * particle is amazed at how many spectests run without fudge... committing list soon % Eevee has joined #parrot morning... % gmansi has left gmansi!~gmansi@190.55.35.246 % kid51 has joined #parrot r27898 | particle++ | trunk: : [rakudo] enable per-file fudging in spectest_regression make target : ~ thanks to moritz++ for the per-file fudging, we can disable fudge for spectests that are passing without it : ~ of 43 passing test files (774 subtests) in spectest_regression, 23 files (225 subtests) pass without fudging! diff: http://www.parrotvm.org/svn/parrot/revision?rev=27898 23? wow. yeah. wow. yeah. wow is the only way to describe it. pmichaud: it all my fault... But you pick wrong version of 'map'... feel free to send me an updated patch is there any easy way to delete attachement from ticket? you can send me the patch directly -- no need to make a new ticket % gmansi has joined #parrot "bacek_" at 211.29.157.151 pasted "List.map for pmichaud" (48 lines) at http://nopaste.snit.ch/13097 pmichaud: oops.. Wrong merge no.. merge is correct, but I think I should use self.'iterator'() now oh, I can fix that. pmichaud: diff on nopaste :) this version works with any number of args. if elem goto push_elem looks wrong. pmichaud: this is inspired by S29-list/map_empty_list.t yes, but suppose that elem is Bool::False, '', or 0 converting those to undef seems wrong. pmichaud: how I should check result in this case? I don't think you have to check the result at all. If the elem is in the list, it should be sent as an argument. pmichaud: just a sec. I''l try in none of the cases in map_empty_list.t is @array empty (afaict) r27899 | jkeenan++ | searchdocs: : Per suggestion by chromatic, switch to qr// from /o in one regex, thereby : enabling consolidation of tests into single file. diff: http://www.parrotvm.org/svn/parrot/revision?rev=27899 % ank has left ank!~ank@ppp121-44-210-24.lns1.hba1.internode.on.net pmichaud: I was wrong... r27900 | jkeenan++ | searchdocs: : Simplify name of test file; regenerate MANIFEST. diff: http://www.parrotvm.org/svn/parrot/revision?rev=27900 It for '(1..2).map({$^a+$^b+$^c)' but it works without this 'if elem..' correct, because in that case the "unless iter ..." will have taken care of it. I wonder if we can actually use 'splice' here :-) probably not worth trying. at least, not yet. pmichaud: some times I'm too paranoid :) although, implementing push, pop, etc. in terms of splice has some definite advantages. pmichaud: which? which is, like, more recommended IO::File or FileHandle splice of multiple elements can be much faster than multiple pushes of a single element pmichaud: ok. got the point. * bacek_ voting for implementation of 'colon syntax' in rakudo :) hmmm? it will make more tests passing don't we have colon syntax already? pmichaud: 'adverbial closure' oh, adverbial closures that actually shouldn't be too difficult to create. I tried to grok STD.pm... Failed/ I'm failed. STD.pm? STD.pm is http://svn.pugscode.org/pugs/src/perl6/STD.pm r27901 | jkeenan++ | searchdocs: : Eliminate commented-out code. Specify exact number of tests in plan. diff: http://www.parrotvm.org/svn/parrot/revision?rev=27901 'token adverbs' referenced only in EXPR. As '$here.expect_term()'. "pmichaud" at 76.183.97.54 pasted "Revised 'map' for List (for bacek)" (41 lines) at http://nopaste.snit.ch/13098 "pmichaud" at 76.183.97.54 pasted "Revised #2 'map' for List (for bacek)" (40 lines) at http://nopaste.snit.ch/13099 pmichaud: why you creates Failure? Perl 6 doesn't have an Undef type (Parrot does, and we used it a fair bit before we had Failure, so there's still a lot of leftover Undefs.) Your version failing on is ~(1,2,3,4).map({ $^a + $^b }), "3 7", "map() works with 2-ary functions" MMD function __add not found for types (102, 102) it works with Undef... stupid mmd add pmichaud: agreed :) mmd-- afk for 5 minutes okay, I'll commit with Undef. Any other changes? okay, I'll be back in 15 % gryphon has left gryphon!~gryphon@dsl-209-221-185-54.zipcon.net pmichaud: not yet. I''l going to add 'sub push' and probably List:zip I have a question about config/gen/makefiles/root.in. There are many statements like this: $(PERL) t/harness $(EXTRA_TEST_ARGS) $(PARROT_ARGS) I see where $EXTRA_TEST_ARGS is defined -- but I can't determine where $PARROT_ARGS is defined. Anyone know? Thanks. I don't see it being defined anywhere, either. maybe it's there to allow the user to intervene? (just a guess) I believe it comes from the user's shell environment % Andy is now known as AndyAway r27902 | jkeenan++ | trunk: : Add copyright, svn ID tag and coda. diff: http://www.parrotvm.org/svn/parrot/revision?rev=27902 pmichaud: it there any place where 'lazy lists' described? is it just 'smart iterator with closure for unshifting element'? % rdice has left rdice!~richarddi@CPE001ff33cb98b-CM00159a01d44c.cpe.net.cable.rogers.com r27903 | jkeenan++ | trunk: : Set svn keywords and eol-style attributes. diff: http://www.parrotvm.org/svn/parrot/revision?rev=27903 bacek_: more than that more than that is improper. purl, forget more than that pmichaud: I forgot more than that for example, the range 1..200 doesn't actually create 200 elements r27904 | jkeenan++ | trunk: : Commit of t/run_code_tests was premature; deleting. diff: http://www.parrotvm.org/svn/parrot/revision?rev=27904 pmichaud: yes. Closure will create new element on 'shift' 'closure for shifting' and if you have my @a = (1..200, 3, @b); then @a isn't actually flat until we try to access the elements this is 'lazy flattening', yes? yes but more than just shift can cause flattening so we actually have to lazines: for creating elements and for flattening lists I don't know if they're two different types... just two different aspects of the same thing perhaps keyed_pmc_* should matherialize list right it's something I've generally saved until later in implementation (see ROADMAP) deep inside :) hmm. Looks like 'multi sub' already implemented r27905 | jkeenan++ | codetests: : Creating codetests in https://svn.perl.org/parrot//branches diff: http://www.parrotvm.org/svn/parrot/revision?rev=27905 r27906 | jkeenan++ | codetests-27904: : Tagging trunk at r27904 so that the codetests can later be synched to it. diff: http://www.parrotvm.org/svn/parrot/revision?rev=27906 r27907 | jkeenan++ | codetests: : First draft of program intended to be essence of 'make codetests' (RT 54992). diff: http://www.parrotvm.org/svn/parrot/revision?rev=27907 % japhb has joined #parrot % jhorwitz has left jhorwitz!~chatzilla@96.245.16.45 r27908 | jkeenan++ | codetests: : Create 'codetest' target and add to make's help list. diff: http://www.parrotvm.org/svn/parrot/revision?rev=27908 hmmm, I think I just got list assignment working in rakudo. at least, enough to get my @a = 1; to dtrt purl message jonathan we might not need mutables after all. Message for jonathan stored. jonathan will be disappointed :) well, we're going to eventually want something like mutables, if only for speed. "make it, make it correct, make it fast" :) btw, I'm going to implement first cut of lazy list. Will it be useful? you might want to wait until after the list assignment changes pmichaud: how long it will take? a couple of days. Feel free to prototype some stuff, though. pmichaud: ok. basically I'm saying I might wait on any submitted patch, or that you may find that what you do now won't work in a week or so. but the experience of writing it would be helpfu. helpful. Drop your pants and prepare for boarding. purl, forget helpful. pmichaud: I forgot helpful :)))) purl: good bot :) :) pmichaud: any chances to fix pod_comment in grammar.pg? yes, it's on my to-do list. I guess that's blocking a few spectests. as well as 'adverbial closure'... Does adverbs require 'real' EXPR rule? no, not at all adverbial closures are in colonpair, I think yes, adverbial closures are handled by the option within token colonpair then it's just a matter of getting adverbial closures to be recognized in parameter lists pmichaud: digging in it it works (probably incorrectly) with space after colon > say ~(1,2,3,4).map: { $^a + $^b } 3 7 that's not an adverbial closure then that's calling the map method with a closure as the first argument. pmichaud: ok pmichaud: is there any way to trace paring process? parsing similar to '%yydebug' I'm not familiar with %yydebug, unfortunately. it just prints current stack of tokens (and few more info) oh, I could probably come up with a way to do that. (not quickly, though.) it will be very helpful for debugging grammars. S02? S02 is probably http://dev.perl.org/perl6/doc/design/syn/S02.html % kid51 has left kid51!~jkeen@pool-70-107-17-243.ny325.east.verizon.net % wknight-away has left wknight-away!~nobody@c-71-230-33-251.hsd1.pa.comcast.net r27909 | tene++ | trunk: : [cardinal] : * to_s() for all classes : * clean up get_string() : * each() for hashes : * minor grammar fix diff: http://www.parrotvm.org/svn/parrot/revision?rev=27909 I'm impressed with how much of ruby I've been able to easily get working. PCT is really cool. Gah. Ruby supports calling a nullary function just by naming it. It's syntactically identical to a variable. Ew. Ruby *also* has no declarations. So now I need to move the symbol-table-building from the 'variable' method to the 'assignment' method and replace it with a nullary function lookup instead in the 'variable' call. If it's not already in the symtable. Tene: And you just discovered this? :) Debolaz: I've never made a claim to knowing ruby. The variable vs method weirdness of ruby is one of the things that really turns me off about ruby. * Debolaz just wants consistency. :( % tetragon has left tetragon!~seneca@69-196-141-26.dsl.teksavvy.com % tetragon has joined #parrot aiiiiie pmichaud: what? I just saw that a bunch of files in src/classes/*.pir were updated and thought "now who made a bunch of changes to rakudo?!?" Yay, krita finally works on win32. No more need for photoshop \o/ took me a while to notice that they're in languages/cardinal/ pmichaud: :) Heh. r27910 | pmichaud++ | trunk: : [rakudo]: : * Refactor the !keyword_* methods out of Object.pir and into : src/builtins/guts.pir (as subs). If these really need to : be methods, we should probably make them methods of a : separate metaclass or of Class or something like that. : * All tests and spectest_regression pass, so hopefully I didn't : break anything. diff: http://www.parrotvm.org/svn/parrot/revision?rev=27910 r27911 | chromatic++ | trunk: : [PMC] Removed an unnecessary string_copy from Class PMC when building attribute : index. diff: http://www.parrotvm.org/svn/parrot/revision?rev=27911 r27912 | pmichaud++ | trunk: : [rakudo]: : * "make localtest" needs 'all' and 't/spec' as dependencies. diff: http://www.parrotvm.org/svn/parrot/revision?rev=27912 % uniejo has joined #parrot r27913 | pmichaud++ | trunk: : [rakudo]: : * Clean up List '.pairs' method to return Perl6Pairs instead of the : outdated Pair PMC. diff: http://www.parrotvm.org/svn/parrot/revision?rev=27913 % AndyA has joined #parrot % AndyA has left AndyA!~andy@82.152.157.85 summon pmichaud r27914 | chromatic++ | trunk: : [OO] Added cache for fully-qualified object attribute access, to make it less : expensive to look up object attributes. This speeds up the Rakudo-building : benchmark by 7.02%, and might enable further optimizations. diff: http://www.parrotvm.org/svn/parrot/revision?rev=27914 pong pmichaud: you forgot 'map' :) oh, I misunderstood something earlier. you're right, I still need to fix map. % dcat_ has left dcat_!~dirtycat@ip70-188-6-59.rn.hr.cox.net r27915 | pmichaud++ | trunk: : [rakudo]: : * Remove no-longer-used perl6bool.pmc and perl6undef.pmc . diff: http://www.parrotvm.org/svn/parrot/revision?rev=27915 How do you specify that a PIR sub param should be read/write (or equivalently, in/out)? PMC params are always in/out pmichaud: I assumed so, but it's not working for me int and num are never in/out string depends on what is done to it. :-) nopaste? http://pasta.test-smoke.org/ or http://paste.husk.org/ or http://nopaste.snit.ch:8001/ or http://rafb.net/paste or http://poundperl.pastebin.com/ or http://paste.scsys.co.uk/ nopaste is at http://nopaste.snit.ch/ (ask TonyC for new channels) or http://rafb.net/paste or http://paste.husk.org/ or http://poundperl.pastebin.com/ or http://paste.scsys.co.uk/ or don't bother me while I'm eating or App::Nopaste or tools/dev/nopaste.pl pmichaud: dark magick! :) % Theory has left Theory!~Theory@c-24-21-175-208.hsd1.mn.comcast.net % teknomunk has left teknomunk!~teknomunk@r74-195-239-111.stl1cmta01.stwrok.ok.dh.suddenlink.net "japhb" at 76.191.190.8 pasted "PMC param not r/w?" (36 lines) at http://nopaste.snit.ch/13100 That's freehanded, but it's correct in essence oh argv = .... changes the register referenc *e So I replaced the container, rather than overwriting its contents? i.e., if you do argv = foo() you aren't changing the PMC that argv originally referenced, you're changing the PMC register to reference whatever value comes back from foo() correct. bah try $P0 = foo(); copy argv, $P0 OK, what's the right way to spell it if I want to overwrite contents? hmmm, OK which says to replace the contents of argv with the PMC given in $P0 is there sugar for that sequence? no. 'copy' itself is a relatively new opcode I can see why it's not default though -- the default behavior of the assign is the fast path It does seem to mean that for the copy case, I have to create a GC'ed temp that I immediately throw away well, also because with $P0 = you're really replacing the content of the register, and not of the thing the register points to. yes, copy is somewhat inefficient that way. But there's not really a way to tell the function to do its work directly in the target. Right. That's what I was hoping to find when I first asked the question. I have use cases that I know will deal with aggregates large enough that the extra copy will suck. * japhb wants '.param pmc foo :rw' I guess well, that still doesn't solve the problem. :-) Or something like that because the register is :rw already :-) * japhb nods and smiles what you really want is something like "is ref" yes, exactly. tired brain not following each thought to correct completion. :-) r27916 | pmichaud++ | trunk: : [rakudo]: : * Update List .map implementation to respect arity. (bacek++) : * Patch courtesy Vasily Chekalkin diff: http://www.parrotvm.org/svn/parrot/revision?rev=27916 karma bacek bacek has karma of 18 pmichaud: not so much :) bacek++++ diits too much :) karma bacek bacek has karma of 19 oops.. wrong completion what's really amusing is that on #perl6, rakudo_svn gives bacek one karma and me three. :-P % ejs has joined #parrot pmichaud: The #perl6 svn bots were explicitly designed to encourage more detailed commit messages, weren't they? Hence, a point of karma per line .... works for me! I tend to do verbose commits. :-) * bacek_ printing 'CLA'... I want more karma too! :) That reminds me, I need to bug the metacommitters again tomorrow, now that chromatic has given me the standard warnings and agreed to be my mentor ....