»ö« Welcome to Perl 6! | perl6.org/ | evalbot usage: 'perl6: say 3;' or rakudo:, niecza:, std:, or /msg camelia perl6: ... | irclog: irc.perl6.org | UTF-8 is our friend!
Set by sorear on 25 June 2013.
00:21 hoverboard left
BenGoldberg std: sub infix:<oof> is assoc('list') { join ',', @_ }; say [Roof] 1..4 00:22
camelia std 09dda5b: OUTPUT«ok 00:01 131m␤»
BenGoldberg rn: sub infix:<oof> is assoc('list') { join ',', @_ }; say [Roof] 1..4
camelia 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…»
..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␤␤»
..rakudo-jvm a77214: OUTPUT«Too many positional parameters passed; got 4 but expected 2␤␤»
00:23 PacoAir left, scottp joined 00:27 kurahaupo_mobile joined
BenGoldberg r: my @a := gather { .take for ^10 }; say @a.gist 00:28
camelia rakudo-parrot a77214, rakudo-jvm a77214: OUTPUT«0 1 2 3 4 5 6 7 8 9␤»
BenGoldberg How do I print @a in a way that doesn't cause it to be reified?
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:29
Oh, I remember... 00:30
r: my @a := gather { .take for ^10 }; say @a.DUMP
camelia rakudo-jvm a77214: OUTPUT«java.lang.RuntimeException: java.lang.StackOverflowError␤␤»
..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),␤ …»
BenGoldberg :( 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
lue r: say (^10).WHAT 01:08
camelia rakudo-parrot a77214, rakudo-jvm a77214: OUTPUT«(Range)␤»
01:09 PacoAir joined
torbjorn whats that weird char after (Range) ? 01:12
in cameila's output
TimToady NL meaning 'newline'
U+2424
torbjorn oh ok. thanks
01:13 PacoAir left 01:25 jnap joined 01:27 xenoterracide left
japhb
.oO( In the year 2424 ♫ )
01:28
torbjorn are there Test:: modules for perl6? (or similar functionality) 01:29
01:30 jnap left, lichtkind joined
lichtkind i have a prob with packages 01:31
japhb 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:38
01:39 colomon left
japhb lichtkind: What problem, and what kind of packages? 01:39
lichtkind i made in a script a normal package and than used one sub of it and bang got error i cant understand 01:40
its not the signatures not the name of subs no nothing 01:42
juct cant use the package
torbjorn core Test is more than i need, thanks
01:52 Vlavv_ left 02:08 Vlavv__ joined 02:14 colomon joined
lichtkind i got a "could not find symbol" at runtime 02:14
02:15 dayangkun joined 02:17 kurahaupo joined
lichtkind same problem when making seperate module 02:19
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, ChanServ sets mode: +v dalek 04:00 lichtkind left 04:27 jnap joined 04:32 jnap left 04:43 preflex_ joined, ChanServ sets mode: +v preflex_ 04:44 preflex left, 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
japhb lichtkind: Did you add "is export" to each sub declaration that you wanted to use from the importing script? 05:42
[Coke] aw, the moar test run died because of an ssh timeout. whoops. 05:51
[Coke] kicks off another run. 05:52
lots of segfaults. 06:07
42 as of S03-operators/lcm.t 06:08
oh. Also, Happy 2014~
!
BenGoldberg 4Happy new years1! 06:09
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
camelia 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!»
..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!»
..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!»
BenGoldberg :)
06:16 ssutch left
BenGoldberg Is it currently possible to embed perl6 into another program? Or at least, how hard is it? 06:17
06:17 ssutch joined
BenGoldberg just installed perl4mirc, and it seems to work ok. 06:17
BenGoldberg would like to have some sort of perl64mirc, cause it would be pretty darn cool. 06:18
lue 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
BenGoldberg 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:26
06:29 jnap joined 06:34 jnap left
BenGoldberg 5 06:40
3
1
4
2
9
oops
1
2
3
4
5
9
:)
lue r: my @a = 0,5,10; say @a X* 1/* 06:44
camelia 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…»
..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/…»
lue n: my @a = 0,5,10; say @a X* 1/* 06:45
camelia niecza v24-108-g17d73e4: OUTPUT«{ ... }␤»
lue :/
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, wooden left, wooden joined 07:30 jnap joined 07:34 jnap left
grondilu n: sub infix:<o>($x, &f) { f($x) }; my @a = 1, 5, 10; say @a Xo 1/*; 07:49
camelia niecza v24-108-g17d73e4: OUTPUT«{ ... }␤»
grondilu r: sub infix:<o>($x, &f) { f($x) }; my @a = 1, 5, 10; say @a Xo 1/*; 07:50
camelia rakudo-parrot a77214, rakudo-jvm a77214: OUTPUT«1 0.2 0.1␤»
grondilu n: say "hi"
camelia niecza v24-108-g17d73e4: OUTPUT«hi␤»
08:09 hoverboard left 08:30 jnap joined 08:35 jnap left 08:51 _ilbot left, _ilbot joined 09:14 MikeFair left 09:15 MikeFair joined 09:26 xinming_ joined
dalek kudo/moar-support: d3c4a7b | (Tobias Leich)++ | src/vm/moar/ops/perl6_ops.c:
removed leftover cruft, sorry
09:28
09:29 xinming left
[Coke] moar: "total", 17247, 10877, 285, 790, 28855, 28494? 09:43
09:43 daniel-s_ left 09:44 daniel-s_ joined
[Coke] feather.perl6.nl/~coke/moar.out 09:44
bibifuc do you mean moar pass rate is about 60%? 10:07
timotimo there's lots of false positive passing TODOs, though 10:08
FROGGS the fact that we are running these tests is moar important to me :o) 10:09
because that means that we can fiddle with the details 10:10
timotimo yes!
exciting times :)
bibifuc for sure :)
FROGGS yes :o)
masak .oO( may you live in exciting times ) 10:39
moritz welcome to the 2014 hunger games. May the odds always be in your favor 10:45
moritz a bit cynical
trying to build build nqp-m, I get
Unhandled exception: Bytecode validation error at offset 24, instruction 4:
operand type 32 does not match register type 64
10:46 Ben_Goldberg left
FROGGS moritz: lue gets the same :/ 10:47
masak moritz: there was talk on #moarvm about an i32/i64 patch jnthn didn't apply.
FROGGS what exactly does "StopIteration" as an error message mean? 10:52
10:52 filly joined
masak means that some internals leaked out, likely to do with lazy lists. 10:56
FROGGS 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
ohh, now it does something 10:58
10:58 usernotexists joined
grondilu FROGGS++ for his work on v5 ;-) 11:17
FROGGS :o) 11:18
11:23 Rotwang joined 11:27 PacoAir joined
dagurval rp: EVAL 'my $a; my $a;'; say "everything is ok" 11:27
camelia rakudo-parrot a77214: OUTPUT«Potential difficulties:␤ Redeclaration of symbol $a␤ at eval_0:1␤ ------> my $a; my $a⏏;␤everything is ok␤»
dagurval is there any way to check if my EVAL produced that warning? 11:28
FROGGS rp: EVAL 'my $a; my $a;'; say $!
camelia rakudo-parrot a77214: OUTPUT«Potential difficulties:␤ Redeclaration of symbol $a␤ at eval_0:1␤ ------> my $a; my $a⏏;␤Nil␤»
FROGGS :/
ahh, this is just a warning from the grammar... 11:30
rp: EVAL 'my $a; my $a;'; say @*SORROWS 11:31
camelia 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
FROGGS rp: my @*WORRIES; EVAL 'my $a; my $a;'; say +@*WORRIES # no chance 11:33
camelia rakudo-parrot a77214: OUTPUT«Potential difficulties:␤ Redeclaration of symbol $a␤ at eval_0:1␤ ------> my $a; my $a⏏;␤0␤»
dagurval nice try 11:34
tadzik happpy new year, #perl6!
dagurval I would find it useful to pick up that warning. Perhaps its a spec thingy if #perl6 agrees 11:35
happy new year!
FROGGS happy tadzik, new year!
11:37 jnap left
tadzik nothing says "happy new year" like getting shot in a face by a rogue firework 11:38
FROGGS *g*
timotimo had a near face experience
tadzik: you are well?
tadzik 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
idiots with homemade explosives :/
FROGGS ohh wow 11:40
good that this is not allowed here :o)
tadzik I'm pretty sure it's not allowed here either
timotimo wow
tadzik I called the police right away
timotimo in our case it wasn't even a home-made one
tadzik what happened? 11:41
timotimo dagurval: you can catch warnings with a CONTROL block
tadzik: we were on the 5th floor (which is the 6th floor in some counting systems)
we were on the balcony
FROGGS 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
tadzik ouch
timotimo one fly-up-and-then-explode-into-happy-colors projectile decided the optimum height to deploy happy colors was ... there
nobody was hurt, no hair was burnt and no clothes damaged, fortunately
but we were all ... excited :)
tadzik 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
could've been a nearby rock for all I know
dagurval timotimo: ok thanks for the hint, I'll look into it 11:44
tadzik pretty scary
timotimo wow
BinGOs petard is a word.
tadzik thanks, I hope it's not a false friend then :) 11:45
BinGOs en.wikipedia.org/wiki/Petard
masak .oO( stop throwing rocks at me, you petard! )
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, rurban left 11:51 rurban joined 11:52 denisboyun left 11:59 rindolf joined
FROGGS 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
masak for those of you who didn't see it yet: alexgaynor.net/2013/dec/30/about-python-3/ 13:24
and corresponding HN discussion: news.ycombinator.com/item?id=6985207
FROGGS looks 13:25
masak what scares me is this: Perl 6 *is not even there yet*, at the point of the problem Python 3 is having. 13:26
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)
FROGGS masak: maybe we will be in a better position because Perl6 is totally something else as Perl5? 13:28
masak The Law of Community Upgrades: you can release new better sofware, but you can't upgrade the community.
FROGGS so there would be a bigger benefit to migrators
masak FROGGS: no, I think that will make fewer people switch.
FROGGS: maybe it will make more people polyglots, though.
but I doubt that.
FROGGS well, then just let us attract new ppl :o) 13:29
arnsholt masak: Yeah, that's a concern
OTOH, there are more incentives to move to Perl 6 than Perl 5
masak how do you mean? 13:30
arnsholt New features and such
masak or did you mean "...than Python 3"?
timotimo there's incentives to move to Perl6 from other languages
arnsholt More incentives to move from Perl 5 to 6, than from Python 2 to 3 I meant, yeah
masak timotimo: as long as it's fast, well-documented, and reliable. which it often isn't. 13:31
arnsholt Of course, the distance you move is further as well, so it's hard to say
timotimo 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, ...
FROGGS "Second, I think there's been little uptake because Python 3 is fundamentally unexciting"
masak *nod*
FROGGS we can scratch this one for us
masak "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?
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"
Rotwang [;
masak later, Python community: "we need to bring py2 and py3 back together"
timotimo :D
masak 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
masak Perl community: "whoa, those people need to loosen their tie and get some more curly braces" 13:35
Python: "ONE WAY! ONE TRUE WAY! ONE OBVIOUS WAY!" 13:36
Perl: "...unless you count all those other ways."
Python: "batteries included"
Perl: "man, I love my cpanm"
timotimo to be fair, the batteries that are included in py's stdlib are rotten in big parts :P 13:37
Rotwang it somehow reminds me of: s2.blomedia.pl/komorkomania.pl/imag...154796.jpg
masak Python: "we're all adults here" (re OO privacy)
Rotwang but who would be the ie, ruby? [;
masak Perl: "...because you're not invited, not because I have a shotgun"
13:39 jnap left 13:49 [Keith] joined
lizmat assumes it is safe now to wish everybody a happy 2014 14:06
FROGGS lizmat: happy new year to you too :o) 14:07
masak lizmat: happy/safe 2014! 14:30
diakopter also 2015 14:32
14:41 Rotwang left
jnthn Happy New Year, #perl6 folks :) 14:42
preflex jnthn: you have 1 new message. '/msg preflex messages' to read it.
FROGGS happy new year jnthn :o) 14:43
jnthn 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. :)
FROGGS 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?
jnthn 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
14:48 daniel-s_ left
FROGGS cool, that sounds awesome :o) 14:48
jnthn ooh, so Rakudo on Moar now builds on the auto-roast box :) 14:52
14:52 raiph joined
jnthn Well, the Coke-roast box :) 14:52
masak jnthn! \o/ 14:54
jnthn: hoppy new year!
jnthn Anyone getting "operand type 32 does not match register type 64" - build yourselves a new NQP from master :) 14:55
14:55 Rotwang joined
jnthn masak: samma :) 15:00
15:02 ssutch left, cognominal left 15:03 cognominal joined 15:04 ssutch joined 15:06 ajr joined, ajr is now known as Guest68933, Guest68933 is now known as ajr_ 15:09 thou joined 15:12 atroxaper left
moritz that is an nqp from master 15:15
2013.12.1-5-g61e4135
15:19 colomon left 15:20 zakharyas joined, colomon joined
FROGGS that built on my box 15:20
moritz tries again
jnthn It probably wants at least a make clean in NQP... 15:21
15:21 atroxaper joined, atroxaper left
moritz oh yes, seems to work 15:21
15:22 zakharyas1 joined 15:24 zakharyas left 15:36 jnap joined 15:39 colomon left 15:40 colomon joined, jnap left 15:42 mtk left 15:43 mtk joined 15:44 mtk left 15:45 mtk joined 15:49 cognominal left, cognominal joined
[Coke] wakes up 15:56
colomon Happy New year! 15:57
[Coke] ~~
15:58 Psyche^ joined
[Coke] hopefully the daily run will work just fine (that was a one off). 15:59
FROGGS 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"
jnthn [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
[Coke] jnthn: the moar result on feather was a one off. 16:33
jnthn [Coke]: ah, ok
[Coke] not part of the daily run. (but also, I forgot a push) 16:34
TimToady blinks at the new year
dalek kudo-star-daily: a76b1b3 | coke++ | log/ (5 files):
today (automated commit)
rl6-roast-data: 16ab612 | coke++ | / (6 files):
today (automated commit)
[Coke] still counts for the new year, however. ;)
jnthn Why on earth has Rakudo JVM dropped so much in that run? :S 16:35
16:37 jnap joined 16:41 jnap left
FROGGS rakudo.jvm_summary.out 2724 additions, 383 deletions not shown 16:41
huh
ahh, "Please use 'EVAL' instead."
we should fix niecza/pugs and then roast me thinks 16:42
dalek kudo/moar-support: 9c76f05 | jonathan++ | src/Perl6/Metamodel/BOOTSTRAP.nqp:
Fix over-decontainerization.
16:44
16:45 mtk left
FROGGS 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)
so, maybe the eval-server terminated?
timotimo greetings, jnthn :) 16:50
[Coke] FROGGS: I don't use the eval server, because it always terminates. 16:52
FROGGS hmmm
timotimo FROGGS: where and how expensive will gpw be?
jnthn I think location is Hannover 16:55
moritz aye
and price is typically betwen 50€ and 100€
and free for speakers
timotimo i should speak, then :)
jnthn Give a talk. Attend free!
moritz act.yapc.eu/gpw2014/preise.html 16:56
na, it's still 40€ for speakers
jnthn aww
timotimo that's a managable price, though :) 16:57
jnthn True :)
moritz much less than accomodation and travel, most likely
timotimo probably, yes 16:58
hannover isn't that prohibitive, though :)
16:58 kaare_ joined
jnthn is wondering if he can manage to get a $dayjob assignment in Germany in the same week 16:58
FROGGS getting an affordable room could become a problem
jnthn Which makes travel to Germany cheaper (for me :-)).
FROGGS hmmm, we have an office in hannover :o) 16:59
17:00 logie joined
masak TimToady: <blink>-y new year! ;) 17:00
TimToady Are we there yet?
[Coke] jussssst a little further.
masak we are "there" yet, but not for your value of "there". 17:01
arnsholt We're somewhere, but it might not be where you wanted to go =) 17:02
17:03 mtk joined
[Coke] ah. some of these segfaults may be due to loops that timed out, then segfaulted on exit when they were killed. 17:06
r-m: my $a is dynamic; say $a.VAR.dynamic; 17:10
jnthn No r-m yet... 17:13
17:13 atroxaper joined
[Coke] aw... 17:14
17:14 SamuraiJack_ left, SamuraiJack__ joined
moritz we'll get that once moar-support is merged into nom 17:16
without too much extra effort
[Coke]: locally I get Segmentation fault (core dumped) 17:17
and for just $a.VAR I get Unhandled exception: Invocant requires an instance, but a type object was passed 17:18
17:18 raiph left, espadrine joined 17:19 SamuraiJack__ left
[Coke] moritz: ayup. was hoping to be able to show the segfault here. (more from the one off run going into #moarvm 17:19
17:21 kaare_ left 17:22 logie left 17:23 raiph joined
colomon is attempting to make potsticker wrappers by hand for the first time in a half decade or so... 17:27
17:29 usernotexists left 17:31 logie joined 17:34 fhelmberger joined 17:37 BenGoldberg joined
dalek kudo/moar-support: 886a34c | jonathan++ | src/Perl6/Metamodel/BOOTSTRAP.nqp:
Fix reporting of anon var bind errors.
17:39
kudo/moar-support: 9b113a3 | jonathan++ | src/Perl6/Metamodel/BOOTSTRAP.nqp:
Hopefully fix many .VAR-using tests.
17:41 fhelmberger left
jnthn bbl 17:41
17:45 ajr joined, ajr_ left, ajr is now known as Guest85254 17:57 cognominal left, cognominal joined 17:59 autark joined 18:01 raiph left 18:11 SamuraiJack__ joined, gcole_ joined 18:15 gcole left 18:17 logie left 18:25 cooper joined 18:35 SamuraiJack__ left 18:38 jnap joined
timotimo 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:39
jnthn: also, did you backlog and see my comment about trying to compile-time dispatch methods on WVals? 18:40
18:42 colomon left 18:43 jnap left 18:44 Jinendra joined 18:45 atroxaper left, Jinendra left 18:53 colomon joined 18:56 darutoko left
[Coke] what's the final word on eval vs. EVAL? 19:02
(rakudo says EVAL, roast says eval)
timotimo we just had a spec change to move to EVAL 19:03
19:04 hoverboard joined
timotimo github.com/perl6/specs/commit/0b7d...bbfd9de8f6 19:06
19:09 zakharyas1 left
cognominal you say eval and I say EVAL. let's call the whole thing off www.youtube.com/watch?v=Dnf5HnW8C4E 19:12
19:12 kurahaupo joined 19:13 gcole joined
dalek ast: 8fa1e64 | moritz++ | / (14 files):
star to switch some eval()s to EVAL
19:15
19:17 gcole_ left 19:29 hoverboard left, hoverboard joined, hoverboard left, hoverboard joined 19:30 rindolf left 19:33 SHODAN joined
dalek p: 876d500 | (Tobias Leich)++ | src/vm/moar/ModuleLoader.nqp:
Revert "add nqp language diretory to search path"

This reverts commit 41debf41705d3979edaeffb47b804c1d15a1015e.
19:35
19:43 espadrine left 19:44 espadrine joined 19:49 baest left 19:51 lumimies_ joined 19:52 revdiablo joined
BenGoldberg j: my @a := gather { .take for ^10 }; say @a.DUMP 19:52
camelia rakudo-jvm a77214: OUTPUT«java.lang.RuntimeException: java.lang.StackOverflowError␤␤»
19:53 BooK_ joined, betterwo1ld joined, nebuchad` joined, cognominal left, breinbaa1 joined, cognominal joined 19:54 census joined, pochi_ joined 19:56 Tene_ joined, Tene_ left, Tene_ joined 19:58 nebuchadnezzar left, pochi left, Alina-malina left, lumimies left, orevdiabl left, Tene left, betterworld left, breinbaas left, lumimies_ is now known as lumimies 19:59 pochi_ is now known as pochi, Alina-malina joined 20:01 immortal joined 20:03 [Coke]_ joined, Util_ joined, breinbaas joined 20:04 xinming joined 20:05 FROGGS_ joined 20:07 cognominal__ joined 20:08 PZt left 20:09 cognominal left, breinbaa1 left, gcole left, xinming_ left, erkan left, Bucciarati left, sorear left, FROGGS left, slavik1 left, [Coke] left, Util left, sorear_ joined, PZt joined, Bucciarati joined 20:11 logie joined
lue hello world o/ 20:12
FROGGS_ moritz: you are doing the other evals too? otherwise I'd do it and push a niecza fix
20:12 gcole joined
FROGGS_ hi lue 20:12
lue I get the sense that 2014 is gonna be an awesome year for Perl 6 :)
20:12 Guest85254 left 20:14 wooden left
FROGGS_ :o) 20:14
20:15 wooden joined, wooden left, wooden joined, prammer joined 20:17 ajr joined, BooK_ left, BooK joined, ajr is now known as Guest55957 20:19 slavik joined
timotimo 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
dalek ast: 6a9b16f | (Tobias Leich)++ | S01-perl-5-integration/ (13 files):
eval => EVAL in S01
20:30
jnthn back 20:32
timotimo 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:36
i think investigating how perl6 currently does with regards to handling binary protocols and data would be an interesting thing 20:37
jnthn japhb++ has been doing work on protobuf which may be informative in that regard
timotimo 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:38
20:40 jnap joined
FROGGS_ humm, this an go now, right? --> #?rakudo skip "multi-dim arrays" 20:41
timotimo we merged that branch?
r: my @a[10][10]; say @a;
camelia 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;␤»
..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;␤»
lue 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.
FROGGS_ p: my @array11; @array11[2;0] = 12 # that is the test 20:42
camelia rakudo-parrot a77214: OUTPUT«WARNINGS:␤Useless use of constant integer 2 in sink context (line 1)␤»
lue (I can tell you right off the bat that properly-implemented native types, e.g. int8, would make things soooo much easier.)
timotimo FROGGS_: doesn't seem to work :P
reminds me of my LoL-slice branch i didn't get to merge yet
maybe i should take up work on that again
FROGGS_ timotimo: we can at least turn it into a todo, rather than a skip... 20:43
timotimo lue: yeah, i bet it would; not being able to $foo++ native types is pretty icky
FROGGS_: sounds good. i hope that test does actually fail rather than just warn?
lue timotimo: not even that.
20:43 Radvendii joined
timotimo lue: it doesn't stop there, of course :) 20:43
20:43 Radvendii left
lue r: my int8 $a = 0x100; say "alive, ", $a; 20:43
camelia rakudo-parrot a77214, rakudo-jvm a77214: OUTPUT«alive, 256␤»
FROGGS_ hmmm, it would even pass...
20:44 jnap left
timotimo 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
lue 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;
camelia rakudo-parrot a77214, rakudo-jvm a77214: OUTPUT«alive, 4294967296␤»
BenGoldberg heh
timotimo yeah
i don't know where exactly to look :\
FROGGS_ p: say "1".eval
camelia 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.␤-----------------------…»
FROGGS_ ohh, the method too
BenGoldberg r: say "1".EVAL
camelia rakudo-parrot a77214, rakudo-jvm a77214: OUTPUT«1␤» 20:46
timotimo i'm not sure where exactly to look to figure out where to add these masks ...
20:46 ivan`` left
BenGoldberg r: my int16 $a = 1 +< 17; say $a 20:47
camelia rakudo-parrot a77214, rakudo-jvm a77214: OUTPUT«131072␤»
dalek ast: 0bb81f8 | (Tobias Leich)++ | S02- (28 files):
eval => EVAL in S02, take 1
BenGoldberg r: my int32 $a = 1 +< 33; say $a
camelia rakudo-parrot a77214, rakudo-jvm a77214: OUTPUT«8589934592␤»
BenGoldberg r: my int64 $a = 1 +< 65; say $a
camelia rakudo-parrot a77214, rakudo-jvm a77214: OUTPUT«0␤»
BenGoldberg r: my $a = 1 +< 65; say $a
camelia rakudo-parrot a77214, rakudo-jvm a77214: OUTPUT«36893488147419103232␤»
timotimo there's actually masks already in place
BenGoldberg r: my int $a = 1 +< 65; say $a 20:48
camelia rakudo-parrot a77214, rakudo-jvm a77214: OUTPUT«0␤»
20:48 dwarring joined
timotimo r: my int8 $a = 10; say $a.WHAT; say $a.^methods; 20:48
camelia 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…»
timotimo not that helpful ...
r: my int8 $a = 10; say $a.VAR.WHAT; say $a.VAR.^methods;
camelia 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…»
..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…»
BenGoldberg r: my int64 $a = 10. say $a.DUMP
camelia 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…»
..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.[…»
BenGoldberg r: my int64 $a = 10; say $a.DUMP
camelia rakudo-parrot a77214, rakudo-jvm a77214: OUTPUT«10␤»
dwarring rn: say 'ߞ'.ord
camelia rakudo-parrot a77214, rakudo-jvm a77214, niecza v24-108-g17d73e4: OUTPUT«2014␤»
20:51 logie left
timotimo huh, is it right that copy_to doesn't change the bits of the target? 20:51
jnthn timotimo: Context?
timotimo looking at vm/parrot/sixmodel/reprs/P6int.c
timotimo sprinkles debug outputs everywhere to find out what's wrong 20:52
20:53 clkao_ joined
timotimo maybe the nativesize trait doesn't actually set the value of the bits property 20:53
BenGoldberg Is it that much easier to add debug outputs, then to run parrot with gdb or whatever? 20:54
timotimo good point. i can try that :)
actually. no. i'll go with debug prints :P
20:54 xenoterracide joined
BenGoldberg gdp can be a pita to use, I suppose 20:55
err, gdb
timotimo r: my native int3 is repr('P6int') is Int is nativesize(3) { }
camelia ( no output )
..rakudo-parrot a77214: OUTPUT«===SORRY!===␤P6int can only handle 1, 2, 4, 8, 16, 32 or 64 bit wide ints.␤»
timotimo ah, so it *does* pass the nativesize
dalek ast: 7cac63f | (Tobias Leich)++ | S02- (21 files):
eval => EVAL in S02, take 2
20:57
20:58 ivan`` joined
timotimo adding debug outputs to get_int and set_int in P6int is making the compilation a *bit* slower :D 20:59
arnsholt Heh
What's the problem you're debugging? 21:00
lue timotimo: I'd think that forcing Perl 6 to use an X bits only in memory would work, without mask fiddling, right?
dalek p: 70a5d77 | jonathan++ | src/vm/moar/QAST/QASTOperationsMAST.nqp:
Add some missing decont markers.

The MoarVM ops wrongly attempted to handle this before.
arnsholt Some of the bitsize code in vm/parrot/src/P6int.c is my fault
timotimo good question, though it does have those masks and i'll now try to figure out why it's not using them. 21:01
jnthn timotimo: What're you trying to make work?
timotimo: If it's native lexicals, then those don't get handled via P6int's copy_to...
timotimo r: my int8 $foo = 1024; say $foo
camelia rakudo-parrot a77214, rakudo-jvm a77214: OUTPUT«1024␤»
timotimo ah, okay. where do i have to look to fix this? will it take me minutes or weeks?
TimToady neither, most likely 21:02
jnthn Well, I'd rather not just hack somehting in.
It needs a design, that includes designing the stuff for the rw-passing case too...
timotimo that does sound suspiciously like "a long time" :))
jnthn Well, make $native_int++ work is pretty high on my todo list :) 21:03
timotimo OK, i'll wait for you to do this properly
feel free to toss any low-hanging fruit my way in the mean time :)
jnthn nqp::p6sort on Moar? ;-)
moritz FROGGS_: feel free to do the rest
FROGGS_ moritz: k 21:04
dalek ast: bb5077a | (Tobias Leich)++ | S0 (31 files):
eval => EVAL in S03 and S04
timotimo oh my. that's not terribly easy, is it?
jnthn Dunno, how good are you at implementing mergesort? :)
FROGGS_ p6sort++
jnthn In NQP?
BenGoldberg 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
timotimo oh, in nqp? that doesn't sound as scary 21:05
do we want mergesort because it's stable?
jnthn Yeah. I'm happy with introsort too...
moritz stable, fairly stable performance, cache-friendly-ish 21:06
jnthn But I guess start with mergesort.
timotimo hm, timsort isn't stable, right?
jnthn
.oO( timosort )
BenGoldberg wants quantum bogosort.
timotimo BenGoldberg: we lack hardware support for that :)
BenGoldberg heh
moritz mail.python.org/pipermail/python-d...26837.html says it's stable 21:07
timotimo 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
jnthn 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:08
timotimo: Want me to stub that bit? 21:09
timotimo i see some other examples of that
i think i can copypaste one of them
and that's a pretty neat trick :)
arnsholt timotimo: Link me?
timotimo i think i remember masak being amazed by it some time ago 21:10
github.com/rakudo/rakudo/blob/moar...s.nqp#L398
jnthn timotimo: Yes, that trick 21:11
timotimo $ops.add_hll_moarop_mapping('perl6', 'p6sort', 'p6sort'); <- i can safely replace this line with my implementation?
jnthn Yes
And then toss code from perl6_ops.c 21:12
arnsholt Oooh, that's clever =D
jnthn (the latter being just cleanup, not essential for i tto work)
timotimo yeah, sure 21:13
the args are going to be @data, &comparator, yes?
jnthn right 21:14
And @data is just the indexes
timotimo 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?
jnthn yes
dalek ast: 04daf2d | (Tobias Leich)++ | S0 (40 files):
eval => EVAL in S05, S06 and S09
timotimo great. that should be all i need to know to implement it :)
BenGoldberg 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 rosettacode.org/wiki/Sorting_algori...ort#Perl_6 to NQP 21:17
jnthn timotimo: Lots of non-sorting tests just happen to use sort (like for comparing hashes)
timotimo: So could be quite a few tests there :) 21:18
timotimo should i make a point of not mutating the list? or is it a good idea to do it in-place?
since it's just indices anyway, i think it'd be fine
21:19 arnsholt left
jnthn timotimo: No reason not to do it in-place. 21:21
timotimo it seems like there's a not-completely-but-practically in-place version that just copies back and forth between two buffers
masak BenGoldberg: be aware that "Quantum computers are not known to be able 21:25
to solve NP-complete problems in polynomial time,
and can be simulated classically with exponential slowdown."
dalek ast: 06ae909 | (Tobias Leich)++ | S1 (20 files):
eval => EVAL in S10 to S12
21:26
BenGoldberg doesn't think masak gets the joke.
masak 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.
BenGoldberg: oh, I got it. :)
BenGoldberg Quantum bogosort is basically defined as: shuffle the data, and if it's not sorted, destroy the universe.
masak oh, you're a many-universes proponent. 21:27
well, I hope you're right about that bit ;)
BenGoldberg I don't think that there's a non-many-universes definition of quantum bogosort. :) 21:28
21:28 jnap joined 21:29 jnap1 joined, jnap left
timotimo 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:29
jnthn
.oO( all I asked for was a sort routine, and now we're talking about destroying the universe :P )
21:30
masak 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:31
lue masak: wouldn't some sneaky sorting bandits make off to another multiverse then? 21:33
TimToady you're thinking of time bandits 21:34
BenGoldberg Moving from one universe to another -- or from one multiverse to another -- require one to be very sneaky. 21:35
diakopter also very small
dalek ast: 5bab36f | (Tobias Leich)++ | / (36 files):
eval => EVAL in S14 to S32
21:37
masak I always envision some very angry dead Greek philosopher going "it's called *universe* because it holds *everything*, you dorks!" 21:39
'night, #perl6
jnthn 'night, masak
BenGoldberg 'night masak
dagurval r: my %a; say True if True && %a{"a"}:exists 21:40
camelia 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⏏<EOL>␤ expecting any of:␤ pair value␤»
..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⏏<EOL>␤ expecting any of:␤ pair value␤»
dagurval r: my %a; say True if %a{"a"}:exists
camelia ( no output )
dagurval bug?
21:40 zakalwe left
BenGoldberg Why would it say True? 21:41
21:41 xenoterracide left
BenGoldberg r: my %a; say %a{"a"}:exists 21:41
dagurval the first one should parse
camelia rakudo-parrot a77214, rakudo-jvm a77214: OUTPUT«False␤»
dagurval if I use && in an if statement with adverb it fails
BenGoldberg my %a; say True if True and %a{"a"}:exists 21:42
r: my %a; say True if True and %a{"a"}:exists
camelia ( no output )
BenGoldberg r: my %a; say True if (True and %a{"a"}):exists
camelia 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⏏<EOL>␤ expecting any of:␤ pair value␤»
..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⏏<EOL>␤ expecting any of:␤ pair value␤»
BenGoldberg It fails to parse with '&&' (and succeeds with 'and') due to precedence.
r: my %a; say True if True && (%a{"a"}:exists) 21:43
camelia ( no output )
BenGoldberg && has higher precedence than :
dagurval ah, I see
BenGoldberg Fortunately, 'and' take only one extra letter to type than '&&' 21:44
timotimo n: say(min(1, 5)) 21:46
camelia niecza v24-108-g17d73e4: OUTPUT«1␤»
dalek Heuristic branch merge: pushed 46 commits to rakudo/moar-support by jnthn 21:47
timotimo jnthn: i pass the values from inside @data to the comparator, not the index into @data, right? 21:48
dagurval rp: my %a; 1 if !%a<hello>:exists
camelia 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
dagurval this one is also weird. I have to use :!exists 21:48
21:48 zakalwe left, zakalwe joined
dagurval precedence as well? 21:48
dalek kudo/moar-support: 432e2dc | jonathan++ | src/Perl6/Metamodel/BOOTSTRAP.nqp:
Toss unrequired nqp::decont.
kudo/moar-support: bffd491 | jonathan++ | src/vm/moar/ops/ (2 files):
Flesh out default handling, rw-check.
TimToady p: my %a; 1 if not %a<hello>:exists 21:49
camelia ( no output )
jnthn Or just use "unless" there... 21:50
dalek ecza: 48a8de3 | (Tobias Leich)++ | / (15 files):
rename sub and method `eval` to `EVAL`
21:51
[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
17219 moar vs. 28345 parrot
jnthn r: say 17219/28345 21:53
camelia rakudo-parrot a77214, rakudo-jvm a77214: OUTPUT«0.607479␤»
jnthn Not a bad starting point...
dagurval nice
FROGGS_ this morning I had like 43k passing tests in a single v5 test file :o) 21:54
jnthn Let's see if we can get 90% for the January release :)
21:54 PacoAir left
FROGGS_ and then I interrupted that test which looped over an ok(1) :o( 21:54
jnthn FROGGS_: :P
timotimo jnthn: there are very, very many false positives, i suspect 21:55
diakopter [Coke]_: how fast is moar's test run
jnthn timotimo: In the Rakudo one? 21:56
timotimo yes
jnthn timotimo: Where from, ooc?
timotimo for moar; i see so many passing TODOs, that can't be right
or did we todo-fudge lots and lots of tests for moar only?
21:56 xenoterracide joined
jnthn No, they're probably bogus... 21:57
Hard to say
timotimo we just have to make sure we fix the underlying problems soon enough :P
i don't think we'll get to 90% proper passes without doing the implementation of gather/take
FROGGS_ .oO( hard to print )
jnthn FROGGS_: Well, you only need to gist of it to say... :P
FROGGS_ :P 21:58
jnthn timotimo: Yes, that's high on my list of things to take care of once I'm back home.
timotimo aye 21:59
i'm getting a Unhandled exception: Invocant requires an instance, but a type object was passed from *somewhere* :\ 22:00
oh duh
i forgot to remove that line that was in there previously for the p6sort
jnthn That is the current "fail to report error" failure...add --ll-exception for more. 22:01
timotimo ah.
i bet it came from having the same op registered twice in two different ways
and now i notice i never actually return the sorted array %) 22:02
22:02 abnorman left
FROGGS_ premature optimization? :P 22:02
lue "/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
22:03 smls joined
smls happy new year :) 22:05
preflex smls: you have 1 new message. '/msg preflex messages' to read it.
smls 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:07
I prefer relying on defined'ness, myself 22:08
timotimo huh. i have an inner sub and trying to invoke it gives me "cannot invoke null object" 22:10
lue 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
timotimo oh, i think i misread the stack
i think i'm failing to invoke the comparator
FROGGS_ lue: nqp/parrot/include/parrot/parrot.h:94:# include <ffi.h> 22:12
lue: though, mine is 5.9.0 22:13
but it must be something in parrot itself
lue FROGGS_: yes, though my issue is it not finding ffi.h
FROGGS_ lue: so the configure scripts is able to find it, but not the compiler? 22:14
lue recompiles parrot
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
FROGGS_ well, rakudo includes parrot.h... so somehow a defined PARROT_HAS_LIBFFI sneaks in 22:17
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
timotimo 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?
dalek kudo/moar-support: 12c8797 | jonathan++ | src/vm/moar/ops/ (2 files):
Use proper thunk API, in turn fixing GC bug.
jnthn timotimo: No, that should work out OK... 22:22
lue I do have libffi though, but no ffi.h ...
timotimo weird. how come i get "cannot invoke null object"?
jnthn timotimo: No idea...
timotimo i'll investigate further
geekosaur missing dev package? 22:23
lue WTH, libffi? /usr/lib64/<libffi-with-ver>/include/ffi.h
(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? :)
geekosaur ah 22:29
timotimo jnthn: i've put a nqp::isnull before the code and it doesn't trigger on &comparator :\
22:29 xenoterracide left
jnthn timotimo: Then I'd guess that's not the null thing... 22:30
timotimo 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 :\
i should be able to use postcircumfix:<[ ]> for nqp::list_i and friends, yes?
22:31 jnap1 left
[Coke]_ diakopter: I don't do timings. seemed slowish. 22:31
FROGGS_ timotimo: why not nqp::atpos ? 22:32
timotimo [Coke]_: i imagine lots of them infiniloop
FROGGS_: i can do that.
dalek kudo/moar-support: 4c5b07e | jonathan++ | src/Perl6/Metamodel/BOOTSTRAP.nqp:
Fix copy-pastos.
22:33
[Coke]_ timotimo: (infin) right. 22:34
22:34 [Coke]_ is now known as [Coke] 22:44 daniel-s_ joined
jnthn Another Moar LHF-ish: something is up with nqp::xor code-gen. Search for "Cannot find method 'result_reg'" in feather.perl6.nl/~coke/moar.out 22:46
FROGGS_ I'll take that 22:48
timotimo it is indeed the call to the comparator that gives me a null-invoke
directly after the nqp::isnull check gives me 0
jnthn Odd. 22:50
timotimo: Can I see the patch so far? 22:51
timotimo sure, one sec
gist.github.com/timo/af7bc1b6725d1734a6eb 22:52
22:53 arnsholt joined 22:54 daniel-s__ joined, daniel-s_ left
jnthn timotimo: Does s/say/nqp::say/ help? 22:54
timotimo let's see
jnthn timotimo: May be running into weird scoping stuff when the proto is referenced through a QAST::WVal...
timotimo oh! you may be onto something 22:55
because it didn't print *any* of the debug strings
where it really should have printed at least one
jnthn aye, it's probably that.
FROGGS_ 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
timotimo 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?
r: say 1 < 5; say 1 <=> 5;
23:01 jnap joined
timotimo p: say (1 <=> 5).Int 23:01
camelia rakudo-parrot a77214, rakudo-jvm a77214: OUTPUT«True␤Less␤»
rakudo-parrot a77214: OUTPUT«-1␤»
jnthn timotimo: Yeah, well I guess they come back 0, > 0 and < 0 23:02
timotimo 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:07
jnthn timotimo: I'd imagine you can just directly do the comparison... 23:10
timotimo to -1? yeah, i think i could. i want to be extra sure
smls p: say (1 <=> 5).WHAT; say (1 <=> 5).enums; 23:13
camelia rakudo-parrot a77214: OUTPUT«(Order)␤("Less" => -1, "Same" => 0, "More" => 1).hash␤»
timotimo oh? i can even get back to the enums that easily?
cool beans :)
smls just discovered it myself :)
dalek p: cd0db4e | (Tobias Leich)++ | src/vm/moar/QAST/QASTOperationsMAST.nqp:
dont call .result_reg on something that is a register
23:17
[Coke] FROGGS++ 23:18
jnthn yay
timotimo oh 23:22
actually, my call to min may be breaking
nqp: nqp::say(nqp::min(5, 8))
camelia 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)␤»
..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…»
..nqp-moarvm: OUTPUT«Error while compiling op min (source text: "nqp::min(5, 8)"): No registered operation handler for 'min'␤frame_name_1109␤»
timotimo and there's no nqp:: form of that it seems
i can just turn it into a ternary, though
FROGGS_ failed to load library 'dynext/libperl6_ops_moar.so' 23:26
:o(
jnthn FROGGS_: Make sure you've got a latest Moar... 23:27
You're probably missing a newly exported symbol
FROGGS_ already rebuilding 23:28
should be it
23:32 Guest55957 left
timotimo nqp: my $l := nqp::list(1); say(nqp::atpos_i($l, 0)); 23:42
camelia nqp-parrot: OUTPUT«1␤»
..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…»
..nqp-moarvm: OUTPUT«MVMArray: atpos expected object register␤frame_name_0␤»
timotimo hurm. 23:43
i seem to be using bindpos the wrong way around :)
huh, i don't seem to be 23:44
23:46 Mouq joined
timotimo it says "bindpos expected int register", but ... what? 23:48
oh, probably my use of nqp::list_i 23:49
FROGGS_ reduce.t does some very weird stuff around test 78 :o)
timotimo 3 1 3 1 5 5 5 5 23:53
that totally looks sorted, right?
lue FROGGS_: I think somehow parrot forgot to -I for libffi?
FROGGS_ sort of
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
lue FROGGS_: apparently not /usr/lib64/<libffidir>/include
Though this is the first time Parrot has whined to me, and I haven't had an update to libffi lately, so... 23:55
pkg-config --cflags will give me the appropriate -I option. Hmmm... 23:58