[00:00] *** Helios joined [00:01] *** drbean left [00:03] *** drbean joined [00:05] *** Helios left [00:07] *** Helios joined [00:07] *** fridim_ joined [00:08] *** fridim_ left [00:09] *** drbean left [00:10] *** drbean joined [00:15] *** drbean left [00:15] *** Helios left [00:16] *** Helios joined [00:16] *** drbean joined [00:18] *** Lorn left [00:19] *** Helios left [00:20] *** Helios joined [00:21] *** drbean left [00:22] *** drbean joined [00:24] *** Limbic_Region_ joined [00:24] *** Limbic_Region_ left [00:26] *** Lorn joined [00:26] *** Limbic_Region_ joined [00:27] *** Limbic_Region_ left [00:27] *** drbean left [00:28] *** drbean joined [00:31] *** ymasory joined [00:33] *** drbean left [00:33] *** SHODAN left [00:34] *** Lorn left [00:34] *** Helios left [00:35] *** drbean joined [00:37] *** Helios joined [00:39] *** drbean left [00:40] *** Lorn joined [00:41] *** drbean joined [00:45] *** drbean left [00:47] *** drbean joined [00:51] *** drbean left [00:54] *** drbean joined [00:57] *** whiteknight left [00:57] *** Enzo_ joined [00:58] *** drbean left [01:00] *** drbean joined [01:04] *** drbean left [01:06] *** drbean joined [01:08] *** Enzo_ left [01:12] *** drbean left [01:12] *** drbean joined [01:15] *** Helios left [01:17] *** drbean left [01:18] *** Moukeddar joined [01:19] hello [01:19] *** drbean joined [01:19] hi [01:19] *** Helios joined [01:19] what's up? [01:23] *** drbean left [01:25] *** drbean joined [01:27] *** Helios left [01:28] *** Helios joined [01:30] *** drbean left [01:32] *** drbean joined [01:33] *** Moukeddar left [01:36] *** drbean left [01:37] *** drbean joined [01:41] *** drbean left [01:41] *** stepnem left [01:42] *** bluescreen10 left [01:42] *** drbean joined [01:43] *** Helios left [01:43] *** Helios joined [01:44] *** stepnem joined [01:45] *** nadim left [01:45] *** nadim joined [01:46] *** gwui joined [01:46] *** drbean left [01:47] *** bluescreen10 joined [01:48] *** drbean joined [01:59] *** drbean left [02:00] *** drbean joined [02:04] *** drbean left [02:06] *** ymasory left [02:06] *** drbean joined [02:10] *** drbean left [02:11] *** Limbic_Region left [02:13] *** drbean joined [02:14] *** Lorn left [02:17] *** drbean left [02:19] *** drbean joined [02:20] *** Lorn joined [02:23] *** drbean left [02:25] *** drbean joined [02:27] *** Helios left [02:29] *** Helios joined [02:29] *** drbean left [02:31] *** drbean joined [02:35] *** drbean left [02:37] *** drbean joined [02:41] *** drbean left [02:41] *** JimmyZ joined [02:43] *** drbean joined [02:47] *** drbean left [02:48] *** drbean joined [02:50] *** test-1 left [02:50] *** Lorn left [02:51] *** Lorn joined [02:53] *** drbean left [02:54] *** drbean joined [02:58] *** drbean left [02:59] *** drbean joined [03:00] *** JimmyZ left [03:04] *** drbean left [03:05] *** drbean joined [03:10] *** drbean left [03:11] *** drbean joined [03:16] *** drbean left [03:16] *** drbean joined [03:17] *** hudnix left [03:21] *** drbean left [03:22] *** drbean joined [03:23] *** Su-Shee_ joined [03:26] *** Su-Shee left [03:26] *** Chillance left [03:27] *** drbean left [03:29] *** drbean joined [03:29] *** Helios left [03:32] *** Helios joined [03:33] *** drbean left [03:35] *** drbean joined [03:40] *** drbean left [03:42] *** drbean joined [03:46] *** drbean left [03:48] *** drbean joined [03:52] *** drbean left [03:53] *** drbean joined [03:54] *** donri left [03:57] *** drbean left [03:58] *** drbean joined [04:01] *** alester joined [04:03] *** drbean left [04:05] *** drbean joined [04:07] *** tylercurtis left [04:09] *** tylercurtis joined [04:09] *** drbean left [04:11] *** woosley joined [04:11] *** drbean joined [04:16] *** drbean left [04:16] *** Lorn left [04:16] *** colomon joined [04:16] *** Lorn joined [04:17] *** drbean joined [04:21] *** drbean left [04:22] *** drbean joined [04:23] *** Lorn left [04:23] *** Lorn joined [04:26] *** drbean left [04:28] *** drbean joined [04:33] *** drbean left [04:34] *** drbean joined [04:38] *** drbean left [04:40] *** drbean joined [04:45] *** drbean left [04:46] *** drbean joined [04:50] *** drbean left [04:51] *** drbean joined [04:54] *** katelynn joined [04:55] hey im english and i love spainard guys :) [04:55] katelynn: This is a programming channel. [04:55] so [04:55] *** katelynn left [04:55] *** drbean left [04:58] *** drbean joined [05:00] *** sanjoyd joined [05:02] *** drbean left [05:03] *** drbean joined [05:07] *** drbean left [05:09] *** drbean joined [05:14] *** drbean left [05:16] *** drbean joined [05:16] *** xinming_ joined [05:16] *** xinming left [05:20] *** drbean left [05:22] *** drbean joined [05:23] *** shadowmaster left [05:24] *** shadowmaster joined [05:26] *** drbean left [05:28] *** drbean joined [05:31] *** drbean left [05:42] *** molaf joined [05:45] *** woosley left [05:45] *** jaldhar left [05:50] *** jaldhar joined [05:56] *** Helios left [05:58] *** Helios joined [06:06] *** alester left [06:07] *** perimosocordiae joined [06:34] *** risou joined [06:41] *** sjn left [06:45] *** Trashlord joined [06:50] *** justatheory left [07:05] *** arcus joined [07:10] *** mtk left [07:18] *** mtk joined [07:23] *** wallberg joined [07:32] phenny: tell masak I think someone should write a module to allow whitespace postfix operators, just for the sake of obfuscated code competitions. [07:32] mathw: I'll pass that on when masak is around. [07:36] *** arcus left [07:52] good morning [07:53] *** gwui left [07:54] *** am0c left [07:57] *** wamba joined [07:59] *** masak joined [07:59] morning, zebras [07:59] masak: 07:32Z tell masak I think someone should write a module to allow whitespace postfix operators, just for the sake of obfuscated code competitions. [07:59] :) [08:05] *** donri joined [08:08] *** am0c joined [08:09] https://github.com/blog/846-new-issues-and-gist-api [08:09] the one-api-call-per-second limit is no more [08:12] *** Bucciarati left [08:12] *** dukeleto left [08:13] masak. hi. will you be able to talk at fpw? [08:14] I know that you and jnthn are organizing npw just before [08:15] *** risou left [08:16] *** dukeleto joined [08:18] *** Bucciarati joined [08:20] *** mj41 joined [08:25] cognominal: nothing's final, but it is looking a little difficult to make it to fpw. not so much because of npw as because of $work. [08:28] thx, I just want to know :) you are welcome with or without talks [08:28] * mberends -> alpine lodge & [08:30] *** Su-Shee_ is now known as Su-Shee [08:32] *** wamba left [08:32] *** mberends left [08:37] good morning [08:39] o/ [08:40] *** sjn joined [08:42] *** jaldhar left [08:42] *** jaldhar joined [08:43] *** pochi left [08:47] *** jjore left [08:53] *** jjore joined [09:24] *** dual left [09:29] *** arcus joined [09:33] *** skangas joined [09:35] *** pochi joined [09:43] *** arcus left [09:50] *** wamba joined [09:55] *** orafu left [10:00] *** MayDaniel joined [10:04] *** wamba left [10:09] *** MayDaniel left [10:15] *** wamba joined [10:27] *** perimosocordiae left [10:45] *** whiteknight joined [11:02] *** Chillance joined [11:32] *** ggoebel__ left [11:37] *** ggoebel__ joined [11:42] *** whiteknight left [11:42] *** wallberg left [11:45] *** yegor joined [11:49] *** yegor left [11:55] *** Patterner left [11:57] *** Psyche^ joined [11:57] *** Psyche^ is now known as Patterner [12:08] *** Chillance left [12:15] *** pmurias joined [12:15] hi [12:15] pmurias: 28 Apr 03:17Z tell pmurias I don't like the way Proxy overloads new. IMHO $class.new.WHAT should always === $class [12:17] *** uniejo_ joined [12:20] *** Chillance joined [12:21] \o [12:22] o/ [12:24] o/ [12:24] Perl 6 talk went pretty well yesterday, I think. [12:24] 'o- [12:24] \o/ [12:24] masak: are you... fencing? [12:24] wrong keyboard layout. [12:25] I squeezed it in exactly in the alloted time. [12:25] colomon: what were the reactions? [12:25] some interest, especially about grammars, which seemed to go over very well. [12:26] one person worried that it would be too easy to make utterly cryptic code. [12:26] colomon: which features caused that worry? [12:27] probably mostly the wild profusion of operators. [12:28] about five minutes after it was over, I realized i was shaking badly. hopefully won't be so nervous next time around. :) [12:28] hugme: hug colomon [12:28] * hugme hugs colomon [12:28] :w [12:28] * masak hugs arnsholt, good vim user [12:28] Er, opps. Wrong window ^_^ [12:28] I have an alias for that [12:29] alias :w='echo vim is on another window' [12:29] =D [12:31] :) [12:35] I'm sure you could write an irssi plugin for that too [12:38] D'oh. Science is hard [12:38] (Last minute significance tests are not recommended =) [12:40] Moukeddar was at least partly right about pandas: Moukeddar [12:40] whoops, copypaste fail: http://miscpix.com/zrqa3 [12:40] arnsholt: Is that like hacking for days and then discovering your fantastic optimization idea actually makes the code slower? [12:41] Yeah, kinda. Or at least makes no difference =) [12:43] All the numbers from one of my experiments are a bit worse than the other number, but they turn out to not be significantly different [12:45] *** JimmyZ joined [12:48] *** sjn left [12:48] *** uniejo_ left [12:49] *** orafu joined [12:49] *** s1n left [13:08] *** MayDaniel joined [13:11] *** xinming_ left [13:12] *** xinming joined [13:18] *** ymasory joined [13:22] *** Moukeddar joined [13:22] hello [13:22] Moukeddar! \o/ [13:22] Moukeddar: hello [13:23] *** har joined [13:23] Have some evil pandas: http://miscpix.com/zrqa3 [13:23] how are you doing ? [13:23] good thanks [13:23] . o O ( "you're looking good" - "pardon?" - "I said you're looking good" - "fair enough" ) [13:24] here is the Evil Panda [13:24] http://www.youtube.com/watch?v=SyRvzeNuqa4 [13:24] the Cheese Overlord [13:24] SFW [13:24] *** har left [13:25] *** hudnix joined [13:26] *** xinming_ joined [13:26] watched the video? [13:28] *** whiteknight joined [13:29] *** xinming left [13:30] as a Panda fan, I disapprove of this [13:30] hehe [13:30] while i was watching it [13:30] all i thought was ; Perl :p [13:31] that is one evil panda. [13:31] * colomon had not considered that there might be NSFW pandas [13:32] nsfw pandas ? [13:32] that's new : [13:33] well , AFAIL pandas support the Right wing Political Machine [13:33] that's NSFW [13:36] AFAIK* [13:36] Moukeddar: isn't pasting youtube videos about pandas a bit of topic for #perl6? [13:36] *** mathw left [13:36] *** mathw joined [13:36] it's an example for Evil pandas [13:40] *** pmurias left [13:41] *** woosley joined [13:43] *** colomon left [13:43] *** colomon joined [13:46] *** Moukeddar left [13:48] *** colomon left [13:52] *** arcus joined [13:55] *** arcus left [13:55] *** Axius joined [13:56] *** lue left [13:56] *** lue joined [13:58] *** uniejo_ joined [14:03] *** birdwindupbird joined [14:04] *** Moukeddar joined [14:05] is learning UML crucial ? [14:06] Not necessarily, but learning how to best structure an application is, I'd argue [14:07] Learning UML can help with that [14:08] is it easy? [14:10] *** xinming_ is now known as xinming [14:10] *** uniejo_ left [14:11] to learn how to best structure an application? no. [14:11] it's like learning how to play Go. learn the basics in 15 minutes, and then it still takes a lifetime to master. [14:12] ah , ok :) [14:12] it's just nice to have a design reference instead of your own brain :) [14:13] a "design reference"? [14:13] yes classes design [14:13] i usually use a paper :) [14:14] to draw some primitive info [14:14] here's my journey so far: I didn't have much respect for design up front. I usually dove right in and then came back to design after I had at least a working prototype. [14:15] *** wamba left [14:15] lately I've been coming to appreciate that for big enough systems, you'll want to do some modeling before diving into the coding. [14:15] masak, i didn't gave it any respect either , but after reading and getting deeper , it looked like a crucial requirement now [14:16] * tadzik wonders, whether it makes sense to treat Pod things like B<> identically as blocks [14:16] Moukeddar: I'm still a big believer of making a working prototype of things. [14:17] masak, i'm stiff confused :) [14:17] Moukeddar: and I don't believe there's one single Right Design that one will arrive at on the first attempt. [14:17] still lol [14:17] one nice thing about CQRS and read-side/write-side is that one can have several models working together in the same application. each model tailored to some purpose. [14:18] Formatting codes are themselves a type of block, and most of them may nest sequences of any other type of block (most often, other formatting codes). In particular, you can nest comment blocks in the middle of a formatting code [14:18] pretty much blocks, methinks [14:18] sounds like. [14:21] And so thinks Perl6::Pod [14:24] *** am0c left [14:24] * tadzik updates gsocmess [14:24] Moukeddar: may I recommend a presentation to you? [14:25] yes , of course [14:27] http://www.infoq.com/presentations/model-to-work-evans [14:28] DDD :) [14:33] one other thing [14:33] what's agility ? [14:34] it's the idea that you should check back with the customer often to see if you're building what they want :) [14:34] there's more to it, but that seems to be the core message. [14:34] *** pmurias joined [14:34] see http://www.extremeprogramming.org/ for more. [14:35] for someone at my stage , it's an overkill [14:36] but never hurts to know :) [14:36] there are nice practices to borrow from agile, if you ask me. [14:36] the 'release early, release often' being perhaps the most important. [14:37] masak: the biggest obstacle to upfront design i encounter with a lot of stuff is that while implementing things i discover the data my program transform is vastly different then i imagined before [14:37] loliblug: http://ttjjss.wordpress.com/2011/05/01/gsoc/ [14:39] pmurias: right. implementing contains discovery, beyond the things that were known during deisgn. [14:39] tadzik++ # bleg [14:41] *** Trashlord left [14:41] blag (blague) = joke in french [14:42] phenny: fr "blague"? [14:42] masak: "joke" (fr to en, translate.google.com) [14:43] :) [14:43] gtg [14:43] phenny: "mon blog est une blague"? [14:43] masak: "My blog is a joke" (fr to en, translate.google.com) [14:43] TTYL [14:43] o/ [14:43] *** Moukeddar left [14:44] *** ashanti joined [14:51] * masak will try to get a Yapsi release out the door today [14:55] any new funny stuff? [14:55] hopefully. [14:55] I'll try to get ENTER phasers in today. [14:55] don't forget about BACKSPACE [14:55] :P [14:56] niecza: say 42; ENTER { say "OH HAI" } [14:56] niecza v4-76-g7bf5ef9: OUTPUT«===SORRY!===␤␤Action method statement_prefix:ENTER not yet implemented at /tmp/mRxPb3sLz1 line 1 (EOF):␤------> say 42; ENTER { say "OH HAI" }⏏␤␤Unhandled exception: Unable to resolve method statement_level in class Str␤ at [14:56] ../home/p6eval/ni… [14:56] pugs: say 42; ENTER { say "OH HAI" } [14:56] pugs: OUTPUT«OH HAI␤42␤» [14:56] oh, Pugs has it, of course :P [14:56] *** JimmyZ left [14:56] I need a print of S26 [14:56] blog post suggestion for some eager young soul: "things Pugs has that Rakudo doesn't". [14:57] *** mtk left [14:57] *** risou joined [14:59] *** sanjoyd left [15:00] shame there's nothing that can parse it and format it nicely :)( [15:01] didn't Damian write a Pod parser? [15:01] he did. [15:01] and it outputs HTML, IIRC. [15:01] s/outputs/can output/ [15:04] I tried Perl6::Pod, it ended almost fine [15:05] *** mtk joined [15:11] proto sub gcd($x, $y) { $x.gcd($y); } [15:11] anyone mind if I make this one take a slurpy array of values? [15:11] and add a corresponding lcm proto? [15:12] Sounds good to me [15:14] * masak makes it so [15:14] just have to run the spectests for half an hour, make the change, then run them again :P [15:14] like a good citizen. [15:15] 'course, I could just run t/spec/S32-num/gcd.t... [15:15] but no, there are other things depending on the gcd builtin, like jnthn++ pointed out. [15:17] *** icwiener joined [15:18] There are always other things depending I'd say =) [15:20] Rat uses gcd, iirc. [15:20] I'm getting lots of "Dubious, test returned 1 (wstat 256, 0x100)" running the spectests. [15:20] it does [15:20] I thought we fixed that. [15:21] also [15:21] masak: which parrot version do you use? [15:21] t/spec/S02-builtin_data_types/subscripts_and_context.t ......... Failed 1/8 subtests [15:21] moritz: I'll check. [15:21] ./perl6 -v [15:21] tells you [15:22] This is Rakudo Perl 6, version 2011.04-2-gecc4efa built on parrot 3.3.0 RELEASE_3_3_0-60-g97c32c7 [15:23] masak: I've also had lots of test failures with post-release parrots [15:23] also, in related bad news, Yapsi's t/runtime.t segfaults after test 26? :( [15:23] moritz: ok, I'll go back to the release one then. [15:23] masak: so far my calls for confirming that have been unanswered. Thanks for testing that [15:24] don't mention it. :) [15:32] oh, I has an idea! [15:32] Test::Mock wraps methods and counts the number of executions [15:32] *** risou left [15:33] which is way cool, by the way. [15:33] why not wrap methods to count the execution time using Benchmark module? We get a simple profiler [15:33] interesting. worth a shot. [15:33] * tadzik investigates Test::Mock [15:34] another thing we could do... wrap methods to collect method dependency data. [15:34] I guess it does nasty introspection, and then mixes in roles which shadow the original methods [15:35] in all fairness, this is what I would call the "proper" place for introspection. [15:36] right [15:36] *** Axius left [15:36] correct. introspection here: https://github.com/jnthn/test-mock/blob/master/lib/Test/Mock.pm#L53 [15:37] I must say that is some nice code. [15:37] Easier after nom will be to just subclass ClassHOW and override find_method or some such :) [15:37] Hmm, though that's only part of the story I guess. [15:38] jnthn: any ideas about supplying arguments to the .new method in Test::Mock? [15:38] overriding find_method. oh wow. [15:40] *** kaare__ joined [15:41] tadzik: Maybe mocked($obj) should also have possibility to pass in a capture for new_args or something [15:42] mocked(Dog, with => \($number_of_tails)) or something [15:42] jnthn: I tried that, no success, although that was probably on the Holland Hackathon and looking at the code now I'm not sure what was on my mind :) [15:43] *** kaare__ left [15:43] oh wait, that was easy [15:44] *** risou joined [15:44] tadzik: Should just be change to line 46 and another to line 72 [15:46] *** dual joined [15:49] jnthn: like this? http://nopaste.snit.ch/43066 [15:49] :$newargs = \() [15:50] Well, guess the hash works too... [15:50] But maybe the empty capture is clearer. [15:50] :%newargs didn't help [15:50] Hm [15:50] and \() neither did [15:51] didn't help kinda tells me nothing [15:51] :) [15:51] well, the tests are still failing [15:52] In the case here you're passing something though [15:52] so the default wouldn't matter there [15:52] well, the standard tests still work [15:52] *** woosley left [15:52] in either case [15:53] oh [15:53] I guess it mocked the accessor for x too :) [15:53] :) [15:53] Bet if you change if $.x { [15:53] to if $!x { then it works... :) [15:54] (test 2 that is... [15:54] ) [15:54] Method 'wrap' not found for invocant of class 'Sub' [15:54] that sounds wrongish [15:54] huh [15:54] How'd you get it to do that? [15:55] $m.wrap: { say "lol calling!"; callsame }; on line 61 [15:55] *** jferrero joined [15:56] oh [15:56] yeah, I didn't use wrapping anywhere in the module :) [15:57] well, I'd need to :) [15:57] I don't see why. [15:57] I'll be wrapping this in timethis() [15:57] In fact, you'd be twiddling the original method [15:57] Which is really wrong. [15:58] hmm [15:58] g'ah! [15:58] I agree the wrap shoudln't fail but Test::Mock certainly should never touch the original method. [15:58] src/gc/gc_gms.c:2342: failed assertion 'Dead object found!' [15:58] seems I can't win with this Parrot thing. [15:58] masak: grrr. :/ [15:58] well, now I'm just experimenting using the Test::Mock code [15:58] masak: Is that with latest? [15:58] that's the 3.3 release commit, far as I can tell. [15:58] :( [15:58] shit [15:59] latest was the one that gave me a segfault. [15:59] Quite possibly related. [15:59] Does building without generational GC help? [15:59] If so, it'll be a missing write barrier. [15:59] how do I do that? [16:00] pass --gc=ms2 to the parrot's Configure.pl [16:00] thanks. [16:00] afk [16:00] should be the default for 3.3 [16:00] --gc=(type) Which implementation of GC to use. One of ms, ms2 or gms [16:01] moritz: gengc was default for 3.3, or ms2? [16:01] ms2 was default [16:01] right [16:01] ah [16:01] but Rakudo's using gms anyway [16:01] ok [16:02] *** Moukeddar joined [16:02] ello [16:03] *** Helios left [16:03] oh hai [16:03] *** Helios joined [16:04] i'm watchin that presentation , that guy is a genius :) [16:04] *** MayDaniel left [16:08] yes, he's very good. [16:08] which presentation? [16:09] *** justatheory joined [16:09] the "Puting the model to work " [16:17] moritz: http://www.infoq.com/presentations/model-to-work-evans [16:17] & [16:20] *** pmurias left [16:26] *** Axius joined [16:31] nqp: 105839b | jonathan++ | src/ (2 files): [16:31] nqp: Resolve issue #9 reported by masak++ that meant that use nqp; was not possible. Actually fixes the root issue which is that if you try to load a module that is the actual program that is running - even if it's in a compilation managed by that program. [16:31] nqp: review: https://github.com/perl6/nqp/commit/105839b24b [16:32] $mocker.$m.wrap: sub (|$args) { callwith(|$args) }; -- that be just a wrapper doing nothing, not breaking argument passing, yes? [16:33] Yeah but you may as well have written callsame() if you're just going to pass the same arguments along. [16:33] rakudo: sub a($a, $b) { say "$a $b"; }; &a.wrap: sub (|$args) { say 'pfff!'; callwith($a, $b) }; a(5, 6) [16:33] rakudo 8533c3: OUTPUT«===SORRY!===␤Symbol '$a' not predeclared in (/tmp/Dc8v4Pp0mA:22)␤» [16:34] jnthn: yeah, I was just trying callwith() because callsame wasn't working :) [16:34] rakudo: sub a($a, $b) { say "$a $b"; }; &a.wrap: sub (|$args) { say 'pfff!'; callwith($args) }; a(5, 6) [16:34] rakudo 8533c3: OUTPUT«pfff!␤Null PMC access in type()␤ in 'a' at line 1:/tmp/0lnjzT52wJ␤ in at line 22:/tmp/0lnjzT52wJ␤ in main program body at line 1␤» [16:34] rakudo: sub a($a, $b) { say "$a $b"; }; &a.wrap: sub (|$args) { say 'pfff!'; callsame; }; a(5, 6) [16:34] rakudo 8533c3: OUTPUT«pfff!␤5 6␤» [16:34] okay... [16:35] rakudo: class A { method B ($a, $b) { say "$a $b" } }; A.&B.wrap: sub... oh wait [16:35] rakudo 8533c3: OUTPUT«Could not find sub &B␤ in main program body at line 22:/tmp/Ro4mKmHjWn␤» [16:35] yeah, that should be method, not sub [16:36] shame that's not helping :| [16:36] * jnthn closes various nqp tickets [16:39] rakudo: class A { method B ($a, $b) { say "$a $b" } }; A.&B.wrap: method (|$args) { say 'pff!'; callsame; }; A.new.B(4, 3); [16:39] rakudo 8533c3: OUTPUT«Could not find sub &B␤ in main program body at line 22:/tmp/nzoK5ZFof2␤» [16:40] *** Moukeddar left [16:55] *** wamba joined [16:56] *** cotto left [17:04] *** ashanti left [17:11] *** mj41 left [17:12] *** s1n joined [17:13] *** pmurias joined [17:17] \o/ # issue 9 fixed. jnthn++ [17:21] *** rgrau joined [17:25] would anyone be so kind as trying to reproduce the GC write barrier error message in the Yapsi tests? [17:25] latest Parrot, latest Rakudo, latest Yapsi. t/runtime.t. after test 24. [17:26] *** Axius left [17:28] masak: Wait...did it also show up under gc=ms2? [17:28] If so, it's not a write barrier issue. [17:32] *** plobsing left [17:40] *** [Coke] left [17:40] *** cotto joined [17:42] sprixel: cb46e98 | diakopter++ | / (6 files): [17:42] sprixel: [perlesque] some regex alternation codegen refactoring [17:42] sprixel: review: https://github.com/diakopter/sprixel/commit/cb46e98fb3 [17:42] *** [Coke] joined [17:46] std: sub postfix:< > ($x) {...} [17:46] std 9f27365: OUTPUT«Use of uninitialized value $starter in concatenation (.) or string at /usr/local/share/perl/5.10.1/CursorBase.pm line 2754.␤Use of uninitialized value $stopper in concatenation (.) or string at /usr/local/share/perl/5.10.1/CursorBase.pm line 2754.␤Use of uninitialized value [17:46] ..$starte… [17:46] I see std is still not updating regularly [17:47] curious, there's a cronjob for it [17:48] std: sub postfix:< > ($x) {...} [17:48] std 9f27365: OUTPUT«Use of uninitialized value $starter in concatenation (.) or string at /usr/local/share/perl/5.10.1/CursorBase.pm line 2754.␤Use of uninitialized value $stopper in concatenation (.) or string at /usr/local/share/perl/5.10.1/CursorBase.pm line 2754.␤Use of uninitialized value [17:48] ..$starte… [17:49] the change was to CursorBase.pmc, so maybe some dependency is borken [17:49] that's the std that 'make snap' gives me [17:49] hm [17:49] hmm, I was just doing make in the top dir [17:49] ./viv -e complains [17:49] maybe some path mismatch? [17:50] /usr/local/share doesn't look right [17:50] seems to be picking up a version installed in the perl 5 dir [17:50] that might be from the times where we installed STD from CPAN for niecza [17:51] * diakopter listens [17:51] have to go whack the drums, will check back later & [17:52] std: sub postfix:< > ($x) {...} [17:52] std 9f27365: OUTPUT«Use of uninitialized value $starter in concatenation (.) or string at /usr/local/share/perl/5.10.1/CursorBase.pm line 2754.␤Use of uninitialized value $stopper in concatenation (.) or string at /usr/local/share/perl/5.10.1/CursorBase.pm line 2754.␤Use of uninitialized value [17:52] ..$starte… [17:52] *** p6eval left [17:52] *** p6eval joined [17:52] *** ChanServ sets mode: +v p6eval [17:52] *** p6eval left [17:53] *** p6eval joined [17:53] *** ChanServ sets mode: +v p6eval [17:53] std: sub postfix:< > ($x) {...} [17:53] heh [17:53] std 9f27365: OUTPUT«Use of uninitialized value $starter in concatenation (.) or string at /usr/local/share/perl/5.10.1/CursorBase.pm line 2754.␤Use of uninitialized value $stopper in concatenation (.) or string at /usr/local/share/perl/5.10.1/CursorBase.pm line 2754.␤Use of uninitialized value [17:53] ..$starte… [17:53] *** p6eval left [17:56] * moritz fixes perlbrew on p6eval host [18:07] *** risou left [18:12] *** orafu left [18:21] *** ggoebel__ left [18:21] *** ggoebel joined [18:24] *** birdwindupbird left [18:27] *** p6eval joined [18:27] *** ChanServ sets mode: +v p6eval [18:27] std: 1 [18:28] std 9f27365: OUTPUT«Can't locate Moose.pm in @INC (@INC contains: /home/p6eval/perl5/perlbrew/perls/perl-5.12.2/lib/site_perl/5.12.2/x86_64-linux /home/p6eval/perl5/perlbrew/perls/perl-5.12.2/lib/site_perl/5.12.2 /home/p6eval/perl5/perlbrew/perls/perl-5.12.2/lib/5.12.2/x86_64-linux [18:28] ../home/p6eval/perl5/… [18:28] at least it picks up the right perl [18:29] and Moose is just one cpanm command (and many minutes of waiting) away [18:30] *** SHODAN joined [18:32] *** [Coke] left [18:33] jnthn: I'd better double-check. [18:33] *** [Coke] joined [18:37] *** ggoebel left [18:37] *** ggoebel joined [18:39] *** ggoebel left [18:39] fwiw, I don't like the method .gcd [18:41] *** estrabd left [18:41] what does it do? [18:42] what would you like it to do? [18:42] And can I have a pony? [18:42] *** estrabd joined [18:43] greatest common divisor? [18:43] right. [18:44] I like the gcd(x,y) form, but I have no sympathy for x.gcd(y) [18:44] ... [18:44] that's weird [18:44] I can understand (list of numbers).gcd [18:44] but not (single number).gcd [18:45] https://github.com/perl6/roast/blob/master/S04-exception-handlers/catch.t#L167 [18:45] ^ is that best practice for handling a die in a CATCH? [18:46] it sounds like gcd should be an infix (same precedence as infix % ?), and [gcd] would be the normal reduction [18:46] good point [18:46] That's a much better idea [18:50] *** alester joined [18:51] *** mberends joined [18:51] \o/ @alps == @rocks [18:51] ping pmichaud [18:52] jnthn: problem goes away with gc=ms2 [18:52] moritz: that's the way it obviously should be [18:53] mberends: well, what did you expect? Trees? :P [18:53] Lava? [18:54] oh yeah, @alps has @.trees [18:57] I think you're reading too much into mberends' statement. [18:58] all he said is that there are as many alps as there are rocks :P [18:58] mberends: Which bit of the alps? :) [18:59] it would be difficult to count them for a proof, but indeed I was thinking what masak was thinking. [18:59] *** cotto left [18:59] std: . [18:59] std 9f27365: OUTPUT«Can't locate YAML/XS.pm in @INC (@INC contains: /home/p6eval/perl5/perlbrew/perls/perl-5.12.2/lib/site_perl/5.12.2/x86_64-linux /home/p6eval/perl5/perlbrew/perls/perl-5.12.2/lib/site_perl/5.12.2 /home/p6eval/perl5/perlbrew/perls/perl-5.12.2/lib/5.12.2/x86_64-linux [18:59] ../home/p6eval/perl… [19:00] *** cotto joined [19:01] jnthn: a Slovenian bit near Ljubljana, friends have a chalet here :) [19:02] *** daxim__ left [19:03] mberends: nice! :) [19:04] Nice views and Lasko! :) [19:05] *** noganex joined [19:08] *** noganex_ left [19:08] *** [particle]1 joined [19:10] *** [particle] left [19:12] nqp/ctmo: 4679b68 | jonathan++ | src/core/NQPMu.pm: [19:12] nqp/ctmo: Fix a type-o. Detected by in-progress typename handling work. [19:12] nqp/ctmo: review: https://github.com/perl6/nqp/commit/4679b68190 [19:12] nqp/ctmo: 556b715 | jonathan++ | src/NQP/ (2 files): [19:12] nqp/ctmo: Resolve typename at compile time. [19:12] nqp/ctmo: review: https://github.com/perl6/nqp/commit/556b71593b [19:12] nqp/ctmo: 3564e72 | jonathan++ | src/NQP/Actions.pm: [19:12] nqp/ctmo: Add parrot v-table overrides through the compile time meta-object. [19:12] nqp/ctmo: review: https://github.com/perl6/nqp/commit/3564e72784 [19:12] nqp/ctmo: f993bf4 | jonathan++ | src/ (2 files): [19:12] nqp/ctmo: Attach multi signatures during normal fixup stage, not as special loadinits. Should cut startup time a little. Also resolves the multi-method regression introduced earlier in this branch. [19:12] nqp/ctmo: review: https://github.com/perl6/nqp/commit/f993bf499a [19:20] yay for stricter type handling detecting type-os in the circularity circle! ;) [19:22] NQP has been able to detect many problems with itself. [19:22] it doesn't apply just to bootstrappisms. [19:22] .oO( oh noes...it's self-aware! ) [19:23] jnthn: are you aware of a failure in t/nqp/56-role.t [19:23] I generally try to structure things nowadays so that the program gives a shout if I do something unintended. [19:23] moritz: Very very much so. [19:23] ok [19:23] moritz: It's a *really* hard problem. [19:23] :( [19:23] why? [19:23] The last one before nqp is done enough for digging into rakudo/nom [19:23] * masak curious [19:25] masak: All of the meta-objects are now constructed at compile time. That means that methods kinda need to end up in the meta-object at compile time...apart from we didn't compile them yet, so they need to be fixed up with the real thing a little later on. [19:25] That much works. But with roles the methods get cloned and associated with multiple incarnations of the role body - one per parameterization. [19:26] nod [19:26] All roles are parametric really, since $?CLASS is generic when mentioned in a class. [19:26] so, each role incarnation requires some extra compilation? [19:26] Not really [19:26] Just some extra fixing up [19:26] ok. [19:27] It's just working out how to track all of those bits. [19:27] *** birdwindupbird joined [19:33] jnthn: so after that is fixed Rakudo will slowly start using the new nqp, so we get ponies, cheesburgers, and bugs magically getting fixed? :) [19:34] we're up to 860 new/open rakudobugs, by the way. [19:34] I'm thinking of switching vocations and begin to close them instead :P [19:35] *** cotto left [19:35] *** mj41 joined [19:35] tadzik: Yes [19:35] oh no, who will be opening them then? :( [19:36] *** Helios left [19:36] btw, you were saying something about a bugfix party on weekend. Sound like time [19:36] jnthn: cool :) [19:36] tadzik: Hoping to get to that point by Wednesday. [19:36] awesome! [19:36] *** Helios joined [19:37] seen worr [19:37] worr was last seen in #perl6 44 days 15 hours ago saying "sorry about that". [19:38] http://rt.perl.org/rt3/Ticket/Display.html?id=84966 I think this was merged and is now closable [19:38] http://rt.perl.org/rt3/Ticket/Display.html?id=84950 this too [19:38] http://rt.perl.org/rt3/Ticket/Display.html?id=84948 and this [19:39] http://rt.perl.org/rt3/Ticket/Display.html?id=83866 confirmed fixed by the author [19:40] ...anyone with permissions to help me sort this stuff? :) [19:40] *** [Coke] left [19:41] tadzik: do you have an RT nick? [19:41] moritz: yes, I even was given those perms some time ago, it's just that these don't work [19:41] or didn't [19:42] let's ping pmichaud over it [19:42] and I'm tadzik [19:42] *** MayDaniel joined [19:44] * moritz closes tickets [19:44] tadzik++ [19:45] done [19:45] rakudo: say "fuubar".comb.perl [19:45] rakudo 8533c3: OUTPUT«("f", "u", "u", "b", "a", "r")␤» [19:45] *** masonkramer joined [19:45] so that's just going letter-by-letter, right? [19:45] yes [19:45] *** [Coke] joined [19:46] rakudo: say "fuubar".split.perl [19:46] rakudo 8533c3: OUTPUT«No applicable candidates found to dispatch to for 'split'. Available candidates are:␤:(Mu : Regex $matcher, Any $limit = { ... }, Any :all($all);; *%_)␤:(Mu : Any $delimiter, Any $limit = { ... }, Any :all($all);; *%_)␤␤ in main program body at line 22:/tmp/_ApMzdEpNL␤» [19:46] there are times when I _so_ miss array indexes on strings [19:47] tadzik: write a pragma. [19:47] or a module. [19:49] rakudo: sub foo(@x) { say @x.perl }; foo ; foo # I keep falling into this trap [19:49] rakudo 8533c3: OUTPUT«("a", "b", "c")␤Nominal type check failed for parameter '@x'; expected Positional but got Str instead␤ in 'foo' at line 1:/tmp/oFASGUloGV␤ in main program body at line 22:/tmp/oFASGUloGV␤» [19:49] it's a tricky one, because different things should look different, and they don't in this case. [19:50] niecza: sub postcircumfix:<[ ]>($str, $ix) { $str.substr($ix, 1) }; say "Hello"[2] [19:50] niecza v4-76-g7bf5ef9: OUTPUT«l␤» [19:50] * moritz still thinks that postcircumfix needs to be a method [19:50] *** MayDaniel left [19:50] * jnthn agrees with moritz [19:51] rakudo: sub foo(@x) { say @x.perl }; foo ; foo ('d',) # and THIS is the solution!? [19:51] rakudo 8533c3: OUTPUT«("a", "b", "c")␤("d", )␤» [19:52] why must postcircumfix be a method? [19:52] rakudo: sub foo(@x) { say @x.perl }; foo ; foo [] # cuter solution [19:52] rakudo 8533c3: OUTPUT«("a", "b", "c")␤["d"]␤» [19:52] jnthn: but still. the [] introduce an assymetry. [19:52] rakudo: sub stupidcomb($a) { gather for 1..$a.chars { take $a.substr($_ - 1, $_) } }; say stupidcomb("foobar").perl [19:53] rakudo 8533c3: OUTPUT«("f", "oo", "oba", "bar", "ar", "r")␤» [19:53] postcircumfix needs to be both a sub and a method [19:53] *** colomon joined [19:53] it can't be just a method, because everything that modifies the grammar needs lexical scope [19:53] probably, yes [19:53] masak: Because otherwise types can't so easily control how they respond to e.g. handling ranges. [19:53] or other interesting types of slicing [19:54] it can't be just a sub, because that would make implementing tied containers vaguely insane [19:54] *** [Coke] left [19:54] * tadzik has no idea what happened in stupidcomb() [19:54] sorear: Where's the grammar modification? [19:54] rakudo: sub stupidcomb($a) { for 1..$a.chars { say $a.substr($_ - 1, $_) } }; stupidcomb("foobar") [19:54] rakudo 8533c3: OUTPUT«f␤oo␤oba␤bar␤ar␤r␤» [19:54] sorear: Or do you mean, if new postcircumfixes are added? [19:55] niecza: sub postcircumfix<〈 〉>($a, $b) { say $a; say $b }; 1〈3〉 [19:55] niecza v4-76-g7bf5ef9: OUTPUT«===SORRY!===␤␤Any()Malformed block at /tmp/44IP473YgK line 1:␤------> sub postcircumfix⏏<〈 〉>($a, $b) { say $a; say $b }; 1〈3〉␤␤Parse failed␤␤» [19:55] niecza: sub postcircumfix:<〈 〉>($a, $b) { say $a; say $b }; 1〈3〉 [19:55] rakudo: sub stupidcomb($a) { gather for 1..$a.chars { take $a.substr($_ - 1, 1) } }; say stupidcomb("foobar").perl [19:55] *** [Coke] joined [19:55] rakudo: sub stupidcomb($a) { for 1..$a.chars { say $a.substr($_ - 1, $_) } }; stupidcomb("foobarbaz") [19:55] niecza v4-76-g7bf5ef9: OUTPUT«1␤3␤» [19:55] rakudo 8533c3: OUTPUT«("f", "o", "o", "b", "a", "r")␤» [19:55] rakudo 8533c3: OUTPUT«f␤oo␤oba␤barb␤arbaz␤rbaz␤baz␤az␤z␤» [19:55] arbaz! [19:55] it's ok, I just fail at substr() [19:55] it's like Arbuz! \o/ [19:55] phenny: "arbuz"? [19:55] :P [19:55] tadzik: "watermelon" (lt to en, translate.google.com) [19:55] like Russian. [19:55] phenny: lt yourself! [19:56] tadzik: it's a substr of length 1 starting at 1 [19:56] tadzik: then length 2 starting at 2 [19:56] tadzik: in fact, substr in Rakudo isn't to spec. [19:56] substr should use *-1, not -1 [19:56] tadzik: etc... until it hits the end of the string, in which case it shortens [19:58] I see [19:58] *** wamba left [19:59] rakudo: say (1304279895 - 1304279873) / 6; [19:59] rakudo 8533c3: OUTPUT«3.66666666666667␤» [20:00] * tadzik is testing stupidcomb on some rakudo source files [20:00] I already killed Str.comb on Perl6/Actions.pm, I stopped believing it'd ever finish [20:02] I wonder if stupidcomb could have been done efficiently than with substr. Deep inside my heart I believe "foo".substr($a, 1) somewhere deep in Parrot becomes just *(foo + $a) :) [20:03] rakudo: say (1304280046 - 1304279951) / (1304280153 - 1304280117) [20:03] rakudo 8533c3: OUTPUT«2.63888888888889␤» [20:03] still a lot better. Any better ideas for a fix for http://rt.perl.org/rt3/Ticket/Display.html?id=85602 ? [20:04] tadzik: if "foo" contains unicode chars, "foo".substr becomes O(N) since it has to count chars one at a time [20:04] oh, right [20:04] tadzik: fixed width Unicode encodings are not supported on Parrot/Win32 [20:05] I don't see any smarter way, looking at Parrot's string opcodes [20:06] *** alester left [20:06] sorear: any ideas [20:06] ? [20:06] ISTR that in Parrot, my $str = ("a" x 1e8).substr(0,1); retains all 1e8 bytes of memory [20:06] can anyone deny this? [20:07] sorear: Try #parrot :) [20:07] sorear: I'd like to hope not but it wouldn't surprise me. [20:08] I don't think it would be polite to bring this up there [20:08] right! show some respect! :P [20:09] people should never have to have their design questioned. it's not polite. [20:10] masak: #parrot knows that their design sucks [20:10] they're just overworked, and I can't legally help them [20:10] rakudo: say "hello".substr(*-1, 1) [20:10] rakudo 8533c3: OUTPUT«maximum recursion depth exceeded␤ in 'Cool::Num' at line 1918:CORE.setting␤ in 'Cool::Num' at line 1918:CORE.setting␤ in 'Cool::Numeric' at line 1905:CORE.setting␤ in 'Cool::Numeric' at line 1905:CORE.setting␤ in 'Cool::Num' at line 7613:CORE.setting␤ in 'Cool::Numeric' [20:10] ..at li… [20:10] sorear: legally? [20:14] rakudo: say $*PERL.perl [20:14] rakudo 8533c3: OUTPUT«{"name" => "rakudo", "version" => "2011.04-3-g8533c3c"}␤» [20:14] version should be just 6, no? [20:14] $*PERL Which Perl I'm running under [20:14] also http://rt.perl.org/rt3/Ticket/Display.html?id=79294 [20:15] *** molaf left [20:16] sorear: are you just referring to the agreement one has to sign as a Parrot dev? [20:17] http://rt.perl.org/rt3/Ticket/Display.html?id=80668 -- that looks like a problem of missing make install, but it's a bit old anyway: should this end as "try the new version or we're closing this in a week time [20:17] " or somethins? [20:18] masak: yes [20:18] ah. [20:18] rakudo: say Attribute ~~ Cool [20:18] rakudo 8533c3: OUTPUT«Bool::False␤» [20:19] *** pochi left [20:20] *** birdwindupbird left [20:20] rakudo: say NaN.Rat [20:20] rakudo 8533c3: OUTPUT«-9.22337203685478e+18␤» [20:20] ahaha :) [20:21] *** pochi joined [20:21] * masak hides face in hands [20:22] well, at least now we know what number NaN is... :) [20:23] I think http://rt.perl.org/rt3/Ticket/Display.html?id=77738 and http://rt.perl.org/rt3/Ticket/Display.html?id=77740 can be merged into one somehow [20:24] merge higher-numbered ones into lower-numbered ones, says pmichaud. [20:26] sorear: why would you helping #parrot be illegal? [20:26] pmurias: I can help, just not with code [20:27] pmurias: PaFo wants licensing agreements, and I lack any capability for sending a signed document to PaFo [20:27] *** [Coke] left [20:27] presumably I could buy stamps somewhere [20:27] sorear: where do you live? [20:28] sorear: you can scan and email that, I did this [20:28] sorear: you could clone the repo at github and just have them pull your commits [20:28] tadzik: that would require a scanner [20:28] right [20:29] sorear: the documents is only for the commit bit AFAIK [20:29] maybe you can get away with a digital camera, if you have one [20:29] *** [Coke] joined [20:29] *** plobsing joined [20:30] sorear: don't any of your friends have a scanner? [20:31] *** donri left [20:32] *** y3llow_ joined [20:33] *** pothos_ joined [20:33] Yapsi commints coming up... [20:33] commits* [20:34] *** masonkramer left [20:34] *** y3llow left [20:34] *** pothos left [20:35] *** [Coke] left [20:35] *** y3llow_ is now known as y3llow [20:35] *** pothos_ is now known as pothos [20:36] yapsi: a7d23db | masak++ | / (3 files): [20:36] yapsi: [Yapsi] added ENTER phaser [20:36] yapsi: [20:36] yapsi: And it works! Not bad. [20:36] yapsi: review: https://github.com/masak/yapsi/commit/a7d23db5f4 [20:36] yapsi: 65d99c1 | masak++ | doc/ (3 files): [20:36] yapsi: [doc] updated documents [20:36] yapsi: review: https://github.com/masak/yapsi/commit/65d99c10e1 [20:36] yapsi: a675900 | masak++ | lib/Yapsi.pm: [20:36] yapsi: [Yapsi] bumped version number [20:36] yapsi: [20:36] yapsi: Might as well have it conform to the name of the release. [20:36] yapsi: review: https://github.com/masak/yapsi/commit/a675900d00 [20:36] *** [Coke] joined [20:37] *** Trashlord joined [20:38] *** mberends left [20:38] *** icwiener left [20:41] rakudo: 6ca6140 | tadzik++ | src/core/Cool-str.pm: [20:41] rakudo: Simplify and optimize the trivial case of Str.comb(). RT #85602 [20:41] rakudo: review: https://github.com/rakudo/rakudo/commit/6ca6140a46 [20:44] nqp/ctmo: eed9b67 | jonathan++ | src/stage0/ (6 files): [20:44] nqp/ctmo: Update the bootstrap with the various branch changes so far. [20:44] nqp/ctmo: review: https://github.com/perl6/nqp/commit/eed9b67e82 [20:44] nqp/ctmo: c74cce8 | jonathan++ | src/ (2 files): [20:44] nqp/ctmo: Refactor to generate the prefixes list during the actions stage rather than using the one built in the regex compiler. This means it can be added through the compile-time meta-objects. [20:44] nqp/ctmo: review: https://github.com/perl6/nqp/commit/c74cce8709 [20:44] nqp/ctmo: 519ef59 | jonathan++ | src/stage0/ (6 files): [20:44] nqp/ctmo: Update bootstrap. [20:44] nqp/ctmo: review: https://github.com/perl6/nqp/commit/519ef59d4c [20:44] nqp/ctmo: b6e14db | jonathan++ | src/PAST/Compiler-Regex.pir: [20:44] nqp/ctmo: Remove now-unused prefix routine code-gen from the regex compiler. [20:44] nqp/ctmo: review: https://github.com/perl6/nqp/commit/b6e14db3ef [20:44] phenny: tell pmichaud I managed to resolve the prefixes method issue relatively easily in the end. :) [20:44] jnthn: I'll pass that on when pmichaud is around. [20:48] *** [Coke] left [20:49] yo people. Yapsi announcement. [20:49] https://github.com/masak/yapsi/blob/9e666716cde2105ed98c8bc0bf827921c8db090d/doc/announce/2011.05 [20:49] reviews welcome. [20:50] *** [Coke] joined [20:50] *** Helios left [20:51] *** Helios joined [20:51] yapsi: 9e66671 | masak++ | doc/announce/2011.05: [20:51] yapsi: [doc/announce/2011.05] added [20:51] yapsi: review: https://github.com/masak/yapsi/commit/9e666716cd [20:52] GAH, now the comb() appears to be slower. Wtf [20:52] * tadzik suspects GC [20:54] masak: nice :) [20:55] jnthn: no more prefixes? nqp is using ltm now? [20:55] sorear: There are prefixes, they're just generated in an earlier phase of the compilation. [20:55] sorear: It's not a big deal [20:56] sorear: It's just so we have the prefix method to hand at the time we actually construct types now. [20:57] (Which has moved earlier, so it's possible to do gradual typing stuff.) [20:57] *** skangas left [20:58] nqp/ctmo: 811d9a5 | jonathan++ | src/NQP/ (2 files): [20:58] nqp/ctmo: Eliminate a mention of $*PACKAGE-SETUP, which it's now time to start finally killing. [20:58] nqp/ctmo: review: https://github.com/perl6/nqp/commit/811d9a5f48 [20:59] "it's a setup!" [21:00] :P [21:00] mathw: oh, it's your birthday today? [21:05] rakudo: my $HB = 'happy birthday'; my $TU = 'to you'; my $HBTU = "$HB $TU"; .say for $HBTU xx 2, "$HB dear mathw", $HBTU [21:05] rakudo 8533c3: OUTPUT«happy birthday to you␤happy birthday to you␤happy birthday dear mathw␤happy birthday to you␤» [21:07] haha [21:07] mathw: your day is May 1st too? [21:08] (I know in some areas of the world it's already May 2, that's why I'm asking) [21:11] *** SHODAN left [21:18] heh. I have to fix the psyde bug in order to (easily) post the Yapsi announcement on my blog. [21:18] nqp/ctmo: 1a16b84 | jonathan++ | src/ (2 files): [21:18] nqp/ctmo: Stub in initial bits towards role building refactor, which removes another usage of $*PACKAGE-SETUP. Finishing that is main task left in this branch. [21:18] nqp/ctmo: review: https://github.com/perl6/nqp/commit/1a16b84a94 [21:18] nqp/ctmo: f30806d | jonathan++ | src/ (2 files): [21:18] nqp/ctmo: Switch .^compose to compile time meta-object. Darn...breaks multi-methods. :/ [21:19] nqp/ctmo: review: https://github.com/perl6/nqp/commit/f30806d975 [21:19] nqp/ctmo: 707bae5 | jonathan++ | src/NQP/ (2 files): [21:19] nqp/ctmo: Remove last remaining usages of $*PACKAGE-SETUP. [21:19] nqp/ctmo: review: https://github.com/perl6/nqp/commit/707bae553a [21:19] my bet: it's a hitherto unspotted Rakudo regression. [21:19] Enough NQP for today. "Just" need to fix the two broken test files and then ctmo can be merged and deleted...and rakudo/nom continued. :) [21:20] *** donri joined [21:20] oh wait! no, this might be a hitherto untested code path in psyde... I take everything back :) [21:20] :P :P [21:26] *** cotto joined [21:31] *** uniejo_ joined [21:33] *** Helios left [21:35] nope, it's a bona fide rakudobug. [21:35] rakudo: my %h = 1..8; say %h{7, 5}.perl [21:35] rakudo 8533c3: OUTPUT«(8, 6)␤» [21:35] huh. [21:35] getting 'Any' locally. [21:35] * masak makes sure he has the latest one installed [21:36] rakudo: my %h = 1..8; say %h.perl [21:36] rakudo 8533c3: OUTPUT«{"1" => 2, "3" => 4, "5" => 6, "7" => 8}␤» [21:36] that one's fine here too. [21:36] *** Helios joined [21:44] *** cotto left [21:51] rakudo: my %h = 1..8; say %h{7, 5}.perl [21:51] rakudo 8533c3: OUTPUT«(8, 6)␤» [21:51] this still gives "Any" locally. [21:51] just compiled. I'm on the same commit. [21:52] rakudo: my %h = 1..8; say (%h{$_} for 7, 5).perl [21:52] rakudo 8533c3: OUTPUT«(8, 6)␤» [21:52] this works, tho' [21:52] huh... [21:53] That's...very odd. [21:53] might be I'm running a newer Parrot than does p6eval... but why should that make any difference? [21:54] It shouldn't... [21:54] > my %h = 1..8; say %h{7, 5}.perl [21:54] (8, 6) [21:54] (locally) [21:55] Is current Rakudo with the Parrot from PARROT_REVISION. [21:55] yeah. I'm not running Parrot from PARROT_REVISION, I'm pretty sure. [21:55] I build Parrot separately. [21:55] also, I have that gc flag set right now. [21:56] It's hard to imagine a Parrot change that would break *that* but not other things... [21:56] * masak rebuilds Parrot, just for fun [21:56] *** mj41 left [21:56] yeah. [21:56] Where are you trying it? REPL? [21:56] command line, as always. [21:57] With -e? [21:57] yes. [21:57] it's not some weird shell escaping thing? [21:57] nope. [21:57] single quotes only. [21:58] Good. Married quotes get troublesom. [21:58] how do I set Parrot to tag RELEASE_3_3_0? [21:59] git checkout , I thought? [22:00] correct. jnthn++ [22:01] heh. as part of this workaround, this is the first time I put a statement_mod for loop inside the list to iterate over in a regular for loop ;) [22:03] Workarounds. Some of them are weird. [22:04] * jnthn sends in the April hours. [22:04] It's May O_O [22:04] *** spetrea joined [22:04] why is #perl6 on Freenode and #parrot on irc.perl.org ? [22:05] historical reasons. [22:05] masak: was #perl6 at some point on irc.perl.org and then it moved to Freenode ? [22:06] no, #perl6 was created on Freenode. [22:06] masak: oh, yet #parrot sits on irc.perl.org [22:06] yes; I agree that the other way around would make more sense :) [22:06] masak: which other way around ? [22:07] there are 2 other ways around [22:07] not by the common sense of the term. [22:08] I meant that it would be more logical to find #parrot on Freenote and #perl6 on irc.perl.org [22:08] oh ? hmm [22:08] because #parrot is not just Perl [22:08] but perl6 is more related to Perl so it should go in irc.perl.org .. [22:08] I seem to follow [22:09] right. [22:09] ok thanks :) [22:09] np [22:10] sleep for me & [22:11] * masak staying up after jnthn? inconceivable! [22:12] jnthn: downgrading Parrot seems to have helped! o.O [22:12] Oh noes :| [22:12] might've been the gc setting, who knows? [22:12] moze byt... [22:12] *** uniejo_ left [22:12] anyway, my blogging software works again, without the workaround \o/ [22:12] *** Helios left [22:12] \o/ [22:13] masak: eating your own dogfood by writing a blogging software in Perl6 ? [22:13] yeah, how'd you guess? :) [22:13] sounds like a very good idea , I should do that more often [22:13] it's 2011, and Rakudo/Parrot continue to surprise... but not in that good/warm/fuzzy way. :/ [22:13] why no surprises anymore ? [22:14] masak: Did you use the one in PARROT_REVISION? [22:14] let's just say there are some surprises I could live without... [22:14] yeah. [22:14] And that had the bug? [22:14] I was watching Damian's presentation, it was quite an itneresting one, but then I paused, went for a smoke, lost track of time & sh*t and forgot about it, I might resume tommorow in the afternoon or smth like that [22:14] no, Parrot HEAD had the bug. [22:14] Ah, OK [22:15] At least that doesn't give too many patches to go bisecting through. [22:15] *** Helios joined [22:15] oh, troo [22:15] I might try upgrading Parrot again and seeing if the error comes back. [22:15] Though it may just be GC option and a case of missing write barrier working out weirdly. [22:16] Though you'd often expect segfaults or assert fails from that. [22:16] nod [22:16] might investigate more tomorrow. [22:16] I put a LOAD of them into nqp recently that were probably needed but never managed to cause an observable problem...yet. [22:16] http://strangelyconsistent.org/blog/yapsi-201105-released \o/ [22:17] Wouldn't surprise me if Rakudo misses some. [22:17] Anyway....bed o/ [22:17] * masak too [22:17] 'night, zebras and pandas and lovely butterflies [22:17] *** masak left [22:28] *** spetrea left [22:45] *** mtk left [22:49] *** kst left [22:53] *** plobsing_ joined [22:53] *** mtk joined [22:55] *** plobsing left [23:01] *** skangas joined [23:01] *** risou joined [23:05] *** daxim__ joined [23:08] *** donri left [23:28] *** nadim left [23:36] *** risou left [23:43] *** am0c joined