[00:21] *** hoverboard left [00:22] std: sub infix: is assoc('list') { join ',', @_ }; say [Roof] 1..4 [00:22] std 09dda5b: OUTPUT«ok 00:01 131m␤» [00:22] rn: sub infix: is assoc('list') { join ',', @_ }; say [Roof] 1..4 [00:22] niecza v24-108-g17d73e4: OUTPUT«Unhandled exception: Excess arguments to ANON, used 2 of 4 positionals␤ at /tmp/d6qf4mFeKO line 0 (ANON @ 1) ␤ at /home/p6eval/niecza/lib/CORE.setting line 2767 (reduceop @ 12) ␤ at /tmp/d6qf4mFeKO line 1 (mainline @ 4) ␤ at /home/p6eval/n…» [00:22] ..rakudo-parrot a77214: OUTPUT«Too many positional parameters passed; got 4 but expected 2␤ in block at gen/parrot/CORE.setting:16602␤ in sub at gen/parrot/CORE.setting:16709␤ in block at /tmp/NtL5TFV2F5:1␤␤» [00:22] ..rakudo-jvm a77214: OUTPUT«Too many positional parameters passed; got 4 but expected 2␤␤» [00:23] *** PacoAir left [00:23] *** scottp joined [00:27] *** kurahaupo_mobile joined [00:28] r: my @a := gather { .take for ^10 }; say @a.gist [00:28] rakudo-parrot a77214, rakudo-jvm a77214: OUTPUT«0 1 2 3 4 5 6 7 8 9␤» [00:28] How do I print @a in a way that doesn't cause it to be reified? [00:29] That is, so it simply says that it's an Iterable, or whatever, instead of turning into a list of numbers 0, 1, 2, ... [00:30] Oh, I remember... [00:30] r: my @a := gather { .take for ^10 }; say @a.DUMP [00:30] rakudo-jvm a77214: OUTPUT«java.lang.RuntimeException: java.lang.StackOverflowError␤␤» [00:30] ..rakudo-parrot a77214: OUTPUT«List<1>(␤ :$!flattens(Mu),␤ :$!items(▶Mu),␤ :$!nextiter(ListIter<3>(␤ :$!list(=List<1>),␤ :$!reified(▶Mu),␤ :$!nextiter(▶Mu),␤ :$!rest(QRPA<4>(GatherIter<5>(␤ :$!reified(▶Any),␤ …» [00:31] :( [00:31] Why did jakudo stack overflow? [00:37] *** hoverboard joined [00:38] *** kurahaupo_mobile left [00:52] *** logie left [00:57] *** spider-mario left [01:08] r: say (^10).WHAT [01:08] rakudo-parrot a77214, rakudo-jvm a77214: OUTPUT«(Range)␤» [01:09] *** PacoAir joined [01:12] whats that weird char after (Range) ? [01:12] in cameila's output [01:12] NL meaning 'newline' [01:12] U+2424 [01:12] oh ok. thanks [01:13] *** PacoAir left [01:25] *** jnap joined [01:27] *** xenoterracide left [01:28] .oO( In the year 2424 ♫ ) [01:29] are there Test:: modules for perl6? (or similar functionality) [01:30] *** jnap left [01:30] *** lichtkind joined [01:31] i have a prob with packages [01:38] torbjorn: What are you looking for, besides the core Test.pm? (Which IIRC is approximately at the level of Test::More in Perl 5 land, plus some free improvements from Perl 6's stronger type system, .perl, and so forth.) [01:39] *** colomon left [01:39] lichtkind: What problem, and what kind of packages? [01:40] i made in a script a normal package and than used one sub of it and bang got error i cant understand [01:42] its not the signatures not the name of subs no nothing [01:42] juct cant use the package [01:42] core Test is more than i need, thanks [01:52] *** Vlavv_ left [02:08] *** Vlavv__ joined [02:14] *** colomon joined [02:14] i got a "could not find symbol" at runtime [02:15] *** dayangkun joined [02:17] *** kurahaupo joined [02:19] same problem when making seperate module [02:26] *** jnap joined [02:30] *** jnap left [02:41] *** colomon left [02:42] *** colomon joined [02:55] *** abnorman left [03:27] *** jnap joined [03:31] *** jnap left [03:44] *** unclefester2 left [03:53] *** dalek left [03:54] *** dalek joined [03:54] *** ChanServ sets mode: +v dalek [04:00] *** lichtkind left [04:27] *** jnap joined [04:32] *** jnap left [04:43] *** preflex_ joined [04:43] *** ChanServ sets mode: +v preflex_ [04:44] *** preflex left [04:44] *** preflex_ is now known as preflex [04:54] *** ggoebel118 left [05:19] *** ggoebel joined [05:28] *** jnap joined [05:33] *** jnap left [05:35] *** PerlPilot is now known as PerlJam [05:42] lichtkind: Did you add "is export" to each sub declaration that you wanted to use from the importing script? [05:51] <[Coke]> aw, the moar test run died because of an ssh timeout. whoops. [05:52] * [Coke] kicks off another run. [06:07] <[Coke]> lots of segfaults. [06:08] <[Coke]> 42 as of S03-operators/lcm.t [06:08] <[Coke]> oh. Also, Happy 2014~ [06:08] <[Coke]> ! [06:09] 4Happy new years1! [06:14] rn: my @H = "Happy New Year, everybody!".comb; for ( (0..255).pick(*) ) { my $f = $_ +> 4; my $b = $_ +& 15; next if $f == $b; print "$f,$b", @H.shift; last unless @H } [06:14] rakudo-parrot a77214: OUTPUT«7,1H5,10a13,12p4,12p8,15y7,12 7,6N9,1e0,6w12,14 6,2Y14,3e2,13a1,11r8,0,10,3 11,6e2,11v3,0e12,2r9,2y15,14b14,15o2,14d5,8y0,12!» [06:14] ..niecza v24-108-g17d73e4: OUTPUT«2,15H3,4a2,1p2,5p14,3y10,1 1,6N14,15e12,15w12,2 8,15Y9,8e6,13a3,5r4,12,0,15 8,13e5,9v6,5e2,6r0,2y7,1b11,2o12,13d7,5y11,6!» [06:14] ..rakudo-jvm a77214: OUTPUT«3,5H4,10a8,7p4,5p9,3y5,6 13,5N13,15e7,5w4,11 13,6Y6,1e8,15a9,10r0,4,12,15 11,4e5,4v1,6e1,7r2,7y15,8b5,2o6,10d11,8y2,4!» [06:14] :) [06:16] *** ssutch left [06:17] Is it currently possible to embed perl6 into another program? Or at least, how hard is it? [06:17] *** ssutch joined [06:17] * BenGoldberg just installed perl4mirc, and it seems to work ok. [06:18] * BenGoldberg would like to have some sort of perl64mirc, cause it would be pretty darn cool. [06:18] You mean in a plugin sense? I wouldn't know. Using nativecall on a C-based plugin API is one possibility... [06:24] *** atroxaper joined [06:25] *** dayangkun left [06:26] Well, with perl4mirc installed, I can type "/perl print for sort qw(5 3 1 4 2 9)" and it's run just like a regular irc command. [06:29] *** jnap joined [06:34] *** jnap left [06:40] 5 [06:40] 3 [06:40] 1 [06:40] 4 [06:40] 2 [06:40] 9 [06:40] oops [06:40] 1 [06:40] 2 [06:40] 3 [06:40] 4 [06:40] 5 [06:40] 9 [06:40] :) [06:44] r: my @a = 0,5,10; say @a X* 1/* [06:44] rakudo-jvm a77214: OUTPUT«Cannot call 'Numeric'; none of these signatures match:␤:(Mu:U \v: Mu *%_)␤ in any at gen/jvm/BOOTSTRAP.nqp:1201␤ in block at gen/jvm/CORE.setting:16340␤ in block at gen/jvm/CORE.setting:7485␤ in block at gen/jvm/CORE.setting:7210␤ in bl…» [06:44] ..rakudo-parrot a77214: OUTPUT«Cannot call 'Numeric'; none of these signatures match:␤:(Mu:U \v: Mu *%_)␤ in any at gen/parrot/BOOTSTRAP.nqp:1218␤ in any at gen/parrot/BOOTSTRAP.nqp:1209␤ in method Numeric at gen/parrot/CORE.setting:997␤ in sub infix:<*> at gen/parrot/…» [06:45] n: my @a = 0,5,10; say @a X* 1/* [06:45] niecza v24-108-g17d73e4: OUTPUT«{ ... }␤» [06:45] :/ [06:54] *** dwarring left [06:56] *** SamuraiJack_ joined [07:00] *** darutoko joined [07:12] *** wooden left [07:21] *** Ben_Goldberg joined [07:22] *** BenGoldberg left [07:23] *** wooden joined [07:23] *** wooden left [07:23] *** wooden joined [07:30] *** jnap joined [07:34] *** jnap left [07:49] n: sub infix:($x, &f) { f($x) }; my @a = 1, 5, 10; say @a Xo 1/*; [07:49] niecza v24-108-g17d73e4: OUTPUT«{ ... }␤» [07:50] r: sub infix:($x, &f) { f($x) }; my @a = 1, 5, 10; say @a Xo 1/*; [07:50] rakudo-parrot a77214, rakudo-jvm a77214: OUTPUT«1 0.2 0.1␤» [07:50] n: say "hi" [07:50] niecza v24-108-g17d73e4: OUTPUT«hi␤» [08:09] *** hoverboard left [08:30] *** jnap joined [08:35] *** jnap left [08:51] *** _ilbot left [08:51] *** _ilbot joined [09:14] *** MikeFair left [09:15] *** MikeFair joined [09:26] *** xinming_ joined [09:28] rakudo/moar-support: d3c4a7b | (Tobias Leich)++ | src/vm/moar/ops/perl6_ops.c: [09:28] rakudo/moar-support: removed leftover cruft, sorry [09:28] rakudo/moar-support: review: https://github.com/rakudo/rakudo/commit/d3c4a7bd9c [09:29] *** xinming left [09:43] <[Coke]> moar: "total", 17247, 10877, 285, 790, 28855, 28494? [09:43] *** daniel-s_ left [09:44] *** daniel-s_ joined [09:44] <[Coke]> http://feather.perl6.nl/~coke/moar.out [10:07] do you mean moar pass rate is about 60%? [10:08] there's lots of false positive passing TODOs, though [10:09] the fact that we are running these tests is moar important to me :o) [10:10] because that means that we can fiddle with the details [10:10] yes! [10:10] exciting times :) [10:10] for sure :) [10:10] yes :o) [10:39] * masak .oO( may you live in exciting times ) [10:45] welcome to the 2014 hunger games. May the odds always be in your favor [10:45] * moritz a bit cynical [10:45] trying to build build nqp-m, I get [10:45] Unhandled exception: Bytecode validation error at offset 24, instruction 4: [10:45] operand type 32 does not match register type 64 [10:46] *** Ben_Goldberg left [10:47] moritz: lue gets the same :/ [10:47] moritz: there was talk on #moarvm about an i32/i64 patch jnthn didn't apply. [10:52] what exactly does "StopIteration" as an error message mean? [10:52] *** filly joined [10:56] means that some internals leaked out, likely to do with lazy lists. [10:57] I am about to implement P5's each, works well for Hashes but explodes for lists [10:57] I guess I am re-binding the iterator wrong-ish [10:58] ohh, now it does something [10:58] *** usernotexists joined [11:17] FROGGS++ for his work on v5 ;-) [11:18] :o) [11:23] *** Rotwang joined [11:27] *** PacoAir joined [11:27] rp: EVAL 'my $a; my $a;'; say "everything is ok" [11:27] rakudo-parrot a77214: OUTPUT«Potential difficulties:␤ Redeclaration of symbol $a␤ at eval_0:1␤ ------> my $a; my $a⏏;␤everything is ok␤» [11:28] is there any way to check if my EVAL produced that warning? [11:28] rp: EVAL 'my $a; my $a;'; say $! [11:28] rakudo-parrot a77214: OUTPUT«Potential difficulties:␤ Redeclaration of symbol $a␤ at eval_0:1␤ ------> my $a; my $a⏏;␤Nil␤» [11:28] :/ [11:30] ahh, this is just a warning from the grammar... [11:31] rp: EVAL 'my $a; my $a;'; say @*SORROWS [11:31] rakudo-parrot a77214: OUTPUT«Potential difficulties:␤ Redeclaration of symbol $a␤ at eval_0:1␤ ------> my $a; my $a⏏;␤Dynamic variable @*SORROWS not found␤ in method gist at gen/parrot/CORE.setting:12119␤ in method gist at gen/parrot/CORE.…» [11:32] *** fhelmberger joined [11:33] *** jnap joined [11:33] rp: my @*WORRIES; EVAL 'my $a; my $a;'; say +@*WORRIES # no chance [11:33] rakudo-parrot a77214: OUTPUT«Potential difficulties:␤ Redeclaration of symbol $a␤ at eval_0:1␤ ------> my $a; my $a⏏;␤0␤» [11:34] nice try [11:34] happpy new year, #perl6! [11:35] I would find it useful to pick up that warning. Perhaps its a spec thingy if #perl6 agrees [11:35] happy new year! [11:35] happy tadzik, new year! [11:37] *** jnap left [11:38] nothing says "happy new year" like getting shot in a face by a rogue firework [11:38] *g* [11:38] timotimo had a near face experience [11:38] tadzik: you are well? [11:39] yeah, nothing serious happened, I just have a red bruise on my cheek [11:39] but I was pretty shocked, and scared of explosives for the rest of the night [11:39] idiots with homemade explosives :/ [11:40] ohh wow [11:40] good that this is not allowed here :o) [11:40] I'm pretty sure it's not allowed here either [11:40] wow [11:40] I called the police right away [11:40] in our case it wasn't even a home-made one [11:41] what happened? [11:41] dagurval: you can catch warnings with a CONTROL block [11:41] tadzik: we were on the 5th floor (which is the 6th floor in some counting systems) [11:41] we were on the balcony [11:42] thing is that the police will get you... my wife's brother once had explosives from Czech Republic, and they were there within a few minutes and he had to pay more that 500 euros [11:42] ouch [11:42] one fly-up-and-then-explode-into-happy-colors projectile decided the optimum height to deploy happy colors was ... there [11:42] nobody was hurt, no hair was burnt and no clothes damaged, fortunately [11:42] but we were all ... excited :) [11:43] here I was walking to the party, and right next to some gogo club I saw a petard (is that a word?) thrown, exploding, and then something hit my face [11:43] I was like 10 meters away [11:43] could've been a nearby rock for all I know [11:44] timotimo: ok thanks for the hint, I'll look into it [11:44] pretty scary [11:44] wow [11:44] petard is a word. [11:45] thanks, I hope it's not a false friend then :) [11:45] http://en.wikipedia.org/wiki/Petard [11:45] * masak .oO( stop throwing rocks at me, you petard! ) [11:47] tadzik: glad you made it relatively unscathed. [11:47] tadzik: I've always been of the opinion that fireworks are stupid and dangerous. [11:49] *** denisboyun joined [11:50] *** spider-mario joined [11:50] *** rurban left [11:51] *** rurban joined [11:52] *** denisboyun left [11:59] *** rindolf joined [12:07] masak: and expensive [12:07] and then there is all that waste... [12:27] *** xenoterracide joined [12:34] *** jnap joined [12:38] *** jnap left [12:49] *** cognominal joined [13:02] *** kurahaupo left [13:09] *** fhelmberger left [13:21] *** xenoterracide left [13:24] for those of you who didn't see it yet: http://alexgaynor.net/2013/dec/30/about-python-3/ [13:24] and corresponding HN discussion: https://news.ycombinator.com/item?id=6985207 [13:25] * FROGGS looks [13:26] what scares me is this: Perl 6 *is not even there yet*, at the point of the problem Python 3 is having. [13:27] I mean, once Perl 6 implementations are fast enough, and technologically superior to Perl 5 in enough ways and enough interesting ways, we *still* can't tell the community "it's time to use this now". [13:27] (I mean, we can tell them, but nothing will happen) [13:28] masak: maybe we will be in a better position because Perl6 is totally something else as Perl5? [13:28] The Law of Community Upgrades: you can release new better sofware, but you can't upgrade the community. [13:28] so there would be a bigger benefit to migrators [13:28] FROGGS: no, I think that will make fewer people switch. [13:28] FROGGS: maybe it will make more people polyglots, though. [13:28] but I doubt that. [13:29] well, then just let us attract new ppl :o) [13:29] masak: Yeah, that's a concern [13:29] OTOH, there are more incentives to move to Perl 6 than Perl 5 [13:30] how do you mean? [13:30] New features and such [13:30] or did you mean "...than Python 3"? [13:30] there's incentives to move to Perl6 from other languages [13:30] More incentives to move from Perl 5 to 6, than from Python 2 to 3 I meant, yeah [13:31] timotimo: as long as it's fast, well-documented, and reliable. which it often isn't. [13:31] Of course, the distance you move is further as well, so it's hard to say [13:31] it's dynamic, possibly fast, runs (will run) on lots of platforms, has a kick-ass C interop, very powerful parsing, much simplified, unified, unWATified syntax, ... [13:31] "Second, I think there's been little uptake because Python 3 is fundamentally unexciting" [13:31] *nod* [13:31] we can scratch this one for us [13:32] "The divergent paths of Python 2 and Python 3 have been bad for our community. We need to bring them back together." -- whoa. [13:32] Perl and Python communities, Y U so alike? [13:33] Python community: "at least we didn't get stuck in second system hell, like those Perl 6 people" [13:33] Perl 6 community: "at least we have a language worthy of upgrading/sidegrading to, unlike those Python 3 people" [13:33] [; [13:33] later, Python community: "we need to bring py2 and py3 back together" [13:33] :D [13:34] Perl community: "we need to bring Perl 5 and Perl 6 back together" [13:34] Python community: "really, those people are libertarian hippie anarchists" [13:34] *** jnap joined [13:35] Perl community: "whoa, those people need to loosen their tie and get some more curly braces" [13:36] Python: "ONE WAY! ONE TRUE WAY! ONE OBVIOUS WAY!" [13:36] Perl: "...unless you count all those other ways." [13:36] Python: "batteries included" [13:36] Perl: "man, I love my cpanm" [13:37] to be fair, the batteries that are included in py's stdlib are rotten in big parts :P [13:37] it somehow reminds me of: http://s2.blomedia.pl/komorkomania.pl/images/2013/04/IE-eats-glue-154796.jpg [13:37] Python: "we're all adults here" (re OO privacy) [13:37] but who would be the ie, ruby? [; [13:37] Perl: "...because you're not invited, not because I have a shotgun" [13:39] *** jnap left [13:49] *** [Keith] joined [14:06] * lizmat assumes it is safe now to wish everybody a happy 2014 [14:07] lizmat: happy new year to you too :o) [14:30] lizmat: happy/safe 2014! [14:32] also 2015 [14:41] *** Rotwang left [14:42] Happy New Year, #perl6 folks :) [14:42] jnthn: you have 1 new message. '/msg preflex messages' to read it. [14:43] happy new year jnthn :o) [14:45] japhb: Not right at the top, but the only other thing that really competes with them for importance in the async/conc stuff is working on cancellation. [14:45] japhb: If you are running into a lack of them, that motivates me more. :) [14:46] jnthn: are you still considering to come to the gpw2014 in march? pmichaud does not know where to go in march yet, and it looks like your choice could have an influence :o) [14:46] jnthn: do you have time for talking about slangs this month? [14:48] FROGGS: I've got some time for gpw reserved in my schedule. I *may* miss the Wed and only make the Thu/Fri. But could happily hang around on the Sat for further hacking. [14:48] *** daniel-s_ left [14:48] cool, that sounds awesome :o) [14:52] ooh, so Rakudo on Moar now builds on the auto-roast box :) [14:52] *** raiph joined [14:52] Well, the Coke-roast box :) [14:54] jnthn! \o/ [14:54] jnthn: hoppy new year! [14:55] Anyone getting "operand type 32 does not match register type 64" - build yourselves a new NQP from master :) [14:55] *** Rotwang joined [15:00] masak: samma :) [15:02] *** ssutch left [15:02] *** cognominal left [15:03] *** cognominal joined [15:04] *** ssutch joined [15:06] *** ajr joined [15:06] *** ajr is now known as Guest68933 [15:06] *** Guest68933 is now known as ajr_ [15:09] *** thou joined [15:12] *** atroxaper left [15:15] that is an nqp from master [15:15] 2013.12.1-5-g61e4135 [15:19] *** colomon left [15:20] *** zakharyas joined [15:20] *** colomon joined [15:20] that built on my box [15:20] * moritz tries again [15:21] It probably wants at least a make clean in NQP... [15:21] *** atroxaper joined [15:21] *** atroxaper left [15:21] oh yes, seems to work [15:22] *** zakharyas1 joined [15:24] *** zakharyas left [15:36] *** jnap joined [15:39] *** colomon left [15:40] *** colomon joined [15:40] *** jnap left [15:42] *** mtk left [15:43] *** mtk joined [15:44] *** mtk left [15:45] *** mtk joined [15:49] *** cognominal left [15:49] *** cognominal joined [15:56] * [Coke] wakes up [15:57] Happy New year! [15:57] <[Coke]> ~~ [15:58] *** Psyche^ joined [15:59] <[Coke]> hopefully the daily run will work just fine (that was a one off). [16:00] I hope so too [16:00] <[Coke]> And I imagine a lot of the failures are "tests tht would have worked otherwise except for the explosion" [16:02] [Coke]: Did you push the yesterday results with the Moar result in it? [16:02] * jnthn sees last results were from 2 days ago... [16:02] *** Psyche left [16:33] <[Coke]> jnthn: the moar result on feather was a one off. [16:33] [Coke]: ah, ok [16:34] <[Coke]> not part of the daily run. (but also, I forgot a push) [16:34] * TimToady blinks at the new year [16:34] rakudo-star-daily: a76b1b3 | coke++ | log/ (5 files): [16:34] rakudo-star-daily: today (automated commit) [16:34] rakudo-star-daily: review: https://github.com/coke/rakudo-star-daily/commit/a76b1b3a01 [16:34] perl6-roast-data: 16ab612 | coke++ | / (6 files): [16:34] perl6-roast-data: today (automated commit) [16:34] perl6-roast-data: review: https://github.com/coke/perl6-roast-data/commit/16ab61228d [16:34] <[Coke]> still counts for the new year, however. ;) [16:35] Why on earth has Rakudo JVM dropped so much in that run? :S [16:37] *** jnap joined [16:41] *** jnap left [16:41] rakudo.jvm_summary.out 2724 additions, 383 deletions not shown [16:41] huh [16:41] ahh, "Please use 'EVAL' instead." [16:42] we should fix niecza/pugs and then roast me thinks [16:44] rakudo/moar-support: 9c76f05 | jonathan++ | src/Perl6/Metamodel/BOOTSTRAP.nqp: [16:44] rakudo/moar-support: Fix over-decontainerization. [16:44] rakudo/moar-support: review: https://github.com/rakudo/rakudo/commit/9c76f05fcd [16:45] *** mtk left [16:47] about jvm tests, I guess that is new: S32-str/sprintf.rakudo.jvm aborted 143 test(s) [16:47] S32-num/complex.t aborted 470 test(s) [16:47] so, maybe the eval-server terminated? [16:50] greetings, jnthn :) [16:52] <[Coke]> FROGGS: I don't use the eval server, because it always terminates. [16:52] hmmm [16:52] FROGGS: where and how expensive will gpw be? [16:55] I think location is Hannover [16:55] aye [16:55] and price is typically betwen 50€ and 100€ [16:55] and free for speakers [16:55] i should speak, then :) [16:55] Give a talk. Attend free! [16:56] http://act.yapc.eu/gpw2014/preise.html [16:56] na, it's still 40€ for speakers [16:56] aww [16:57] that's a managable price, though :) [16:57] True :) [16:57] much less than accomodation and travel, most likely [16:58] probably, yes [16:58] hannover isn't that prohibitive, though :) [16:58] *** kaare_ joined [16:58] * jnthn is wondering if he can manage to get a $dayjob assignment in Germany in the same week [16:58] getting an affordable room could become a problem [16:58] Which makes travel to Germany cheaper (for me :-)). [16:59] hmmm, we have an office in hannover :o) [17:00] *** logie joined [17:00] TimToady: -y new year! ;) [17:00] Are we there yet? [17:00] <[Coke]> jussssst a little further. [17:01] we are "there" yet, but not for your value of "there". [17:02] We're somewhere, but it might not be where you wanted to go =) [17:03] *** mtk joined [17:06] <[Coke]> ah. some of these segfaults may be due to loops that timed out, then segfaulted on exit when they were killed. [17:10] <[Coke]> r-m: my $a is dynamic; say $a.VAR.dynamic; [17:13] No r-m yet... [17:13] *** atroxaper joined [17:14] <[Coke]> aw... [17:14] *** SamuraiJack_ left [17:14] *** SamuraiJack__ joined [17:16] we'll get that once moar-support is merged into nom [17:16] without too much extra effort [17:17] [Coke]: locally I get Segmentation fault (core dumped) [17:18] and for just $a.VAR I get Unhandled exception: Invocant requires an instance, but a type object was passed [17:18] *** raiph left [17:18] *** espadrine joined [17:19] *** SamuraiJack__ left [17:19] <[Coke]> moritz: ayup. was hoping to be able to show the segfault here. (more from the one off run going into #moarvm [17:21] *** kaare_ left [17:22] *** logie left [17:23] *** raiph joined [17:27] * colomon is attempting to make potsticker wrappers by hand for the first time in a half decade or so... [17:29] *** usernotexists left [17:31] *** logie joined [17:34] *** fhelmberger joined [17:37] *** BenGoldberg joined [17:39] rakudo/moar-support: 886a34c | jonathan++ | src/Perl6/Metamodel/BOOTSTRAP.nqp: [17:39] rakudo/moar-support: Fix reporting of anon var bind errors. [17:39] rakudo/moar-support: review: https://github.com/rakudo/rakudo/commit/886a34c907 [17:39] rakudo/moar-support: 9b113a3 | jonathan++ | src/Perl6/Metamodel/BOOTSTRAP.nqp: [17:39] rakudo/moar-support: Hopefully fix many .VAR-using tests. [17:39] rakudo/moar-support: review: https://github.com/rakudo/rakudo/commit/9b113a3806 [17:41] *** fhelmberger left [17:41] bbl [17:45] *** ajr joined [17:45] *** ajr_ left [17:45] *** ajr is now known as Guest85254 [17:57] *** cognominal left [17:57] *** cognominal joined [17:59] *** autark joined [18:01] *** raiph left [18:11] *** SamuraiJack__ joined [18:11] *** gcole_ joined [18:15] *** gcole left [18:17] *** logie left [18:25] *** cooper joined [18:35] *** SamuraiJack__ left [18:38] *** jnap joined [18:39] jnthn: do you think we can reasonably get a performance improvement by agressively caching all rules and action methods of a given Grammar.parse once at the beginning and getting - hopefully! - cheaper dispatches during parsing and action method calling? [18:40] jnthn: also, did you backlog and see my comment about trying to compile-time dispatch methods on WVals? [18:42] *** colomon left [18:43] *** jnap left [18:44] *** Jinendra joined [18:45] *** atroxaper left [18:45] *** Jinendra left [18:53] *** colomon joined [18:56] *** darutoko left [19:02] <[Coke]> what's the final word on eval vs. EVAL? [19:02] <[Coke]> (rakudo says EVAL, roast says eval) [19:03] we just had a spec change to move to EVAL [19:04] *** hoverboard joined [19:06] https://github.com/perl6/specs/commit/0b7df09ecc096eed5dc30f3dbdf568bbfd9de8f6 [19:09] *** zakharyas1 left [19:12] you say eval and I say EVAL. let's call the whole thing off http://www.youtube.com/watch?v=Dnf5HnW8C4E [19:12] *** kurahaupo joined [19:13] *** gcole joined [19:15] roast: 8fa1e64 | moritz++ | / (14 files): [19:15] roast: star to switch some eval()s to EVAL [19:15] roast: review: https://github.com/perl6/roast/commit/8fa1e64441 [19:17] *** gcole_ left [19:29] *** hoverboard left [19:29] *** hoverboard joined [19:29] *** hoverboard left [19:29] *** hoverboard joined [19:30] *** rindolf left [19:33] *** SHODAN joined [19:35] nqp: 876d500 | (Tobias Leich)++ | src/vm/moar/ModuleLoader.nqp: [19:35] nqp: Revert "add nqp language diretory to search path" [19:35] nqp: [19:35] nqp: This reverts commit 41debf41705d3979edaeffb47b804c1d15a1015e. [19:35] nqp: review: https://github.com/perl6/nqp/commit/876d500873 [19:43] *** espadrine left [19:44] *** espadrine joined [19:49] *** baest left [19:51] *** lumimies_ joined [19:52] *** revdiablo joined [19:52] j: my @a := gather { .take for ^10 }; say @a.DUMP [19:52] rakudo-jvm a77214: OUTPUT«java.lang.RuntimeException: java.lang.StackOverflowError␤␤» [19:53] *** BooK_ joined [19:53] *** betterwo1ld joined [19:53] *** nebuchad` joined [19:53] *** cognominal left [19:53] *** breinbaa1 joined [19:53] *** cognominal joined [19:54] *** census joined [19:54] *** pochi_ joined [19:56] *** Tene_ joined [19:56] *** Tene_ left [19:56] *** Tene_ joined [19:58] *** nebuchadnezzar left [19:58] *** pochi left [19:58] *** Alina-malina left [19:58] *** lumimies left [19:58] *** orevdiabl left [19:58] *** Tene left [19:58] *** betterworld left [19:58] *** breinbaas left [19:58] *** lumimies_ is now known as lumimies [19:59] *** pochi_ is now known as pochi [19:59] *** Alina-malina joined [20:01] *** immortal joined [20:03] *** [Coke]_ joined [20:03] *** Util_ joined [20:03] *** breinbaas joined [20:04] *** xinming joined [20:05] *** FROGGS_ joined [20:07] *** cognominal__ joined [20:08] *** PZt left [20:09] *** cognominal left [20:09] *** breinbaa1 left [20:09] *** gcole left [20:09] *** xinming_ left [20:09] *** erkan left [20:09] *** Bucciarati left [20:09] *** sorear left [20:09] *** FROGGS left [20:09] *** slavik1 left [20:09] *** [Coke] left [20:09] *** Util left [20:09] *** sorear_ joined [20:09] *** PZt joined [20:09] *** Bucciarati joined [20:11] *** logie joined [20:12] hello world o/ [20:12] moritz: you are doing the other evals too? otherwise I'd do it and push a niecza fix [20:12] *** gcole joined [20:12] hi lue [20:12] I get the sense that 2014 is gonna be an awesome year for Perl 6 :) [20:12] *** Guest85254 left [20:14] *** wooden left [20:14] :o) [20:15] *** wooden joined [20:15] *** wooden left [20:15] *** wooden joined [20:15] *** prammer joined [20:17] *** ajr joined [20:17] *** BooK_ left [20:17] *** BooK joined [20:17] *** ajr is now known as Guest55957 [20:19] *** slavik joined [20:23] so it seems like python is very commonly used for hacking tasks such as reverse-engineering hardware you're attached to with some simple serial bus or debugger and similar things [20:23] it would be great to spend a bit of time analysing the specific requirements that make python so popular in that space and see if perl6 has major problems [20:24] *** abnorman joined [20:25] *** stevan___ joined [20:28] *** stevan__ left [20:30] roast: 6a9b16f | (Tobias Leich)++ | S01-perl-5-integration/ (13 files): [20:30] roast: eval => EVAL in S01 [20:30] roast: review: https://github.com/perl6/roast/commit/6a9b16fc95 [20:32] * jnthn back [20:36] i bet one part of why python is popular is the excellent turn-around time during development; our very own rakudo is decent in that regard, except it's either running slow (parrot), starting up slow (jvm) or lacks lots of the new features/syntax/semantics (niecza) [20:37] i think investigating how perl6 currently does with regards to handling binary protocols and data would be an interesting thing [20:37] japhb++ has been doing work on protobuf which may be informative in that regard [20:38] maybe coming up with artificial (or even real!) hardware reversing/debugging tasks and implementing them elegantly (or failing to do so and coming up with good notes on what has to be improved and how) would be a good topic for a GPW2014 talk actually [20:40] *** jnap joined [20:41] humm, this an go now, right? --> #?rakudo skip "multi-dim arrays" [20:41] we merged that branch? [20:41] r: my @a[10][10]; say @a; [20:41] rakudo-jvm a77214: OUTPUT«===SORRY!=== Error while compiling /tmp/uXChat3ASy␤Shaped variable declarations not yet implemented. Sorry. ␤at /tmp/uXChat3ASy:1␤------> my @a[10]⏏[10]; say @a;␤» [20:41] ..rakudo-parrot a77214: OUTPUT«===SORRY!=== Error while compiling /tmp/Ec3pk4IRgm␤Shaped variable declarations not yet implemented. Sorry. ␤at /tmp/Ec3pk4IRgm:1␤------> my @a[10]⏏[10]; say @a;␤» [20:41] timotimo: there's probably a couple of binary-data utilities I'll end up trying to write, I'll be sure to let you know how that kind of stuff goes. [20:42] p: my @array11; @array11[2;0] = 12 # that is the test [20:42] rakudo-parrot a77214: OUTPUT«WARNINGS:␤Useless use of constant integer 2 in sink context (line 1)␤» [20:42] (I can tell you right off the bat that properly-implemented native types, e.g. int8, would make things soooo much easier.) [20:42] FROGGS_: doesn't seem to work :P [20:42] reminds me of my LoL-slice branch i didn't get to merge yet [20:42] maybe i should take up work on that again [20:43] timotimo: we can at least turn it into a todo, rather than a skip... [20:43] lue: yeah, i bet it would; not being able to $foo++ native types is pretty icky [20:43] FROGGS_: sounds good. i hope that test does actually fail rather than just warn? [20:43] timotimo: not even that. [20:43] *** Radvendii joined [20:43] lue: it doesn't stop there, of course :) [20:43] *** Radvendii left [20:43] r: my int8 $a = 0x100; say "alive, ", $a; [20:43] rakudo-parrot a77214, rakudo-jvm a77214: OUTPUT«alive, 256␤» [20:43] hmmm, it would even pass... [20:44] *** jnap left [20:44] wow, that's a wide int8 type! [20:44] it's probably due to the minimum size of an integer datatype being 2 or 4 bytes and there being a lack of masking [20:45] timotimo: if you need to, say, bit shift something, no matter what type you use right now you'd need a 0xFF..F mask to get rid of extraneous bits. [20:45] r: my int8 $a = 0x1_0000_0000; say "alive, ", $a; [20:45] rakudo-parrot a77214, rakudo-jvm a77214: OUTPUT«alive, 4294967296␤» [20:45] heh [20:45] yeah [20:45] i don't know where exactly to look :\ [20:45] p: say "1".eval [20:45] rakudo-parrot a77214: OUTPUT«1␤Saw 1 call to deprecated code during execution.␤================================================================================␤Method eval (from Cool) called at:␤ /tmp/FRJEBABkj4, line 1␤Please use 'EVAL' instead.␤-----------------------…» [20:45] ohh, the method too [20:45] r: say "1".EVAL [20:46] rakudo-parrot a77214, rakudo-jvm a77214: OUTPUT«1␤» [20:46] i'm not sure where exactly to look to figure out where to add these masks ... [20:46] *** ivan`` left [20:47] r: my int16 $a = 1 +< 17; say $a [20:47] rakudo-parrot a77214, rakudo-jvm a77214: OUTPUT«131072␤» [20:47] roast: 0bb81f8 | (Tobias Leich)++ | S02- (28 files): [20:47] roast: eval => EVAL in S02, take 1 [20:47] roast: review: https://github.com/perl6/roast/commit/0bb81f80ed [20:47] r: my int32 $a = 1 +< 33; say $a [20:47] rakudo-parrot a77214, rakudo-jvm a77214: OUTPUT«8589934592␤» [20:47] r: my int64 $a = 1 +< 65; say $a [20:47] rakudo-parrot a77214, rakudo-jvm a77214: OUTPUT«0␤» [20:47] r: my $a = 1 +< 65; say $a [20:47] rakudo-parrot a77214, rakudo-jvm a77214: OUTPUT«36893488147419103232␤» [20:47] there's actually masks already in place [20:48] r: my int $a = 1 +< 65; say $a [20:48] rakudo-parrot a77214, rakudo-jvm a77214: OUTPUT«0␤» [20:48] *** dwarring joined [20:48] r: my int8 $a = 10; say $a.WHAT; say $a.^methods; [20:49] rakudo-parrot a77214: OUTPUT«(Int)␤Int Num Rat FatRat abs Bridge chr sqrt base expmod is-prime floor ceiling round lsb msb narrow sign conj rand sin asin cos acos tan atan atan2 sec asec cosec acosec cotan acotan sinh asinh cosh acosh tanh atanh sech asech cosech acosech cotanh ac…» [20:49] ..rakudo-jvm a77214: OUTPUT«(Int)␤Int Num Rat FatRat abs Bridge chr sqrt base expmod is-prime floor ceiling round lsb msb narrow atan asin cos acosh acosec conj asec cosec atanh Complex tanh atan2 cis cosech rand acos succ cotan cosh sech acotan roots acosech sinh log log10 sign exp…» [20:49] not that helpful ... [20:49] r: my int8 $a = 10; say $a.VAR.WHAT; say $a.VAR.^methods; [20:49] rakudo-parrot a77214: OUTPUT«(Int)␤Int Num Rat FatRat abs Bridge chr sqrt base expmod is-prime floor ceiling round lsb msb narrow sign conj rand sin asin cos acos tan atan atan2 sec asec cosec acosec cotan acotan sinh asinh cosh acosh tanh atanh sech asech cosech acosech cotanh ac…» [20:49] ..rakudo-jvm a77214: OUTPUT«(Int)␤Int Num Rat FatRat abs Bridge chr sqrt base expmod is-prime floor ceiling round lsb msb narrow atan asin cos acosh acosec conj asec cosec atanh Complex tanh atan2 cis cosech rand acos succ cotan cosh sech acotan roots acosech sinh log log10 sign exp…» [20:49] r: my int64 $a = 10. say $a.DUMP [20:49] rakudo-parrot a77214: OUTPUT«===SORRY!===␤Decimal point must be followed by digit␤at /tmp/8JCaAHmoSp:1␤------> my int64 $a = 10.⏏ say $a.DUMP␤Decimal point must be followed by digit␤at /tmp/8JCaAHmoSp:1␤------> my int64 $a = 10…» [20:49] ..rakudo-jvm a77214: OUTPUT«===SORRY!===␤Decimal point must be followed by digit␤at /tmp/f5rXzggOP8:1␤------> my int64 $a = 10.⏏ say $a.DUMP␤Decimal point must be followed by digit␤at /tmp/f5rXzggOP8:1␤------> my int64 $a = 10.[…» [20:49] r: my int64 $a = 10; say $a.DUMP [20:49] rakudo-parrot a77214, rakudo-jvm a77214: OUTPUT«10␤» [20:49] rn: say 'ߞ'.ord [20:49] rakudo-parrot a77214, rakudo-jvm a77214, niecza v24-108-g17d73e4: OUTPUT«2014␤» [20:51] *** logie left [20:51] huh, is it right that copy_to doesn't change the bits of the target? [20:51] timotimo: Context? [20:51] looking at vm/parrot/sixmodel/reprs/P6int.c [20:52] * timotimo sprinkles debug outputs everywhere to find out what's wrong [20:53] *** clkao_ joined [20:53] maybe the nativesize trait doesn't actually set the value of the bits property [20:54] Is it that much easier to add debug outputs, then to run parrot with gdb or whatever? [20:54] good point. i can try that :) [20:54] actually. no. i'll go with debug prints :P [20:54] *** xenoterracide joined [20:55] gdp can be a pita to use, I suppose [20:55] err, gdb [20:55] r: my native int3 is repr('P6int') is Int is nativesize(3) { } [20:55] rakudo-jvm a77214: ( no output ) [20:55] ..rakudo-parrot a77214: OUTPUT«===SORRY!===␤P6int can only handle 1, 2, 4, 8, 16, 32 or 64 bit wide ints.␤» [20:55] ah, so it *does* pass the nativesize [20:57] roast: 7cac63f | (Tobias Leich)++ | S02- (21 files): [20:57] roast: eval => EVAL in S02, take 2 [20:57] roast: review: https://github.com/perl6/roast/commit/7cac63fcab [20:58] *** ivan`` joined [20:59] adding debug outputs to get_int and set_int in P6int is making the compilation a *bit* slower :D [20:59] Heh [21:00] What's the problem you're debugging? [21:00] timotimo: I'd think that forcing Perl 6 to use an X bits only in memory would work, without mask fiddling, right? [21:00] nqp: 70a5d77 | jonathan++ | src/vm/moar/QAST/QASTOperationsMAST.nqp: [21:00] nqp: Add some missing decont markers. [21:00] nqp: [21:00] nqp: The MoarVM ops wrongly attempted to handle this before. [21:00] nqp: review: https://github.com/perl6/nqp/commit/70a5d7765c [21:00] Some of the bitsize code in vm/parrot/src/P6int.c is my fault [21:01] good question, though it does have those masks and i'll now try to figure out why it's not using them. [21:01] timotimo: What're you trying to make work? [21:01] timotimo: If it's native lexicals, then those don't get handled via P6int's copy_to... [21:01] r: my int8 $foo = 1024; say $foo [21:01] rakudo-parrot a77214, rakudo-jvm a77214: OUTPUT«1024␤» [21:01] ah, okay. where do i have to look to fix this? will it take me minutes or weeks? [21:02] neither, most likely [21:02] Well, I'd rather not just hack somehting in. [21:02] It needs a design, that includes designing the stuff for the rw-passing case too... [21:02] that does sound suspiciously like "a long time" :)) [21:03] Well, make $native_int++ work is pretty high on my todo list :) [21:03] OK, i'll wait for you to do this properly [21:03] feel free to toss any low-hanging fruit my way in the mean time :) [21:03] nqp::p6sort on Moar? ;-) [21:03] FROGGS_: feel free to do the rest [21:04] moritz: k [21:04] roast: bb5077a | (Tobias Leich)++ | S0 (31 files): [21:04] roast: eval => EVAL in S03 and S04 [21:04] roast: review: https://github.com/perl6/roast/commit/bb5077a0d5 [21:04] oh my. that's not terribly easy, is it? [21:04] Dunno, how good are you at implementing mergesort? :) [21:04] p6sort++ [21:04] In NQP? [21:04] The masks for native ints don't need to be used everywhere... only when converting from a 'small' native int to a larger one, or to an Int [21:05] oh, in nqp? that doesn't sound as scary [21:05] do we want mergesort because it's stable? [21:05] Yeah. I'm happy with introsort too... [21:06] stable, fairly stable performance, cache-friendly-ish [21:06] But I guess start with mergesort. [21:06] hm, timsort isn't stable, right? [21:06] .oO( timosort ) [21:06] * BenGoldberg wants quantum bogosort. [21:06] BenGoldberg: we lack hardware support for that :) [21:06] heh [21:07] https://mail.python.org/pipermail/python-dev/2002-July/026837.html says it's stable [21:07] jnthn: where would p6sort live? i can imagine i could write an implementation of it in QAST, but i'd rather implement it in actual nqp [21:08] timotimo: Oh, we'll use the "put it in a proto in src/vm/moar/Perl6/Ops.nqp and reference it through a QAST::WVal" trick [21:09] timotimo: Want me to stub that bit? [21:09] i see some other examples of that [21:09] i think i can copypaste one of them [21:09] and that's a pretty neat trick :) [21:09] timotimo: Link me? [21:10] i think i remember masak being amazed by it some time ago [21:10] https://github.com/rakudo/rakudo/blob/moar-support/src/vm/moar/Perl6/Ops.nqp#L398 [21:11] timotimo: Yes, that trick [21:11] $ops.add_hll_moarop_mapping('perl6', 'p6sort', 'p6sort'); <- i can safely replace this line with my implementation? [21:11] Yes [21:12] And then toss code from perl6_ops.c [21:12] Oooh, that's clever =D [21:12] (the latter being just cleanup, not essential for i tto work) [21:13] yeah, sure [21:13] the args are going to be @data, &comparator, yes? [21:14] right [21:14] And @data is just the indexes [21:15] if there's unary sort, it will already have been ... yeah [21:15] the comparator knows how to work on indices rather than the original data? [21:15] yes [21:15] roast: 04daf2d | (Tobias Leich)++ | S0 (40 files): [21:15] roast: eval => EVAL in S05, S06 and S09 [21:15] roast: review: https://github.com/perl6/roast/commit/04daf2d67f [21:15] great. that should be all i need to know to implement it :) [21:17] There are several sorting algorithms which people have implemented in perl6 and put on the RosettaCode web site. It shouldn't be too hard to translate the code from http://rosettacode.org/wiki/Sorting_algorithms/Merge_sort#Perl_6 to NQP [21:17] timotimo: Lots of non-sorting tests just happen to use sort (like for comparing hashes) [21:18] timotimo: So could be quite a few tests there :) [21:18] should i make a point of not mutating the list? or is it a good idea to do it in-place? [21:18] since it's just indices anyway, i think it'd be fine [21:19] *** arnsholt left [21:21] timotimo: No reason not to do it in-place. [21:21] it seems like there's a not-completely-but-practically in-place version that just copies back and forth between two buffers [21:25] BenGoldberg: be aware that "Quantum computers are not known to be able [21:25] to solve NP-complete problems in polynomial time, [21:25] and can be simulated classically with exponential slowdown." [21:26] roast: 06ae909 | (Tobias Leich)++ | S1 (20 files): [21:26] roast: eval => EVAL in S10 to S12 [21:26] roast: review: https://github.com/perl6/roast/commit/06ae909794 [21:26] * BenGoldberg doesn't think masak gets the joke. [21:26] BenGoldberg: in particular, the pop media have hammered away for decades about how quantum computers can "run all the possibilities at once, finding the right answer". they can't. [21:26] BenGoldberg: oh, I got it. :) [21:26] Quantum bogosort is basically defined as: shuffle the data, and if it's not sorted, destroy the universe. [21:27] oh, you're a many-universes proponent. [21:27] well, I hope you're right about that bit ;) [21:28] I don't think that there's a non-many-universes definition of quantum bogosort. :) [21:28] *** jnap joined [21:29] *** jnap1 joined [21:29] *** jnap left [21:29] the problem is: if you use quantum bogosort on a meta-universe that doesn't behave like many-universe theory would suggest, you'd destroy the single universe you have if you don't shuffle right :P [21:30] .oO( all I asked for was a sort routine, and now we're talking about destroying the universe :P ) [21:31] BenGoldberg: it suddenly occurs to me that the many-worlds hypothesis might be right, *and* some stupid aliens ran too much quantum bogosort on the multiverse, such that there is now only one universe left and quantum bogosort is outlawed, for obvious reasons. [21:33] masak: wouldn't some sneaky sorting bandits make off to another multiverse then? [21:34] you're thinking of time bandits [21:35] Moving from one universe to another -- or from one multiverse to another -- require one to be very sneaky. [21:35] also very small [21:37] roast: 5bab36f | (Tobias Leich)++ | / (36 files): [21:37] roast: eval => EVAL in S14 to S32 [21:37] roast: review: https://github.com/perl6/roast/commit/5bab36fd62 [21:39] I always envision some very angry dead Greek philosopher going "it's called *universe* because it holds *everything*, you dorks!" [21:39] 'night, #perl6 [21:39] 'night, masak [21:39] 'night masak [21:40] r: my %a; say True if True && %a{"a"}:exists [21:40] rakudo-jvm a77214: OUTPUT«===SORRY!=== Error while compiling /tmp/YfBdrBQhtU␤You can't adverb that␤at /tmp/YfBdrBQhtU:1␤------> y %a; say True if True && %a{"a"}:exists⏏␤ expecting any of:␤ pair value␤» [21:40] ..rakudo-parrot a77214: OUTPUT«===SORRY!=== Error while compiling /tmp/OBAHpwTRP6␤You can't adverb that␤at /tmp/OBAHpwTRP6:1␤------> y %a; say True if True && %a{"a"}:exists⏏␤ expecting any of:␤ pair value␤» [21:40] r: my %a; say True if %a{"a"}:exists [21:40] rakudo-parrot a77214, rakudo-jvm a77214: ( no output ) [21:40] bug? [21:40] *** zakalwe left [21:41] Why would it say True? [21:41] *** xenoterracide left [21:41] r: my %a; say %a{"a"}:exists [21:41] the first one should parse [21:41] rakudo-parrot a77214, rakudo-jvm a77214: OUTPUT«False␤» [21:41] if I use && in an if statement with adverb it fails [21:42] my %a; say True if True and %a{"a"}:exists [21:42] r: my %a; say True if True and %a{"a"}:exists [21:42] rakudo-parrot a77214, rakudo-jvm a77214: ( no output ) [21:42] r: my %a; say True if (True and %a{"a"}):exists [21:42] rakudo-parrot a77214: OUTPUT«===SORRY!=== Error while compiling /tmp/esPTzxjM3M␤You can't adverb that␤at /tmp/esPTzxjM3M:1␤------> a; say True if (True and %a{"a"}):exists⏏␤ expecting any of:␤ pair value␤» [21:42] ..rakudo-jvm a77214: OUTPUT«===SORRY!=== Error while compiling /tmp/mVGjrPEj13␤You can't adverb that␤at /tmp/mVGjrPEj13:1␤------> a; say True if (True and %a{"a"}):exists⏏␤ expecting any of:␤ pair value␤» [21:42] It fails to parse with '&&' (and succeeds with 'and') due to precedence. [21:43] r: my %a; say True if True && (%a{"a"}:exists) [21:43] rakudo-parrot a77214, rakudo-jvm a77214: ( no output ) [21:43] && has higher precedence than : [21:43] ah, I see [21:44] Fortunately, 'and' take only one extra letter to type than '&&' [21:46] n: say(min(1, 5)) [21:46] niecza v24-108-g17d73e4: OUTPUT«1␤» [21:47] Heuristic branch merge: pushed 46 commits to rakudo/moar-support by jnthn [21:48] jnthn: i pass the values from inside @data to the comparator, not the index into @data, right? [21:48] rp: my %a; 1 if !%a:exists [21:48] rakudo-parrot a77214: OUTPUT«Unexpected named parameter 'exists' passed␤ in sub prefix: at gen/parrot/CORE.setting:3728␤ in block at /tmp/KYj11WKUIV:1␤␤» [21:48] *** zakalwe joined [21:48] this one is also weird. I have to use :!exists [21:48] *** zakalwe left [21:48] *** zakalwe joined [21:48] precedence as well? [21:48] rakudo/moar-support: 432e2dc | jonathan++ | src/Perl6/Metamodel/BOOTSTRAP.nqp: [21:48] rakudo/moar-support: Toss unrequired nqp::decont. [21:48] rakudo/moar-support: review: https://github.com/rakudo/rakudo/commit/432e2dc329 [21:48] rakudo/moar-support: bffd491 | jonathan++ | src/vm/moar/ops/ (2 files): [21:48] rakudo/moar-support: Flesh out default handling, rw-check. [21:48] rakudo/moar-support: review: https://github.com/rakudo/rakudo/commit/bffd4911ea [21:49] p: my %a; 1 if not %a:exists [21:49] rakudo-parrot a77214: ( no output ) [21:50] Or just use "unless" there... [21:51] niecza: 48a8de3 | (Tobias Leich)++ | / (15 files): [21:51] niecza: rename sub and method `eval` to `EVAL` [21:51] niecza: review: https://github.com/sorear/niecza/commit/48a8de3213 [21:52] <[Coke]_> today's daily run waiting for rakudo.jvm to finish its slow run (still in S06) - moar is about where it was in the one-off run yesterday. [21:52] <[Coke]_> 17219 moar vs. 28345 parrot [21:53] r: say 17219/28345 [21:53] rakudo-parrot a77214, rakudo-jvm a77214: OUTPUT«0.607479␤» [21:53] Not a bad starting point... [21:53] nice [21:54] this morning I had like 43k passing tests in a single v5 test file :o) [21:54] Let's see if we can get 90% for the January release :) [21:54] *** PacoAir left [21:54] and then I interrupted that test which looped over an ok(1) :o( [21:54] FROGGS_: :P [21:55] jnthn: there are very, very many false positives, i suspect [21:55] [Coke]_: how fast is moar's test run [21:56] timotimo: In the Rakudo one? [21:56] yes [21:56] timotimo: Where from, ooc? [21:56] for moar; i see so many passing TODOs, that can't be right [21:56] or did we todo-fudge lots and lots of tests for moar only? [21:56] *** xenoterracide joined [21:57] No, they're probably bogus... [21:57] Hard to say [21:57] we just have to make sure we fix the underlying problems soon enough :P [21:57] i don't think we'll get to 90% proper passes without doing the implementation of gather/take [21:57] * FROGGS_ .oO( hard to print ) [21:57] FROGGS_: Well, you only need to gist of it to say... :P [21:58] :P [21:58] timotimo: Yes, that's high on my list of things to take care of once I'm back home. [21:59] aye [22:00] i'm getting a Unhandled exception: Invocant requires an instance, but a type object was passed from *somewhere* :\ [22:00] oh duh [22:00] i forgot to remove that line that was in there previously for the p6sort [22:01] That is the current "fail to report error" failure...add --ll-exception for more. [22:01] ah. [22:01] i bet it came from having the same op registered twice in two different ways [22:02] and now i notice i never actually return the sorted array %) [22:02] *** abnorman left [22:02] premature optimization? :P [22:03] "/usr/local/include/parrot/5.10.0-devel/parrot/parrot.h:94:19: fatal error: ffi.h: No such file or directory" I... I think I need to double-check parrot O.o [22:03] *** smls joined [22:05] happy new year :) [22:05] smls: you have 1 new message. '/msg preflex messages' to read it. [22:07] Timtoady: re "0 but true": Yeah I did come across that before in Perl 5, but never used it in my own code. (I thought it was just a hack to make Perl interoperate with Unix libraries?) [22:08] I prefer relying on defined'ness, myself [22:10] huh. i have an inner sub and trying to invoke it gives me "cannot invoke null object" [22:11] Could anyone explain how I'm all of a sudden getting issues with ffi.h when trying to compile the perl6 .ops? Where would that come from anyway? [22:11] oh, i think i misread the stack [22:11] i think i'm failing to invoke the comparator [22:12] lue: nqp/parrot/include/parrot/parrot.h:94:# include [22:13] lue: though, mine is 5.9.0 [22:13] but it must be something in parrot itself [22:13] FROGGS_: yes, though my issue is it not finding ffi.h [22:14] lue: so the configure scripts is able to find it, but not the compiler? [22:14] * lue recompiles parrot [22:14] This was trying to compile rakudo, by the way, so if NQP uses the same stuff it somehow didn't trigger there. [22:17] *** Rotwang left [22:17] well, rakudo includes parrot.h... so somehow a defined PARROT_HAS_LIBFFI sneaks in [22:18] maybe grep for PARROT_HAS_LIBFFI ? [22:18] if you don't have ffi there should be nothing that defines it in parrot, or rakudo [22:21] jnthn: you think i'm doing something spectacularly wrong if i just accept an &comparator on my nqp-level proto sub and try to invoke that as comparator($a, $b)? [22:21] or do i have to do my own argument unpacking for some reason? [22:21] rakudo/moar-support: 12c8797 | jonathan++ | src/vm/moar/ops/ (2 files): [22:21] rakudo/moar-support: Use proper thunk API, in turn fixing GC bug. [22:21] rakudo/moar-support: review: https://github.com/rakudo/rakudo/commit/12c8797039 [22:22] timotimo: No, that should work out OK... [22:22] I do have libffi though, but no ffi.h ... [22:22] weird. how come i get "cannot invoke null object"? [22:22] timotimo: No idea... [22:22] i'll investigate further [22:23] missing dev package? [22:23] WTH, libffi? /usr/lib64//include/ffi.h [22:24] (Still doesn't answer why parrot's decided to stop finding it though) [22:24] geekosaur: I'm on gentoo. What are these "dev" packages of which you speak? :) [22:29] ah [22:29] jnthn: i've put a nqp::isnull before the code and it doesn't trigger on &comparator :\ [22:29] *** xenoterracide left [22:30] timotimo: Then I'd guess that's not the null thing... [22:31] i'm now inlining my helper sub to do the merging, in the hopes that that was somehow the null [22:31] but i doubt it :\ [22:31] i should be able to use postcircumfix:<[ ]> for nqp::list_i and friends, yes? [22:31] *** jnap1 left [22:31] <[Coke]_> diakopter: I don't do timings. seemed slowish. [22:32] timotimo: why not nqp::atpos ? [22:32] [Coke]_: i imagine lots of them infiniloop [22:32] FROGGS_: i can do that. [22:33] rakudo/moar-support: 4c5b07e | jonathan++ | src/Perl6/Metamodel/BOOTSTRAP.nqp: [22:33] rakudo/moar-support: Fix copy-pastos. [22:33] rakudo/moar-support: review: https://github.com/rakudo/rakudo/commit/4c5b07e75d [22:34] <[Coke]_> timotimo: (infin) right. [22:34] *** [Coke]_ is now known as [Coke] [22:44] *** daniel-s_ joined [22:46] Another Moar LHF-ish: something is up with nqp::xor code-gen. Search for "Cannot find method 'result_reg'" in http://feather.perl6.nl/~coke/moar.out [22:48] I'll take that [22:48] it is indeed the call to the comparator that gives me a null-invoke [22:48] directly after the nqp::isnull check gives me 0 [22:50] Odd. [22:51] timotimo: Can I see the patch so far? [22:51] sure, one sec [22:52] https://gist.github.com/timo/af7bc1b6725d1734a6eb [22:53] *** arnsholt joined [22:54] *** daniel-s__ joined [22:54] *** daniel-s_ left [22:54] timotimo: Does s/say/nqp::say/ help? [22:54] let's see [22:54] timotimo: May be running into weird scoping stuff when the proto is referenced through a QAST::WVal... [22:55] oh! you may be onto something [22:55] because it didn't print *any* of the debug strings [22:55] where it really should have printed at least one [22:55] aye, it's probably that. [22:58] nqp-m -e 'nqp::xor(1, 3, 4)' [22:58] Error while compiling op xor (source text: "nqp::xor(1, 3, 4)"): Cannot find method 'result_reg' [22:58] *** raiph joined [23:01] jnthn: oh, it may be that i have to evaluate the More/Less objects in Int context to properly compare [23:01] er, actually, compare its int to 1? i guess? [23:01] r: say 1 < 5; say 1 <=> 5; [23:01] *** jnap joined [23:01] p: say (1 <=> 5).Int [23:01] rakudo-parrot a77214, rakudo-jvm a77214: OUTPUT«True␤Less␤» [23:01] rakudo-parrot a77214: OUTPUT«-1␤» [23:02] timotimo: Yeah, well I guess they come back 0, > 0 and < 0 [23:07] jnthn: .Int on the return value of comparator(...) and comparing it to -1 still gives me a null invoke; i must be looking at the wrong place [23:10] timotimo: I'd imagine you can just directly do the comparison... [23:10] to -1? yeah, i think i could. i want to be extra sure [23:13] p: say (1 <=> 5).WHAT; say (1 <=> 5).enums; [23:13] rakudo-parrot a77214: OUTPUT«(Order)␤("Less" => -1, "Same" => 0, "More" => 1).hash␤» [23:13] oh? i can even get back to the enums that easily? [23:13] cool beans :) [23:13] just discovered it myself :) [23:17] nqp: cd0db4e | (Tobias Leich)++ | src/vm/moar/QAST/QASTOperationsMAST.nqp: [23:17] nqp: dont call .result_reg on something that is a register [23:17] nqp: review: https://github.com/perl6/nqp/commit/cd0db4ea2a [23:18] <[Coke]> FROGGS++ [23:18] yay [23:22] oh [23:22] actually, my call to min may be breaking [23:22] nqp: nqp::say(nqp::min(5, 8)) [23:22] nqp-parrot: OUTPUT«Error while compiling op min (source text: "nqp::min(5, 8)"): No registered operation handler for 'min'␤current instr.: '' pc 57054 (gen/parrot/stage2/QAST.pir:21045) (gen/parrot/stage2/QAST.nqp:3631)␤» [23:22] ..nqp-jvm: OUTPUT«Method 'type' not found for invocant of class 'NQPMu'␤ in coerce (gen/jvm/stage2/QAST.nqp:4205)␤ in as_jast (gen/jvm/stage2/QAST.nqp:2988)␤ in (gen/jvm/stage2/QAST.nqp:3785)␤ in compile_all_the_stmts (gen/jvm/stage2/QAST.nqp:3773)␤ in as_jast (gen/jvm…» [23:22] ..nqp-moarvm: OUTPUT«Error while compiling op min (source text: "nqp::min(5, 8)"): No registered operation handler for 'min'␤frame_name_1109␤» [23:22] and there's no nqp:: form of that it seems [23:22] i can just turn it into a ternary, though [23:26] failed to load library 'dynext/libperl6_ops_moar.so' [23:26] :o( [23:27] FROGGS_: Make sure you've got a latest Moar... [23:27] You're probably missing a newly exported symbol [23:28] already rebuilding [23:28] should be it [23:32] *** Guest55957 left [23:42] nqp: my $l := nqp::list(1); say(nqp::atpos_i($l, 0)); [23:42] nqp-parrot: OUTPUT«1␤» [23:42] ..nqp-jvm: OUTPUT«VMArray representation does not implement at_pos_boxed_native␤ in (/tmp/cpjQLHgjQz:1)␤ in (gen/jvm/stage2/NQPHLL.nqp:1100)␤ in eval (gen/jvm/stage2/NQPHLL.nqp:1086)␤ in evalfiles (gen/jvm/stage2/NQPHLL.nqp:1292)␤ in command_eval (gen/jvm/stage2/NQPHL…» [23:42] ..nqp-moarvm: OUTPUT«MVMArray: atpos expected object register␤frame_name_0␤» [23:43] hurm. [23:43] i seem to be using bindpos the wrong way around :) [23:44] huh, i don't seem to be [23:46] *** Mouq joined [23:48] it says "bindpos expected int register", but ... what? [23:49] oh, probably my use of nqp::list_i [23:49] reduce.t does some very weird stuff around test 78 :o) [23:53] 3 1 3 1 5 5 5 5 [23:53] that totally looks sorted, right? [23:53] FROGGS_: I think somehow parrot forgot to -I for libffi? [23:53] sort of [23:54] lue: I'd thought your compiler has these paths built in, no? [23:54] at least that is what I hear from the debian guys often [23:54] FROGGS_: apparently not /usr/lib64//include [23:55] Though this is the first time Parrot has whined to me, and I haven't had an update to libffi lately, so... [23:58] pkg-config --cflags will give me the appropriate -I option. Hmmm...