»ö« Welcome to Perl 6! | perl6.org/ | evalbot usage: 'p6: say 3;' or rakudo:, std:, or /msg camelia p6: ... | irclog: irc.perl6.org | UTF-8 is our friend!
Set by masak on 12 May 2015.
ugexe now that i've stated that im sure it will start giving me problems again 00:00
00:00 n0tjack joined 00:04 mprelude left, pierrot joined 00:09 vendethiel left, pierrot left 00:13 n0tjack left, colomon joined 00:14 n0tjack joined 00:20 geekosaur joined
psch ugexe: i was thinking gdb backtrace, actually 00:27
ugexe: sorry for misspeaking
00:39 aborazmeh left, lolisa joined, thou left 00:40 n0tjack left
ShimmerFairy .tell TimToady one thing about 'is raw' is that it's just one letter (and visually similar) to 'is rw', and I'm not sure if having such different behaviors be so close in name is a good idea (even worse, 'a' neighbors 'w' on QWERTY, so accidental 'rw'->'raw' is possible too if your fingers slip a bit :P) 00:42
yoleaux ShimmerFairy: I'll pass your message to TimToady.
grondilu ^that looks like a reasonable objection 00:48
00:53 b2gills joined 00:58 n0tjack joined
TimToady already considered it before deciding 01:00
yoleaux 00:42Z <ShimmerFairy> TimToady: one thing about 'is raw' is that it's just one letter (and visually similar) to 'is rw', and I'm not sure if having such different behaviors be so close in name is a good idea (even worse, 'a' neighbors 'w' on QWERTY, so accidental 'rw'->'raw' is possible too if your fingers slip a bit :P)
colomon Util: ping?
ShimmerFairy TimToady: that's good to hear :) . I wonder if an 'is rw' slip-up would be caught if you weren't returning a Proxy ('is raw' slip-up would be caught as you tried assigning to the call) 01:01
01:03 n0tjack left
colomon .tell masak I’ve got a pull request to get Perl6::Literate passing tests again. 01:08
yoleaux colomon: I'll pass your message to masak.
colomon .tell Util I’ve got a pull request for you, too. :) 01:12
yoleaux colomon: I'll pass your message to Util.
01:13 aborazmeh joined, aborazmeh left, aborazmeh joined 01:31 n0tjack joined, tokuhiro_ joined 01:35 n0tjack left 01:36 tokuhiro_ left 01:42 skids joined 01:48 thou joined 01:52 thou left 02:04 n0tjack joined 02:05 TimToady joined 02:08 n0tjack left 02:09 colomon left 02:13 BenGoldberg left
dalek ecs: 9855bfd | raiph++ | S07-lists.pod:
typo
02:14
02:23 colomon joined 02:33 kjs__ joined 02:36 n0tjack joined 02:40 n0tjack left 02:55 noganex joined
dalek ecs: fb7cb20 | raiph++ | S07-lists.pod:
simplify / improve non-technical language
02:56
02:58 noganex_ left, kjs__ left
diakopter arm warnings: pastebin.com/5V9vs6tA 03:02
03:07 colomon left 03:09 n0tjack joined 03:14 n0tjack left 03:20 colomon joined 03:26 khw left 03:32 khw joined 03:33 tokuhiro_ joined 03:36 thou joined 03:38 tokuhiro_ left 03:41 rangerprice left 03:42 n0tjack joined
dalek kudo/nom: f7d8335 | TimToady++ | src/core/ (2 files):
Xop didn't set lazy right
03:46
03:47 n0tjack left 04:12 khw left 04:15 n0tjack joined
dalek c: 173717a | skids++ | lib/Language/functions.pod:
Document conventional flattening style/single-argument-rule post-GLR
04:16
04:18 ggoebel left 04:19 ggoebel joined, n0tjack left
Util colomon: pong 04:26
yoleaux 01:12Z <colomon> Util: I’ve got a pull request for you, too. :)
dalek kudo/nom: cc0c380 | TimToady++ | src/core/metaops.pm:
triangle reduce should pass on is-lazy
04:28
04:33 vendethiel joined
dalek ast: 75dcd61 | TimToady++ | S03-metaops/reduce.t:
test triangle laziness transitivity
04:35
ast: cd5a1af | TimToady++ | S03-metaops/cross.t:
test Xop laziness transitivity
04:42 kaare_ joined 04:47 n0tjack joined
Util colomon: Merged. Thanks! 04:47
04:51 n0tjack left 04:56 thou left 04:58 vendethiel left 05:20 n0tjack joined, aborazmeh left, shinobi-cl joined
shinobi-cl Hi 05:22
r: my @a=(1,2,(30,40),50); say @a.flat.perl;
camelia rakudo-moar cc0c38: OUTPUT«(1, 2, $(30, 40), 50).Seq␤»
..rakudo-jvm cc0c38: OUTPUT«Can't open perl script "/home/camelia/rakudo-inst/bin/eval-client.pl": No such file or directory␤»
shinobi-cl What can i use to get (1,2,30,40,50) instead of (1, 2, $(30, 40), 50)? 05:23
r: my @a=(1,2,[30,40],50); say @a.flat.perl;
camelia rakudo-moar cc0c38: OUTPUT«(1, 2, $[30, 40], 50).Seq␤»
..rakudo-jvm cc0c38: OUTPUT«Can't open perl script "/home/camelia/rakudo-inst/bin/eval-client.pl": No such file or directory␤»
05:24 n0tjack left 05:25 lolisa left
TimToady m: my @a=(1,2,[30,40],50); say @a»<>.flat.perl 05:32
camelia rakudo-moar cc0c38: OUTPUT«(1, 2, 30, 40, 50).Seq␤» 05:33
TimToady m: my @a=(1,2,[30,40],50); say @a»[].flat.perl
camelia rakudo-moar cc0c38: OUTPUT«(1, 2, 30, 40, 50).Seq␤»
TimToady an array itemizes its elements, so flat can't work directly on an array 05:34
05:34 tokuhiro_ joined
TimToady though perhaps Array.flat could imply deitemization of the elements 05:34
05:38 tokuhiro_ left 05:52 n0tjack joined 05:57 n0tjack left
ShimmerFairy TimToady: you could generally characterize .flat as "treat each Positional item as though it were really a Slip" if you went with that, I think. (That is, [1, [2, [3, 4], 5]].flat -> [1, |[2, [3, 4], 5]] -> [1, 2, [3, 4], 5] 06:01
TimToady well, but flat is recursive ordinarily 06:06
grr, just got a "Too many arguments in flattening array" trying to do [max] @values 06:08
ShimmerFairy Ah. Was there a one-level version of flat? I seem to recall one.
06:10 Alina-malina joined
TimToady m: say [max] rand xx 65536 06:13
camelia rakudo-moar cc0c38: OUTPUT«Too many arguments in flattening array.␤ in block <unit> at /tmp/82jmDsKdSj:1␤␤»
TimToady "no arbitrary limits" used to be one of Perl's mantras...
m: say [max] rand xx 65535
camelia rakudo-moar cc0c38: OUTPUT«(signal SEGV)»
TimToady kaboom!
m: say [max] rand xx 32767 06:14
camelia rakudo-moar cc0c38: OUTPUT«0.99997142410332␤»
TimToady m: say [max] rand xx 32768
camelia rakudo-moar cc0c38: OUTPUT«0.99996649321421␤»
TimToady m: say [max] rand xx 32769
camelia rakudo-moar cc0c38: OUTPUT«(signal SEGV)»
06:25 n0tjack joined 06:28 thou joined 06:30 n0tjack left 06:31 domidumont joined 06:33 thou left 06:36 tokuhiro_ joined, domidumont left 06:37 domidumont joined 06:40 tokuhiro_ left, rurban joined 06:41 xfix joined, xfix left, xfix joined 06:57 n0tjack joined
moritz m: say <a b c>.map({ ($_, $_.uc).Slip }).join('|'); 06:58
camelia rakudo-moar cc0c38: OUTPUT«a|A|b|B|c|C␤»
moritz m: say <a b c>.map({ $_, $_.uc }).join('|'); 06:59
camelia rakudo-moar cc0c38: OUTPUT«a A|b B|c C␤»
dalek c: e835af6 | skids++ | lib/Type/Signature.pod:
Document **@ slurpies and "is raw", a few GLR tweaks, general cleanups
07:01
moritz skids++
skids: I believe the Parameter docs also need adjustment 07:02
07:02 n0tjack left
skids Yes, and also I pointed people towards "sigilless" to understand "is raw" but sigilless is probably not there. 07:02
But now I must sleep. 07:03
moritz g'night skids 07:04
dalek c: 6c65000 | moritz++ | / (2 files):
Document Slip
skids BTW, maybe you have a local tweak/branch but htmlify-glr errors for me on some fancy attempt to use a bound var ($fc) from a when clause.
dalek c/htmlify-glr: 7cd718e | moritz++ | htmlify.p6:
Fix syntax error
07:06
moritz skids: ah yes, forgot to push
skids: now it errors out much later
skids :-) 07:07
It at least builds what I need to see :-)
good night.
07:08 skids left
dalek kudo/nom: 77cf273 | moritz++ | src/core/Iterator.pm:
Fix a comment
07:08
c/htmlify-glr: 96c51b5 | moritz++ | lib/Type/Parameter.pod:
s:ii/parcel/raw/ in Parameter.pod
07:10
moritz ups, that should have gone into master 07:11
dalek c: fbead37 | moritz++ | lib/Type/Parameter.pod:
s:ii/parcel/raw/ in Parameter.pod
07:13
moritz cherry-pick FTW
07:29 n0tjack joined 07:33 domidumont left 07:34 n0tjack left
FROGGS_ . 07:38
yoleaux 12 Sep 2015 22:16Z <psch> FROGGS_: 1) assign a <> quoted list of the int literals from 0 to 250 to an array
12 Sep 2015 22:17Z <psch> FROGGS_: 2) assign a <> quoted list of the int literals from 0 to 251 to an array
12 Sep 2015 22:17Z <psch> FROGGS_: 3) assign a <> quoted list of the int literals from 0 to 252 to an array
12 Sep 2015 22:18Z <psch> FROGGS_: just to be clear, that is "<0 1 2 3 ... 248 249 250>" all typed (or generated of course :) ) literally in the program code
07:38 FROGGS_ is now known as FROGGS
FROGGS . 07:38
yoleaux 12 Sep 2015 22:16Z <psch> FROGGS: if you're looking for a great WAT try the following three things on jvm:
12 Sep 2015 22:22Z <psch> FROGGS: (the actual three things are .tell
12 Sep 2015 22:22Z <psch> FROGGS: .tell'd to FROGGS_ )
FROGGS :D
07:42 darutoko joined 07:44 laouji joined 07:46 rindolf joined
[Tux] Inline::Perl5 still broken 07:48
FROGGS uhh 07:54
ahh, still the IntStr thing 07:59
[Tux] test 50000 39.638 39.556 08:00
test-t 50000 39.341 39.259
ShimmerFairy FROGGS: you can use qw// (note no :v) if you still want to use a quotewords list :)
08:02 n0tjack joined
FROGGS m: sub foo(IntStr:D $a) { say $a.WHAT }; foo <42> 08:03
camelia rakudo-moar 77cf27: OUTPUT«(IntStr)␤»
FROGGS m: sub foo(Int(IntStr:D) $a) { say $a.WHAT }; foo <42>
camelia rakudo-moar 77cf27: OUTPUT«(IntStr)␤»
FROGGS m: sub foo(Int(IntStr:D) $a) { say $a:Int.WHAT }; foo <42>
camelia rakudo-moar 77cf27: OUTPUT«(IntStr)␤»
FROGGS m: sub foo(Int(IntStr:D) $a) { say $a.Int.WHAT }; foo <42>
camelia rakudo-moar 77cf27: OUTPUT«(Int)␤»
FROGGS m: sub foo(Int(IntStr):D $a) { say $a.WHAT }; foo <42>
camelia rakudo-moar 77cf27: OUTPUT«5===SORRY!5=== Error while compiling /tmp/uDagI7FQ_7␤Missing block␤at /tmp/uDagI7FQ_7:1␤------> 3sub foo(Int(IntStr):D 7⏏5$a) { say $a.WHAT }; foo <42>␤»
FROGGS nine: ping 08:06
nine: can I get a commit bit to I::P5? 08:07
[Tux]: I've got a patch
08:07 n0tjack left
[Tux] :) 08:07
08:08 vendethiel joined
FROGGS nine: I PR'd it so it wont get lost: github.com/niner/Inline-Perl5/pull/44 08:09
dalek line-Perl5: 3d79bbd | FROGGS++ | lib/Inline/Perl5.pm6:
handle {Int,Num,Rat}Str in p6_to_p5
08:10
line-Perl5: 221f67c | lizmat++ | lib/Inline/Perl5.pm6:
Merge pull request #44 from FROGGS/patch-3

handle {Int,Num,Rat}Str in p6_to_p5
FROGGS thanks lizmat :o)
lizmat FROGGS o/ and you're welcome :-)
FROGGS [Tux]: can you check if that helps?
[Tux] was already doing so 08:11
08:12 Alina-malina left
nine Wow you people are too fast. While I was just fetching some coffee, you already fixed and merged it :) 08:12
yoleaux 12 Sep 2015 22:49Z <TimToady> nine: re irclog.perlgeek.de/perl6/2015-09-12#i_11206412 there were more than 200 instances of .list in the pre-cache era that didn't actually need to set up the cache but did so accidentally, so it's a good thing for performance that .list no longer does that
nine FROGGS: you now have a commit bit 08:13
lizmat breakfast& # this is your chance! :-)
FROGGS nine: thanks you :o)
breakfast & 08:14
08:14 telex left
[Tux] All tests successful. 08:14
Files=25, Tests=344, 93 wallclock secs ( 0.09 usr 0.02 sys + 90.82 cusr 1.63 csys = 92.56 CPU)
Result: PASS
dalek href="https://perl6.org:">perl6.org: a750b34 | (Ryan Siemens)++ | source/style.css:
Fixes layout for #col1 and #col2 (issue #20)
08:15
href="https://perl6.org:">perl6.org: 7ccbcd2 | niner++ | source/style.css:
Merge pull request #21 from Nudies/master

Fixes layout for #col1 and #col2 (issue #20)
08:16 telex joined 08:17 thou joined 08:21 thou left
[Tux] gist.github.com/Tux/44e2e0341a56cdef022d 08:22
08:23 cognominal joined
dalek c: 0a70add | (Stefan Seifert)++ | lib/Type/Iterator.pod:
Fix typo and add clarification for Iterator::push-all
08:32
08:34 n0tjack joined 08:37 tokuhiro_ joined 08:39 n0tjack left 08:41 tokuhiro_ left
nine .tell TimToady I guess our disagreement comes from me just not seeing the performance penalty. If I don't store a Seq into a variable and .cache (previously .list) it, all that changes is that an additional reference to the new List is stored in the Seq that's gonna be collected anyway in the same GC run as the list. Persisting the Seq however only makes sense if I intend to call .cache on it again later on. 08:48
yoleaux nine: I'll pass your message to TimToady.
nine .tell TimToady But I'll stop arguing now. It may still be a tiny bit faster to avoid storing the reference and I lack experience with the new semantics to back up any claims to lower usability. And it's not that important a topic anyway :) 08:49
yoleaux nine: I'll pass your message to TimToady.
dalek ast: cafd4cd | usev6++ | S06-signature/multi-invocant.t:
Mention RT #125486 in existing test
08:52
08:57 Alina-malina joined 08:58 n0tjack joined
dalek ast/gmr: b5abf2b | (Stefan Seifert)++ | S (3 files):
Rename EnumMap to Map
09:01
ast/gmr: fde5712 | (Stefan Seifert)++ | S (7 files):
Merge Enum into Pair

This should reduce the confusion around enum, Enum an Enumeration. Pair now implements shallow immutability like List. Pairs themselves are immutable, but containers used as values can be assigned to.
ast/gmr: bc28422 | (Stefan Seifert)++ | S02-types/pair.t:
Changing $pair.value now changes the contained $var

Pairs now behave in the same way as Lists. The values are mutable only if they are itemized. If they are, assigning to them assigns to the original variable.
ast/gmr: e587a70 | (Stefan Seifert)++ | S (4 files):
RT #124640 fixed by merging Enum and Pair
ast/gmr: f58b050 | (Stefan Seifert)++ | S06-advanced/return.t:
RT #75118 is fixed now
nine Karma pushing by rebase... 09:02
09:02 n0tjack left 09:06 AlexDaniel joined 09:07 n0tjack joined 09:11 n0tjack left
dalek kudo/gmr: 934c83f | (Stefan Seifert)++ | / (22 files):
Rename EnumMap to Map

Suggested by jnthn++
09:19
09:19 dalek left 09:20 dalek joined, ChanServ sets mode: +v dalek
psch FROGGS: that .tell'd WAT is actually not the greatest i have seen in the jvm spectests yesterday 09:21
FROGGS: for some reason, our associative code throws ConcurrentModificationExceptions
*that's* the WATtiest i've seen...
lizmat nine: the new order of most commits list logic, only takes unique commit ID's into account, so no extra "karma" by rebase :-) 09:22
nine :)
lizmat: what do you think about removing PairMap? That's the only missing step from the GMR proposal 09:23
lizmat I only implemented PairMap because it was specced...
I have no specific feelings about it
so, removing PairMap is fine by me, if it is also removed from the spec :-) 09:24
09:24 mprelude joined
lizmat (and roast ;-) 09:24
nine I actually cannot find any spec tests for PairMap, except WHICH.t 09:25
lizmat yeah, I didn't write any because of the iffy future of PairMap :-)
nine Well, removed code is debugged code ;) 09:28
09:28 leont joined
dalek ast/gmr: 31f3b82 | (Stefan Seifert)++ | S02-types/WHICH.t:
Remove PairMap - it's use case is unclear and it's untested

We can revert this if a use case appears. Maybe after 6.0.0.
09:28
kudo/gmr: 77e52ec | (Stefan Seifert)++ | / (4 files):
Remove PairMap - its use case is unclear and it's untested

We can revert this if a use case appears. Maybe after 6.0.0.
09:29
09:29 espadrine joined
nine PSA: the gmr branch is now complete. I think it's time we discuss the proposed changed. 09:30
.tell jnthn the gmr branch is now ready for a closer look. 09:31
yoleaux nine: I'll pass your message to jnthn.
nine .tell TimToady the gmr branch is now ready for a closer look.
yoleaux nine: I'll pass your message to TimToady.
dalek Heuristic branch merge: pushed 20 commits to rakudo/cu_load by lizmat 09:36
09:37 leont left, shinobi-cl left 09:39 n0tjack joined 09:44 n0tjack left
FROGGS psch: hmmm 09:56
09:57 domidumont joined
psch i'm about 1/3 through briefly looking closer at every file, just to collect which failures might be related... 09:58
also nice are the (i think about 6 or so as off yet) "Unhandled exception: category $n" where $n is 4102, 4100 and 4104 09:59
we're throwing those ourselves if we don't have a .msg on an exception...
FROGGS ohh, that's about next/last/redo with labels
O.o
psch yeah, fits with the files i've seen it in
also lots of "Expected Positional but got Seq"
FROGGS I think I changed the payload stuff on moar... but only in a branch IIRC 10:00
so the binder needs love?
hmmm
psch well, i'll finish the brief comments for every file and gist that
FROGGS I just pulled all the things and am going to build perl6-j
psch maybe an hours or so
FROGGS psch++
awesome 10:01
psch S05 stuff has lots of UnwindExceptions o.o 10:04
10:05 thou joined
lizmat confirm gmr branch has the same spectest issues as nom :-) 10:05
psch FROGGS: i think the easiest thing we definitely need are the NYIs in the Binder that got there due to the glr 10:08
FROGGS: e.g. "is copy on list NYI after glr" and whatever the other was... :) 10:09
10:09 FROGGS left, thou left 10:11 FROGGS joined
psch it's a bit unfortunate that i built r-j before "is parcel" became "is raw" but ran spectest after :/ 10:11
i have like 6 files already that fail due to that
FROGGS psch: yeah, that also caused extra work at the spw... 10:12
10:12 n0tjack joined
FROGGS roast and rakudo changed that quickly that you could reliable test a fix 10:12
so I decided to change the makefile to not pull roast 10:13
masak good noon, #perl6 10:16
yoleaux 01:08Z <colomon> masak: I’ve got a pull request to get Perl6::Literate passing tests again.
10:17 n0tjack left
masak colomon: thank you. merged. 10:17
psch hi masak o/
FROGGS psch: btw, the 'array is copy' NYI'd thing also just has a die() on moar 10:18
psch m: sub f(@a is copy) { } 10:19
camelia ( no output )
psch m: sub f(@a is copy) { }; say f([1,2,3])
camelia rakudo-moar 77cf27: OUTPUT«Nil␤»
psch m: sub f(@a is copy) { @a[1] = 5; @a}; say f([1,2,3])
camelia rakudo-moar 77cf27: OUTPUT«[1 5 3]␤»
10:19 diana_olhovik_ joined
FROGGS psch: I think it is about attribute binding, but I was unable to trigger that code path 10:20
psch $ ./perl6-j -e'sub f(@a is copy) { @a[1] = 5; @a }; say f([1,2,3])'
is copy on lists NYI after GLR
FROGGS hmmm
masak merged the other three PRs on that repo, too
lizmat FROGGS: we have at least: multi method push(Buf:D: @values is copy) { in core 10:21
FROGGS lizmat / psch: but look: github.com/rakudo/rakudo/blob/nom/...P.nqp#L408 10:22
lizmat whoops... so we have at least some breakage in core on both jvm/moar 10:23
psch huh 10:24
but we have working logic for @ is copy somewhere in moar, apparently :P
FROGGS lizmat: but it does not seem to trigger on moar, which is weird
psch: I fear the entire weirdness we see boils down to missing stuff like this: github.com/rakudo/rakudo/blob/nom/...ps.pm#L105
psch $ ./perl6-j -e'sub f(@a is copy) { @a[1] = 5; @a }; my @b = 1,2,3; say f(@b); say @b
m: sub f(@a is copy) { @a[1] = 5; @a }; my @b = 1,2,3; say f(@b); say @b 10:25
camelia rakudo-moar 77cf27: OUTPUT«[1 5 3]␤[1 2 3]␤»
FROGGS or at least that the jvm implementation is weird in general and needs these hacks
psch mhm :/
10:25 abaugher left
psch i guess ripping out all the #?if jvm and *then* fixing everything is probably more sensible 10:25
lizmat psch++ :-) 10:26
FROGGS it will at least help us in future
10:26 abaugher joined
lizmat having #?if code in the core, always makes me sad 10:26
psch one of my favorite weirds on jvm is returning a sub from a sub
FROGGS well, it can be sensible 10:27
psch it just doesn't work :l
lizmat psch: you need to containerize it apparently
psch lizmat: it NPEs
the value to assign isn't there
which is the sub
lizmat ===SORRY!=== Error while compiling lib/Pod/To/Text.pm
java.lang.StackOverflowError
at lib/Pod/To/Text.pm:14
this is known, right ?
psch that should actually be fixed..? :s 10:28
lizmat or is this on OSX specific jvm error
psch oh, right OSX
well, we still have some SOEs even after the "don't check the SC" hack, but maybe OSX does something a tad different somewhere...
lizmat i'll nuke install and start from scratch, just to be sure 10:29
psch anyway, i guess a branch for "no #?if jvm in CORE" should be the next step
well, maybe i'll just try it locally first and see if i can see any silver lining anywhere at all :P 10:30
FROGGS: the test report is half finished, if you think it's worth looking from there i can upload
FROGGS psch: sure
psch FROGGS: but i think trying to bring jvm towards "what we actually want" is more useful
FROGGS psch: ===SORRY!=== Error while compiling lib/Pod/To/Text.pm 10:31
java.lang.StackOverflowError
right now
psch and "treat it differently" isn't what we want i guess :s
ugh
FROGGS I dont have the 'flat hhlize' => '|hllize' in there atm though
psch well, it's only 7 commits to bisect... :)
(i have a hunch that nqp c16481c6eeb2480ebc3dbbc9aeda74a9e72ba00c could be to blame though...) 10:33
although it shouldn't be vOv
timotimo o/
slurpy giving us the problem of reaching the maximum argument number soon is ... unfortunate 10:34
10:34 pmurias joined
psch timotimo: slurpy? 10:35
timotimo: oh, right qw// calls a sub 10:36
FROGGS: gist.github.com/peschwa/eeeca39eef9d66db9e92
timotimo: i think the codegen is doing bogus there, fwiw
timotimo: as in, it shouldn't generate a method that has that many arguments..? 10:37
i haven't looked too closely at it though, in any case...
10:37 AlexDaniel left 10:39 tokuhiro_ joined
FROGGS $ ./perl6-j -e'sub f(@a is copy) { @a[1] = 5; @a }; say f([1,2,3])' 10:39
[1 5 3]
psch the ConcurrentModificationException are the scariest ones imo :<
FROGGS dunno if my implementation is sensible though
psch eh, make it work, then wait until it bitrots and make it work again 10:40
... >_>
FROGGS hmm?
psch i was trying to be funny :) 10:41
FROGGS *g*
"haha" :P
psch i can have a look though, if you want :P 10:42
dalek kudo/nom: 5cc2563 | FROGGS++ | src/vm/jvm/runtime/org/perl6/rakudo/Binder.java:
implement @array is copy in binder on jvm
10:43 tokuhiro_ left
JimmyZ ^^ still NYI on moarvm? 10:44
FROGGS psch: and it seems the Pod::To::Text SOE boils down to the 'flat hllize' thing, as it is gone now with local modifications
JimmyZ: yes, as we dont trigger it
10:45 cschwenz joined
FROGGS I'm looking at t/spec/S04-statements/last.t now 10:45
10:45 n0tjack joined, Ven joined, TEttinger left
dalek ast: b18e1cf | lizmat++ | S02-types/WHICH.t:
Separate out the exceptions

So that we don't run into num of slurpy params limit on JVM
10:45
10:45 dalek left
cschwenz is there a Perl6 equivalent to Time::HiRes? 10:45
(i need sub-second time info. :-/)
10:45 dalek joined, ChanServ sets mode: +v dalek
jdv79 m: say now 10:46
camelia rakudo-moar 77cf27: OUTPUT«Instant:1442141205.268170␤»
jdv79 good enough?
cschwenz works for me :-)
thanks!
psch FROGGS: that bug is so weird... and SOE is horrible to debug as well :/
FROGGS I hope last LABEL will be less weird 10:47
cschwenz m: my $x = now; sleep(0.5); my $y = now; my $z = $y - $x; say $z;
camelia rakudo-moar 77cf27: OUTPUT«0.5027379␤»
lizmat cschwenz: so is that good or bad ? 10:48
jdv79 pretty sure it'll only be skewed one way at least;)
cschwenz it's good enough for me :-)
lizmat m: my $x = now; sleep .5; say now - $x 10:49
camelia rakudo-moar 77cf27: OUTPUT«0.5026144␤»
psch m: my $x = now; sleep 1/2; say now - $x
camelia rakudo-moar 77cf27: OUTPUT«0.5028343␤»
lizmat m: my $x = now; sleep .501; say now - $x
camelia rakudo-moar 77cf27: OUTPUT«0.50341172␤»
cschwenz if i'm over by a bit it doesn't matter. under leads to catastrophe. :-P
jdv79 see Instant, DateTime, and those types on doc.perl6.org for more
10:49 n0tjack left
lizmat under would mean travelling back in time ? 10:49
cschwenz thus catastrophe! :-D 10:50
lizmat fair enough :-)
psch hm 10:53
removing the "#?if jvm" stuff is gonna be lots of fun with quite a few decisions behind it seems
Distro.pm and VM.pm as two interesting first stops :P
10:53 Peter_R left
FROGGS psch: you cannot remvoe all 10:54
but you can/should remove the hacks
the #?jf jvm in Distro.pm probably need to stay
psch FROGGS: i'm pretty sure i could make the Distro.pm stuff backend agnostic in rakudo, but i'm not sure it's worth the effort
FROGGS: in any case, i'll look for hacks first :) 10:55
FROGGS psch++ # :o)
10:55 Ven left
FROGGS um... 10:56
$ perl6-j t/04-nativecall/01-argless.t
1..3
ok 1 - survived the call
ok 2 - called argless function
ok 3 - called long_and_complicated_name
psch: ^^
psch: do you get that too???
FROGGS is rather excited 10:57
psch FROGGS: uh, i'm between builds with a few #?if jvm removals already done... :s
FROGGS ahh, nvm then 10:58
10:58 brrt joined
FROGGS I just want to know if my '@array is copy' patch does that, or if it was working before or after my changes right now... 10:58
I changed the relative new ';;' in signatures to ';'
should be ',' actually 10:59
but I can imagine that jvm does not understand ';;' yet
timotimo psch: wha?
what were you refering to?
psch timotimo: oh, i was thinking you were talking about jvm hitting max method arguments when assigning >251 literals in <> to an array 11:00
'cause i think QW has a slurpy :s 11:01
11:03 Alina-malina left
timotimo oh 11:03
i was thinking of the thing timtoady pasted up there
[max] rand() xx 65536
11:05 brrt left
ab5tract psch: I would imagine that replacing current Distro.pm with a backend-agnostic one would be significantly better than not doing so 11:06
yoleaux 1 Aug 2015 00:15Z <psch> ab5tract: i'm unsure what classloading bit you're refering to. classloading happens for interop and "normal" runtime in different ways (BootJavaInterop.java and LibraryLoader.java respectively)
1 Aug 2015 00:16Z <psch> ab5tract: nqp commit d03863352f07a05fa68892997e417b62452cb34e simplifed the former significantly, and i suspect something similar should be possible for LibraryLoader.java too, but i haven't been able to dig in yet
1 Aug 2015 00:17Z <psch> ab5tract: as for non-jdk interop, you usually need to supply :jar<$jarfile> to the use statement
1 Aug 2015 00:20Z <psch> ab5tract: i'm not excluding the possibility that there might be something borked in CLASSPATH handling either, though, but i've been away from that bit quite a while...
11:06 Ven joined 11:07 Alina-malina joined
ab5tract psch: also, thanks for ^^ :) 11:07
psch timotimo: oh, yeah that's also somewhat unsettling... 11:08
ab5tract: yeah, i'd like rakudo to be completely backend agnostic - nqp should deal with all of that
FROGGS psch: okay, the nativecall tests pass without my ';;' changes in signatures 11:09
lizmat ab5tract psch I can only agree :-)
ab5tract o/ lizmat :)
psch ab5tract: but there's a more pressing problems, like type confusion or numerous workaround that shouldn't be neccessary (on first glance)
ab5tract how's patch -p3?
psch s/s a /s/
FROGGS japhb: it seems the jvm backend is healthy enough that I can work on the C++ port 11:10
11:10 brrt joined, brrt left
lizmat ab5tract: patch -p3 was only one day, and it was yesterday :-) 11:10
ab5tract psch: fair enough! prioiritization is key
lizmat it was intensive and exhaustive (for me) but great fun!
ab5tract glad to hear it :)
11:10 qlx4r joined
lizmat ab5tract: trying to answer Perl 6 questions while trying to follow discussions in French 11:10
psch FROGGS: do you have any deals left in my why you needed the "my $clone := 1" workaround in Perl6/Actions.nqp? 11:11
s/my/mind/
11:11 Ven left
psch (actually, i'm guessing that was you cause it's NativeCall...) 11:11
psch actually checks git blame
hah, guessed right! 11:12
FROGGS not always do cloning was an optimization on moar, but jvm did not like it
dunno if we still need it
psch: what was the commit?
psch FROGGS: 393acf095d7a87e6843d8771d23be9634ce3a2ac 11:13
looks like type confusion underneath as well, from the commit msg
we have a bunch of "not sure what type this is" in Cursor.pm, although that's slightly different symptoms 11:14
FROGGS ahh
11:16 Ven joined
qlx4r hi everybody, I hope I am right here. I am trying to install rakudo star on Linux via rakudobrew, as pointed out on rakudo.org. That all works, but `panda install Task::Star` fails at Digest::MD5. Am I the only one with this problem? pastebin.com/HSDYCig1 11:17
FROGGS qlx4r: I've just fixed Digest::MD5 this morning... 11:18
11:18 n0tjack joined
FROGGS qlx4r: what rakudo revision do you build? how do you invoked that? 11:18
qlx4r: or in case the error is some hours old, can you try again? 11:19
qlx4r FROGGS: great. I do the `rakudobrew build moar; rakudobrew build-panda`. I was under the impression it was always pulling the latest repos though. Any idea how the changes trickle downstream exactly?
11:19 Peter_R joined
qlx4r FROGGS: no, I built it this very moment. 11:19
FROGGS qlx4r: yes, that builds latest rakudo
qlx4r FROGGS: any repos I need to pull manually? like rakudobrew itself?
FROGGS no 11:20
can you try this please? panda install Digest::MD5
qlx4r FROGGS: ok, building again for good measure
FROGGS: will do
11:22 Ven left 11:24 n0tjack left
qlx4r FROGGS: same problem on manual install via `panda install DIGEST::MD5`. Same error as in the pastebin. output of `perl6 --version`: This is perl6 version 2015.07.1-868-g5cc2563 built on MoarVM version 2015.08-15-g4b427ed. 11:24
FROGGS: Digest::MD5...
FROGGS CArray representation does not implement elems - that was timotimo :o) 11:26
hmmmm 11:27
11:28 BenGoldberg joined
FROGGS qlx4r: it is weird, the test file passes on its own, but fails via panda 11:30
I'm back after lunch
timotimo FROGGS: i implemented .elems, but not nqp::elems 11:31
11:32 tokuhiro_ joined
psch oh ffs 11:35
adding two &say calls makes traits.pm compile fine
/o\
oh nvm
wrong Configure.pl line from the history ._. 11:36
11:37 tokuhiro_ left 11:39 baest_ joined
nine Why does ArgFiles.get fail with "End of argfiles reached" while ordinary file handles just return Str when reading past eof? 11:40
11:41 baest left
dalek Iish: bbaa0fd | moritz++ | t/01-ConnectConfig-PG.t:
s/done/done-testing/
11:43
11:45 diana_olhovik_ left 11:47 kjs__ joined 11:52 n0tjack joined
moritz nine: sounds like something that wants fixing 11:52
11:53 pmurias left, thou joined
moritz am I right in assuming that Rakudo builds on the JVM again? 11:54
j: say 'version?'
camelia rakudo-jvm 5cc256: OUTPUT«Can't open perl script "/home/camelia/rakudo-inst/bin/eval-client.pl": No such file or directory␤»
11:55 camelia left, camelia joined
nine moritz: I activated camelia jvm build again. Let's just try it out 11:55
moritz nine: ok, great 11:56
somebody please make a rakudo commit :-)
nine working on it ;)
11:56 mr-foobar left 11:57 ChanServ sets mode: +v camelia, mr-foobar joined, n0tjack left, raiph left
nine I'm factoring out some code into a helper method. This code contains fail calls. What's the most elegant way to rethrow those from the caller? 11:57
psch moritz: it used to a few commits ago, but doesn't anymore
11:57 thou left
psch moritz: it fails the same way it did before the temporary fix, which suggests the fix wasn't quite it... 11:58
moritz psch: :(
nine: fail() just returns a Failure object; so the caller can also just return that 11:59
my \res = self!helper; return res unless defined res;
nine And Failure objects are not defined which is perfect for my case. I do want to return Failures and undefined values as-is.
FROGGS qlx4r: it should just work now 12:03
qlx4r: so do the 'panda install Task::Star' cmd now
12:04 kjs__ left
dalek kudo/nom: 66c0809 | (Stefan Seifert)++ | src/core/IO/ArgFiles.pm:
Fix IO::ArgFiles failing instead of returning Str after EOF

IO::Handles return an undefined Str when reading after EOF. IO::ArgFiles should probably just do the same instead of failing with "End of argfiles reached". There doesn't seem to be a spectest for the failure anyway.
12:07
p/js-merge-wip: c22753c | (Pawel Murias)++ | src/core/testing.nqp:
Revert "Temporarily workaround a .push bug in the js backend."

This reverts commit 485c2803c422c7246c1113689566ca06845aa9b9.
12:07 pmurias joined
qlx4r FROGGS: much better, Digest::MD5 no problem any more, but now JSON::RPC fails. But thanks already for fixing that so quickly. 12:08
FROGGS :o)
12:09 kjs__ joined, pmurias_ joined
FROGGS JSON::RPC probably needs fixes to work with the recent GLR semantics 12:09
12:10 kjs__ left
qlx4r FROGGS: the stacktrace seems to point at panda itself, not JSON::RPC. Want a paste? Or anybody else I could notify? 12:10
FROGGS qlx4r: perhaps I could guess what's wrong when seeing a paste... 12:12
qlx4r: opening an issue in the JSON::RPC repo might be the way to go
qlx4r FROGGS: let me do that then. This the one? I do not understand (yet) how to infer the canonical repo from panda... github.com/bbkr/jsonrpc 12:14
FROGGS qlx4r: go to modules.perl6.org and click on the distribution 12:15
qlx4r FROGGS: cool
FROGGS that's how I do it
qlx4r FROGGS: indeed, it was the one. but thanks for the hint.
FROGGS: sorry to keep bothering you, but... how do I learn my version of panda for the bug report? --version or just 'version' as a param don't work 12:19
FROGGS hmmm...
rakudobrew keeps the repositories somewhere... if you find the panda repository (with a .git directory in it), you can: git describe 12:20
or git describe --tags
qlx4r FROGGS: great, all done, let's see what happens. github.com/bbkr/jsonrpc/issues/15 12:23
Thank y'all very much for working so hard on perl6 and being so supportive, I cannot wait to start hacking with perl6. It sure provides great new constructs I cannot wait to use. 12:24
12:25 n0tjack joined
FROGGS qlx4r: hmmm, it is hard to tell what's wrong from the output... 12:25
12:28 aborazmeh joined, aborazmeh left, aborazmeh joined 12:29 [Sno] left, n0tjack left
moritz TimToady++ # YAPC::EU keynote; I finally got around to watching it 12:30
12:33 tokuhiro_ joined 12:38 tokuhiro_ left
dalek kudo/nom: 0e3f2ee | peschwa++ | src/vm/jvm/runtime/org/perl6/rakudo/Binder.java:
Adjust Binder to look for RAW instead of RW.
12:43
psch ^ that let's jvm build again
s/\'// # o.o 12:44
i'm not sure what the rational was to have "is rw" in those spots before, but the Binder relied on that to decide some semantics...
12:45 diana_olhovik joined
psch (just to be clear, i'm talking about "is rw" to "is raw" in 8837b6fe) 12:46
moritz psch: I've noticed before that many places that should be raw/parcel were actually 'rw', so potentially just confusion 12:47
psch moritz: i think those are mostly cleared up in 8837b6fe, the jvm Binder just didn't know yet :)
12:50 Psyche^_ joined 12:51 rurban left
dalek c/htmlify-glr: 9da3bba | moritz++ | lib/Perl6/Documentable/Registry.pm:
Return empty list instead of Any from $*DR.lookup
12:53
12:54 Psyche^ left
psch FROGGS: without the $clone workaround i get a total of 25 test failures for t/04-nativecall 12:57
FROGGS: that's 24 tests in 05-arrays.t and one in rt125408.t
12:58 n0tjack joined
psch FROGGS: ...nvm, the workaround is in, i apparently slightly mishandled git 12:58
FROGGS psch: both the 05-arrays.t and rt125408.t are kinda expected 13:00
rt125408.t also fails for moar, and 05-arrays.t is about a recent change
psch FROGGS: yeah, i guessed that 05-arrays.t is expected
13:02 n0tjack left 13:03 kjs__ joined 13:06 Ven joined
psch right, this time actually without the workaround... 13:07
10-cglobals.t and 16-rt125729.t pass :P
13:11 diana_olhovik left, laouji left
cognominal I was not physically present at Lyon hackathon but my slang to produce AST is slowly getting there. github.com/cognominal/nqp/commit/a...49deb576a0 13:11
13:12 Ven left
moritz TimToady: it seems that missing a semicolon gives a "Bogus postfix" error these days; iirc there used to be a better error message 13:20
13:27 espadrine left 13:30 n0tjack joined 13:33 khw joined 13:35 n0tjack left 13:36 n0tjack joined 13:37 laouji joined 13:41 n0tjack left, thou joined 13:46 thou left
dalek c/htmlify-glr: fd6abbe | moritz++ | htmlify.p6:
A well-placed &flat brings us error-free through htmlify.p6 --sparse=20
13:52
13:56 pierrot joined
masak \o/ 13:56
psch r: say "hi" 13:57
camelia rakudo-{moar,jvm} 0e3f2e: OUTPUT«hi␤»
psch huh, that gave ( no output ) for jvm in a /msg camelia o.o 13:59
13:59 cognominal left
dalek kudo/nom: 2579cad | (Stefan Seifert)++ | src/core/IO/ArgFiles.pm:
3.3x speedup for ArgFiles.lines()
14:00
nine Note: this ^^^ breaks t/spec/S32-io/pipe.t because I use IO::Handle::lines now and that seems to return an additional empty line if the file ends in \n. 14:01
So really the spec test regression is due to the IO::Handle::lines optimization. 14:02
14:03 n0tjack joined
JimmyZ ^^ there is 'use nqp', is it needed? 14:04
ShimmerFairy no, core doesn't need 'use nqp' 14:06
14:07 kaare_ left, n0tjack left, rurban joined
dalek kudo/nom: 5927b15 | (Stefan Seifert)++ | src/core/IO/ArgFiles.pm:
Remove unneeded use nqp;

Spotted by JimmyZ++
14:08
14:09 kaare_ joined, FROGGS_ joined 14:10 aborazmeh left 14:11 leont joined 14:13 FROGGS left
TimToady m: sub a (*@a) { @a.join("|").say };a(1,(1,2),((3,4),5)); 14:14
camelia rakudo-moar 0e3f2e: OUTPUT«1|1|2|3|4|5␤»
TimToady m: sub a (*@a) { @a.join("|").say };a(1,[1,2],[[3,4],5]);
camelia rakudo-moar 0e3f2e: OUTPUT«1|1|2|3 4|5␤»
TimToady here's a bug; slurpy * is supposed to be recursive, which () does but [] doesn't
psch r: sub a (*@a) { @a.join("|").say };a(1,(1,2),((3,4),5)); 14:15
camelia rakudo-{moar,jvm} 0e3f2e: OUTPUT«1|1|2|3|4|5␤»
psch r: sub a (*@a) { @a.join("|").say };a(1,[1,2],[[3,4],5]);
camelia rakudo-{moar,jvm} 0e3f2e: OUTPUT«1|1|2|3 4|5␤»
araujo looks around 14:16
dalek c: f57268e | TimToady++ | lib/Type/Signature.pod:
slurpy * is not one-level, but recursive
pmurias hoelzro: should I merge the js branch into the js-merge-wip one? 14:18
JimmyZ r: sub a(@ais copy) { ... } 14:19
camelia rakudo-moar 0e3f2e: OUTPUT«5===SORRY!5=== Error while compiling /tmp/tmpfile␤Missing block␤at /tmp/tmpfile:1␤------> 3sub a(@ais 7⏏5copy) { ... }␤»
( no output )
JimmyZ r: sub a(@a is copy) { ... } 14:20
camelia ( no output )
JimmyZ jvm bug!
r: sub a(@ais copys) { ... } 14:21
camelia rakudo-{moar,jvm} 0e3f2e: OUTPUT«5===SORRY!5=== Error while compiling /tmp/tmpfile␤Missing block␤at /tmp/tmpfile:1␤------> 3sub a(@ais 7⏏5copys) { ... }␤»
14:23 Ven joined
timotimo nine: cool that you ported jnthn's lines work to argfiles! 14:24
tony-o sharista still in here? 14:26
timotimo i wonder if we should revert that commit in nqp that removes closure taking from clases defined inside subs and mainline ... that's the commit that causes the data race for frames and refcounting to become much more visible
so that people don't keep stumbling over it before jnthn implements "the right" fix in moar 14:27
14:27 lichtkind joined
pmurias MAIN works differently in nqp on moarvm and on the jvm? 14:30
14:33 laouji left 14:34 laouji joined, diana_olhovik joined 14:35 tokuhiro_ joined 14:36 n0tjack joined
FROGGS_ pmurias: really? 14:37
psch main.nqp has #?if jvm 14:39
something about slurpies iirc
14:39 tokuhiro_ left
psch i hope "sub MAIN" doesn't work differently on the backends :S 14:39
14:40 n0tjack left
ShimmerFairy timotimo: not sure, I'm guessing it'll be easier to debug the fix if the visible-making change isn't reverted :) 14:41
14:41 cognominal joined
timotimo disagree 14:43
jnthn has already figured out what's wrong
until the fix lands, people will randomly encounter errors like "double free" and "corrupted blocklist"
ShimmerFairy oh, so since the fix is already known, I don't really see a point in reverting (if it was unknown and no clear way to figure out, I'd be more on board with reverting) 14:44
timotimo psch, pmurias, yeah, sadly MAIN on the one and on the other pass a slurpy vs a regular list
14:45 tping joined
FROGGS_ psch: !!! 14:50
I think I fixed something, that should let us get rid of the #?if jvm in the actions
getNativeCallBody did not care about delegate
14:51 Ven left
FROGGS_ psch: that also caused trouble having native methods in C++ structs 14:51
14:52 kjs__ left
psch FROGGS_: ahh, neat. i had looked at the delegate, but apparently not closely enough... 14:53
dalek p: 0c26f68 | FROGGS++ | src/vm/jvm/runtime/org/perl6/nqp/runtime/NativeCallOps.java:
follow delegates in getNativeCallBody
15:04
15:08 n0tjack joined 15:13 n0tjack left
xinming_ r: my $l = [1,2,3]; for @$l -> $i { $i.perl.say } 15:14
camelia rakudo-{moar,jvm} 5927b1: OUTPUT«1␤2␤3␤»
15:15 diana_olhovik left 15:18 diana_olhovik_ joined
nine m: sub g(*@v) { say @v.infinite; }; g(|(4..*)); 15:20
camelia rakudo-moar 5927b1: OUTPUT«(timeout)»
nine m: sub g(*@v) { say @v.is-lazy; }; g(|(4..*));
camelia rakudo-moar 5927b1: OUTPUT«(timeout)» 15:21
nine .tell [Coke] rt.perl.org/Public/Bug/Display.html?id=122948 is fixed as result of the GLR
yoleaux nine: I'll pass your message to [Coke].
nine m: my @s=(0,1,0.5,0.4)[^3]; my @t=((0,1,0.5,0.4) xx 1)[^3]; say @s == @t 15:22
camelia rakudo-moar 5927b1: OUTPUT«False␤»
nine .tell [Coke] rt.perl.org/Public/Bug/Display.html?id=120861 is fixed as result of the GLR, too. 15:25
yoleaux nine: I'll pass your message to [Coke].
15:28 laouji left, laouji joined
moritz m: my @s=(0,1,0.5,0.4)[^3]; my @t=((0,1,0.5,0.4) xx 1)[^3]; say @s == @t 15:29
camelia rakudo-moar 5927b1: OUTPUT«False␤»
moritz m: my @s=(0,1,0.5,0.4)[^3]; my @t=((0,1,0.5,0.4) xx 1)[^3]; say @s.perl; say @t.perl
camelia rakudo-moar 5927b1: OUTPUT«[0, 1, 0.5]␤[(0, 1, 0.5, 0.4),]␤»
nine .tell [Coke] With rt.perl.org/Public/Bug/Display.html?id=111720 I'd argue, that the current behavior is correct due to the one item rule. Array.new(@a) essentially creates a copy of @a. Thus changing @a will not affect the new array.
yoleaux nine: I'll pass your message to [Coke].
15:29 thou joined, skids joined
nine m: my @s=(0,1,0.5,0.4)[^3]; my @t=(|(0,1,0.5,0.4) xx 1)[^3]; say @s == @t 15:30
camelia rakudo-moar 5927b1: OUTPUT«True␤»
moritz nine, [Coke]: I've rejected 120861 15:32
RT 15:33
nine moritz: how does one get privileges for RT? When I'm logged in I cannot even look at those bugs.
moritz nine: telll [Coke] your RT user ID; I believe he can give you the privs
15:34 thou left
moritz m: my $x; my @a = 1,2; $x = Array.new(@a) => 'x'; @a.pop(); say $x 15:34
camelia rakudo-moar 5927b1: OUTPUT«[1 2] => x␤»
nine .tell [Coke] I'm registered in RT as [email@hidden.address] When you get tired of modifying tickets for me, just give me privileges :)
yoleaux nine: I'll pass your message to [Coke].
moritz nine: Inline::Python fails tests for me 15:35
nine m: my $x; my @a = 1,2; $x = Array.new((@a,)) => "x"; @a.pop(); say $x;
camelia rakudo-moar 5927b1: OUTPUT«[[1]] => x␤»
nine moritz: oh, I think it needs some GLR updates
moritz m: my $x; my @a = 1,2; $x = Array.new(@a); @a.pop; say $x 15:36
camelia rakudo-moar 5927b1: OUTPUT«[1 2]␤»
moritz m: my $x; my @a = 1,2; $x = Array.new(@a); $x.pop; say @a
camelia rakudo-moar 5927b1: OUTPUT«[1 2]␤»
moritz is there *any* case left where there's action-at-a-distance?
if not, I'd argue this is correct now
nine: Inline::Python would be nice for building doc.perl6.org with post-glr rakudo :-) 15:38
15:39 kjs__ joined 15:40 xfix left, n0tjack joined
dalek line-Python: 6fc1831 | (Stefan Seifert)++ | t/ (4 files):
Adjust tests to post-GLR
15:42
nine moritz: done
15:47 n0tjack left
dalek kudo-star-daily: 0a10711 | coke++ | log/ (9 files):
today (automated commit)
15:49
rl6-roast-data: d9635ff | coke++ | / (9 files):
today (automated commit)
15:50
rl6-roast-data: 0804a8c | coke++ | / (9 files):
today (automated commit)
15:50 Ven joined, cognominal left 15:52 diana_olhovik_ left
nine .tell [Coke] rt.perl.org/Public/Bug/Display.html?id=124082 seems to have been fixed in the meantime. 15:54
yoleaux nine: I'll pass your message to [Coke].
moritz thanks nine++ 15:56
15:57 kjs__ left
moritz .tell [ptc] I've updated the rakudobrew on hack in /home/rakudobrew to a pots-glr rakudo (+modules); please check if the examples.perl6.org rebuild still works 15:59
yoleaux moritz: I'll pass your message to [ptc].
16:00 diana_olhovik_ joined
dalek c: d1363d6 | moritz++ | htmlify.p6:
Fix fallout from the single-arg rule
16:00
c: 6770eb8 | moritz++ | htmlify.p6:
Another GLR fix
c: 7cd718e | moritz++ | htmlify.p6:
Fix syntax error
c: 96c51b5 | moritz++ | lib/Type/Parameter.pod:
s:ii/parcel/raw/ in Parameter.pod
c: b5633b1 | moritz++ | htmlify.p6:
Merge branch 'htmlify-glr'
moritz fwiw htmlify last took about 21 minutes (pre-glr) on hack 16:02
16:02 raiph joined 16:03 kjs__ joined
moritz I'm quite interested in seeing the performance post-glr 16:03
16:05 Ven left
moritz I've profiled htmlify.p6 with --sparse=50; result at hack.p6c.org/~moritz/profile-144216...07429.html 16:07
(makes your browser use 2G of memory; you have been warned) 16:08
16:08 raiph left
timotimo moritz: i'm currently ankle-deep in the qt profiler 16:08
trying to figure out what makes it give bogus results sometimes. and adding a list of GC runs to it as well 16:09
dalek ast/gmr: ead4486 | (Stefan Seifert)++ | S02-names-vars/list_array_perl.t:
Tests for RT 123072 - .perl on a List containting a single item
16:11
16:12 raiph joined
dalek ast: 472a2d4 | (Stefan Seifert)++ | S02-names-vars/list_array_perl.t:
Tests for RT 123072 - .perl on a List containting a single item
16:12
kudo/nom: e19c128 | (Stefan Seifert)++ | src/core/List.pm:
Fix .perl on a single item List not EVALing back to the List

Fixes RT #123072
16:13
nine .tell [Coke] rt.perl.org/Public/Bug/Display.html?id=123072 is fixed with commit e19c128
yoleaux ...
16:13 n0tjack joined
nine Err...yoleaux overloaded? 16:14
moritz nine: erm, wrong ticket number?
'[GLR] 'for' loop in sink context isn't invoking block in sink context'
m: class Sinker { method sink() { say "Blub" } }; for ^5 { Sinker.new(); }; 1 16:15
camelia rakudo-moar 5927b1: OUTPUT«WARNINGS:␤Useless use of constant integer 1 in sink context (line 1)␤»
timotimo moritz: would you like to generate a json version of that, too? you have to set --profile-filename to something ending in .json (and you have to have a very recent nqp, otherwise the file will end up truncated)
so that's what gave us the good performance since the glr ;) 16:16
moritz timotimo: I can do that
nine Darn...should have been 124342
moritz timotimo: the HTML version seems to be pretty useless, since it builds so slowly :( 16:17
erm, responds
timotimo yes
that.s what made tadzik build the qt program :)
dalek ast: ebd3ce2 | (Stefan Seifert)++ | S02-names-vars/list_array_perl.t:
Fix ticket number for testcase
16:18 n0tjack left
nine .tell [Coke] wrong ticket number. 123072 is still open, 124342 is fixed 16:18
yoleaux nine: I'll pass your message to [Coke].
colomon Array $last = [[[[[[[[[[[[[[[[[[[[[[[[[[[[[[9.0],],],],],],],],],],],],],],],],],],],],],],],],],],],],],]
:)
moritz: I just fixed Math::RungeKutta to work again. However, thinking about it I’m not sure it was the best possible solution. Seems like the code was doing some funky stuff to work around flattening before, and what I did was make it flatten again instead of straightening out the original issue. 16:23
16:24 kjs__ left, qlx4r left
cschwenz colomon: nested 30 levels deep?!? o_0 16:25
colomon cschwenz: that’s what happens when you expect flattening and it’s not there any more. :)
afk # nom-fetching
hoelzro pmurias: go for it 16:26
you can merge js-merge-wip into master too 16:27
16:27 laouji left 16:28 cognominal joined 16:31 thou joined
raiph .tell skids .oO ( s:g/sigilless variable/raw variable/? ) 16:33
yoleaux raiph: I'll pass your message to skids.
16:38 [Sno] joined 16:45 pmurias__ joined 16:46 n0tjack joined
pmurias__ hoelzro: I'll be away from my hacking machine till tomorrow 16:46
16:47 diana_olhovik_ left 16:48 xinming_ left 16:51 n0tjack left
rindolf hoelzro: hi, sup! Shanah Tovah. 16:57
17:08 tm joined 17:09 Ven joined 17:10 kjs__ joined
timotimo .tell usev6 thanks again for your tireless bug triage work! 17:16
yoleaux timotimo: I'll pass your message to usev6.
17:17 xfix joined 17:19 n0tjack joined 17:23 n0tjack left 17:28 Ven left 17:44 Ven joined
moritz colomon: nonetheless, a pull request (or direct push) is welcome 17:48
ah, I see you already did that; colomon++ 17:49
also colomon++ for Math::Model fixes
timotimo: hack.p6c.org/~moritz/htmlify.json 17:50
timotimo cool, thanks
a .gz would have done wonders on it, i bet
17:51 n0tjack joined
timotimo moritz: it looks like the json file lacks the last bit 17:53
what's your nqp?
17:55 n0tjack left
timotimo moritz: sorry, i was wrong, the file seems all right 17:55
it might be hitting the arbitrary file size limit related to ... something 17:56
QJson or the binary buffer it uses or something
17:58 Ven left 18:01 Skarsnik joined 18:02 Ven joined 18:05 pmurias__ left
bartolin timotimo: thanks (i'm usev6 on github). btw, i just noted that my first contribution to Perl 6 was about 1 year ago (september 2014). maybe I should blog about that ("one year of bug triage") ... 18:05
on the other hand, i don't have a blog
timotimo ah!
18:08 Ven left 18:09 n0tjack joined 18:11 Ven joined 18:13 Sqirrel joined 18:15 n0tjack left, Ven left
dalek p: 239d6a3 | FROGGS++ | src/vm/jvm/runtime/org/perl6/nqp/ (14 files):
add and hook up CPPStruct repr on jvm
18:16
moritz bartolin: if you want to, you can publish a guest post on my blog
colomon moritz++: yeah, I pushed just for form’s sake and it turned out you’d given me a commit bit sometime in the distant past. :)
18:18 n0tjack joined
dalek kudo/nom: 1776eea | FROGGS++ | / (21 files):
re-apply patch to add C++/NativeCall support
18:19
kudo/nom: 2b05975 | FROGGS++ | t/04-nativecall/1 (2 files):
skip test file when we cannot compile C++
kudo/nom: 27d2629 | FROGGS++ | t/04-nativecall/ (3 files):
try cl, g++ and clang++ to build/test C++ libs
kudo/nom: 77bbbea | FROGGS++ | lib/NativeCall.pm:
automatically guess C++ name mangler
kudo/nom: d9157c0 | FROGGS++ | tools/build/Makefile-JVM.in:
fix thinko in JVM's Makefile
kudo/nom: c759667 | FROGGS++ | tools/build/NQP_REVISION:
get nqp with CPPStruct support on jvm
kudo/nom: 89dd4d5 | FROGGS++ | lib/NativeCall (2 files):
add missing checks for CPPStruct in CArray/HAS
18:21 kjs__ left, kjs__ joined
bartolin moritz: thanks for the offer! at the moment i'm a bit short of time. but i'll keep the idea in mind. (if i wait some more, it might be a post for the next P6 advent?!) 18:22
moritz bartolin: ok; yes, would work for advent, but would work earlier too :-)
colomon woah, that’s a mess of C++ nativecall stuff landing in nom!
dalek c/htmlify-glr: 7a83f6a | moritz++ | t/pod-convenience.t:
Fix test; closes #123
18:25
c: 42649ba | moritz++ | t/pod-convenience.t:
Fix test; closes #123
moritz and his wrong branches
18:26 n0tjack left 18:27 n0tjack joined
dalek kudo/nom: aceec21 | FROGGS++ | lib/NativeCall/Compiler/GNU.pm:
fix symbol mangling on darwin/clang
18:29
moritz huh, doc build failed 18:30
but, but, but, I tested it before pushing :( 18:31
timotimo damn :(
18:31 n0tjack left
dalek c: 01cb035 | moritz++ | htmlify.p6:
A well-placed &flat brings us error-free through htmlify.p6 --sparse=20
18:32
moritz seems I missed this commit somehow
oh, I think I know what happened 18:33
I fixed it on one machine, and pushed
and merged the branch on another machine, without pulling first
or after pulling only master
or something
18:33 kjs__ left
dalek ast: d397bca | usev6++ | S06-multi/positional-vs-named.t:
Add reference to RT #118467 to existing test
18:38
18:38 patrickz joined
timotimo huh, dafuq? 18:40
dalek kudo/nom: 0cbba1b | FROGGS++ | lib/NativeCall/Types.pm:
re-add new/elems/list to CArray

They got lost when merging the cpp3 branch.
timotimo my num ($i, $j); - this is code-gen-ing a call to &infix:<,>
every time it gets encountered
in this random benchmark, the total of those &infix:<,> calls makes up 3.6% exclusive time :| 18:42
6.68% inclusive time, so it's actually calling still more unnecessary things 18:43
ugh, find-best-dispatchee is also called from that 18:44
18:44 telex left
dalek p: 7a04389 | FROGGS++ | src/vm/jvm/runtime/org/perl6/nqp/sixmodel/reprs/CArrayInstance.java:
implement CArray.elems on jvm
18:45
18:45 araujo left
dalek kudo/nom: 4472353 | FROGGS++ | tools/build/NQP_REVISION:
bump nqp/jvm for CArray.elems
18:45
18:45 FROGGS_ is now known as FROGGS
FROGGS .tell japhb done 18:45
yoleaux FROGGS: I'll pass your message to japhb.
18:46 telex joined
FROGGS timotimo: can't we compile a variable declaration without initializer to something less involved? 18:47
I mean, that can compile to Nil, no?
timotimo hopefully yes 18:49
oh COME ON! 18:51
18:51 yqt joined
timotimo turned the data structure from hashes to proper objects 18:51
now the number 2 spot in the routines list is occupied by find_method
skids m: my @letters = <a b c d e f>; for @letters[(0,1...*).map({die if ++$ > 30; $_ mod 6})] { $_.say; last if ++$ > 20 }; 18:52
yoleaux 16:33Z <raiph> skids: .oO ( s:g/sigilless variable/raw variable/? )
camelia rakudo-moar e19c12: OUTPUT«Died␤ in block <unit> at /tmp/2NrsTPlPkS:1␤␤»
timotimo holy wat!
removing the "num" declaration from the attributes makes all find_method calls go away and makes the whole thing a whole bunch faster
>:(
ugexe did you try yelling at it?
FROGGS try shaking it 18:53
timotimo do we have a problem in our method cache?
FROGGS not that I am aware of
18:54 n0tjack joined 18:55 lizmat left
timotimo well, it'd only be a performance problem 18:55
moritz timotimo: shouldn't it be the other way round? 18:56
timotimo hm?
moritz num attributes being more static, requiring less dynamic lookups?
timotimo correct
all of the code is going through accessors, though
those are rw accessors for native attributes 18:57
so they return attrref objects
but unrelated to this, the methods should be findable without any calls to find_method at all 18:58
18:58 n0tjack left 18:59 lizmat joined
timotimo and i really don't know why there's any calls to "find_best_dispatchee" at all in there 18:59
in any case, let me try to golf this problem real quick 19:01
i expect jnthn will be able to point me in the right direction
FROGGS yeah, jnthn is a quite exceptional pointer 19:02
19:06 aindilis left
rurban timotimo: is this a regression? 19:06
19:06 aindilis joined
timotimo no clue 19:07
i don't have a good golfed script yet
trying to start from 0 didn't trigger it, so i'll have to cut the full script i saw it in into pieces
19:09 ruoso left 19:13 telex left 19:14 telex joined
vendethiel timotimo: I still need to golf down my gtk bug as well. and report it to #moarvm :D 19:15
timotimo :(
the error seems to require a -= to be in play
FROGGS vendethiel: if you get the chance, can you build latest nqp+rakudo and do a make test?
timotimo looks at the generated code 19:16
vendethiel FROGGS: --gen-nqp=master and --gen-moar=master, then?
FROGGS I've bumped revisions
so just pull and build
timotimo a-ha! 19:19
19:20 telex left
lizmat good *, #perl6! 19:20
timotimo i think tthe find_method is actually not for the attributes
FROGGS hi lizmat
timotimo it may be for sinking instead
lizmat t/spec/S32-io/pipe.t started failing after the latest pull, is that known ?
19:20 telex joined
FROGGS huh 19:20
lizmat not ok 11 - Can talk to subprocess bidirectional
not ok 12 - Can capture stdout and stderr, and chain stdin
not ok 13 - Can capture stdout and stderr, and chain stdin
timotimo in the -= case we generate a want with a p6sink on the 'v' side; in the = case, we don't 19:21
bartolin lizmat: irclog.perlgeek.de/perl6/2015-09-13#i_11210100
timotimo potentially because we know how it'll end, or perhaps there's a bug that says we should actually be generating it?
FROGGS lizmat: is it possible that you've not pulled within the last 24 hours or so?
lizmat I just pulled and got all of the C++ goodies :-)
FROGGS ohh
nvm
timotimo and the problem is potentially made worse by AttrRef not being a full class or something similar?
FROGGS bartolin++
timotimo m: IntAttrRef.new().sink 19:22
camelia rakudo-moar aceec2: OUTPUT«(signal SEGV)»
FROGGS lol
timotimo m: IntAttrRef.new().^find_method("sink")
camelia rakudo-moar aceec2: OUTPUT«(signal SEGV)»
timotimo m: nqp::can(IntAttrRef.new(), "sink") 19:23
camelia rakudo-moar aceec2: OUTPUT«(signal SEGV)»
timotimo well, of course, just creating an attr ref like that
that's problematic
anything wants to decont it, i bet
and if it doesn't have an object and offset set ... null pointer deref!
19:23 blablabla joined
timotimo m: nqp::can(IntAttrRef, "sink") 19:23
camelia ( no output )
timotimo m: nqp::can(IntAttrRef, "sink").say
camelia rakudo-moar 447235: OUTPUT«0␤»
timotimo hm
19:24 blablabla left
timotimo m: nqp::can(Array, "sink").say 19:25
camelia rakudo-moar 447235: OUTPUT«1␤»
timotimo it shouldn't emit any "find_method" invocations if it doesn't can, should it? 19:26
or does can actually call find_method to figure out if the class can the method?
that would explain things, at least
19:26 telex left, n0tjack joined 19:27 telex joined
timotimo i've got a hunch that i could do something about this in spesh 19:30
but it'd probably be better to do it earlier?
FROGGS I dunno
19:31 n0tjack left
timotimo sinking things that can't even sink ... that's a performance problem i've seen pop up multiple times in the past 19:31
19:32 n0tjack joined, telex left
moritz but doen't we cache the absence of a method as well? 19:33
19:33 telex joined
timotimo huh, actually ... it *could* be find_method on STORE instead 19:33
timotimo puts a print statement somewhere stupid 19:34
19:36 DarthGandalf joined 19:37 Sqirrel_ joined, Sqirrel left 19:38 telex left 19:39 telex joined
timotimo it's all findmeth for 'sink' 19:40
jnthn I can haz messages? 19:43
yoleaux 12 Sep 2015 19:33Z <moritz> jnthn: I've documented the Iterator/Iterable interface to the best of my knowledge in perl6/doc; feel free to steal anything you like for S07.
12 Sep 2015 23:00Z <TimToady> jnthn: the specced syntax you were looking for is 'when * -> $a, $b, *@c { ... }' but that's not implemented yet
09:31Z <nine> jnthn: the gmr branch is now ready for a closer look.
19:43 n0tjack left 19:44 nudies joined, Peter_R left
jnthn m: sub foo(*@a) { say @a.perl }; foo([1, [2, 3]]) 19:44
camelia rakudo-moar 447235: OUTPUT«[1, [2, 3]]␤»
jnthn star: sub foo(*@a) { say @a.perl }; foo([1, [2, 3]])
camelia star-m 2015.03: OUTPUT«Array.new([1, [2, 3]])␤»
timotimo ohai jnthn :)
jnthn TimToady: I'd argue that these are correct, since .flat does respect itemization, and an Array itemizes.
19:44 telex left
jnthn TimToady: And * has been defined in terms of .flat 19:45
TimToady: If we want to define it another way we should find a name for the operation we do want it to do :)
19:45 telex joined
jnthn o/ timotimo 19:45
timotimo does giving NativeRefHOW a method find_method that only returns nqp::null() seem like a good idea for making trying to .sink it less expensive?
19:45 telex left
lizmat m: say \42; say 42.Capture # what is the difference ? 19:46
camelia rakudo-moar 447235: OUTPUT«Potential difficulties:␤ To refer to a positional match capture, just use $0 (numbering starts at 0).␤ Parenthesize as \(...) if you intended a capture of a single numeric value.␤ at /tmp/g5G7nXiahC:1␤ ------> 3say \7⏏0542; say 42.…»
jnthn Uh, why are we trying to find_method on a native ref *at all*?
lizmat apart from the warning
jnthn It's a container type
19:46 telex joined
jnthn lizmat: Nothing? :) 19:46
lizmat: Oh, wait...
lizmat: 42.Capture probably isn't very useful at all 19:47
19:47 Peter_R joined
jnthn Since it probably falls back to the object approach to unpack 19:47
lizmat yes, it does...
jnthn But there's no public attributes on an Int
I'm not sure I'd expect unpacking an Int to have a sensible interpretation though :)
moritz fwiw doc.perl6.org/ is now generated by a post-glr rakudo 19:48
jnthn \42 is equivalent to \(42) so it's just a positional arg
lizmat m: say (42, a=> 666).Capture.perl; say \(42,a=>666).perl
camelia rakudo-moar 447235: OUTPUT«\(42, :a(666))␤\(42, :a(666))␤»
moritz real13m11.531s
used to be 21min. Wow.
timotimo jnthn: we're find_method sink on something and it seemed to be related to a native attribute ref
jnthn I thought it'd be weed or an illegal pet monkey
oops
19:48 juiko joined
timotimo but now i'm finding some doubts 19:48
jnthn
.oO( Guess the topic of discussion with *that* wrong window! )
19:49
lizmat
.oO( IPM :-)
timotimo for one, i don't find "find_method" in the profile any more ... >_>
19:49 darutoko left
jnthn moritz: Wow, GLR made things faster in a large real-world thing? ;) 19:49
timotimo jnthn: oh btw, we're still calling &infix:<,> for a line like "my num ($foo, $bar);"
moritz jnthn: seems like, yes :-) 19:50
timotimo moritz: sweet!
jnthn timotimo: If we are doing a find_method on the ref itself something's up...
moritz m: say (21.5 - (13 + 11/60) / 21.5
camelia rakudo-moar 447235: OUTPUT«5===SORRY!5=== Error while compiling /tmp/npRBco9Ue2␤Unable to parse expression in parenthesized expression; couldn't find final ')' ␤at /tmp/npRBco9Ue2:1␤------> 3say (21.5 - (13 + 11/60) / 21.57⏏5<EOL>␤ expecting any of:␤ st…»
jnthn timotimo: I wonder if spesh is to blame
moritz m: say (21.5 - (13 + 11/60)) / 21.5
camelia rakudo-moar 447235: OUTPUT«0.386822␤»
timotimo jnthn: we are generating a p6sink(...) around the code that our metaop "optimization" makes
jnthn timotimo: And doesn't recognize it as a container and optimizes out the decont
timotimo gist.github.com/timo/625d44afb452bf8b8469 - this is what it looks like in --target=optimize 19:51
jnthn lizmat: Unless you've any better suggestions of what 42.Capture should do, I'm not especially sure it needs to change. .Capture is really "what should I do in an unpack scenario" 19:52
timotimo FWIW, the p6sink is also in the --target=ast
moritz wants a way to declare that a class is a value type, and then teach the optimizer not to think any expressions of that type
19:52 telex left
moritz s/think/sink/ 19:52
lizmat jnthn: I'm just surprised there is a difference between 42.Capture and \42
19:52 telex joined
lizmat they look completely equivalent to me, and are as soon as something non-scalar/pair is involved 19:53
timotimo jnthn: what would assign return in that context?
jnthn lizmat: Oh, I'd expect them to differe 19:54
*differ
lizmat: \$obj will always be a 1-arg Capture, for $obj.Capture is the interpretation of that object for unpacking
timotimo jnthn: another possible thing that's broken is that $b.vy = $b.vy - ... generates a p6store, while the -= case generates an assign op
19:54 benji_ joined
jnthn s/for/but/ 19:54
19:55 benji_ left
skids
.oO(if [...] "itemizes" what do we call what $ does in $[...]?)
19:55
jnthn skids: [[1,2],[3,4]] is identical to [$[1,2],$[3,4]]
19:55 benzen joined, cschwenz left
benzen m: for 1 { LAST { say "last"; }; next; } 19:55
camelia ( no output )
lizmat feels to me $obj.Capture in the unpacking sense, should maybe be called something else
skids But [[1,2]] is not identical to [$[1,2]].
benzen can i know if this ^^^ is a bug? 19:56
timotimo that's single-arg-rule, skids, right?
skids It is, but we need a word for what $ does there other than "itemize"
lizmat jnthn: anyways, I ran into this yesterday working with BooK on a Perl 6 version of Git::Repository
timotimo skids: [..] itemizes its contents, $[...] itemizes the container as well
jnthn skids: Why? 19:57
skids Because it's hard to describe t people.
jnthn skids: Calling the same operation two different things will surely confuse them.
FROGGS benzen: aye... though I was under the impression that I fixed that just lately :/
benzen shouldn't it print "last" even if it skips with next?
jnthn lizmat: Why?
FROGGS benzen: yes 19:58
lizmat one of the options you can give in Git::Repository, is a list of options to give to git
jnthn lizmat: I'd hope folks aren't using Capture itself all too often.
benzen FROGGS: oh, didn't know it was already noticed.
lizmat something like git => (foo => bar, baz => 42)
19:58 telex left
benzen it's is wuite some time (like 2 weeks) since i first saw it 19:58
FROGGS benzen: no, it wasn't noticed, it just happen that it was temporarily not implemented because of a refactor 19:59
lizmat jnthn: basically, you specify the parameters to an internal sub
19:59 telex joined
FROGGS benzen: and I fixed that, but obviously not good enough 19:59
lizmat jnthn: the idea was to give the named param the following signature: Capture() :$git
moritz jnthn, lizmat: a big problem (IMHO) is that some docs still say that Capture fill the ecological niche of a reference, so many programmers familiar with references try to use them 20:00
timotimo urgh, that's bad
moritz wheras I'd argue that scalar containers are closers to references
timotimo aye
lizmat jnthn: if you pass a List, the coercion to Capture works fine
moritz and even though one can argue that it's still true, it simply not a helpful comment for the user 20:01
lizmat if you pass anything else, like git => (foo => bar)
colomon where is the grammar construct defined in rakudo?
FROGGS colomon: src/core/Grammar.pm?
lizmat jnthn: you get into problems :-(
jnthn lizmat: So...use the construct that works? :)
colomon FROGGS: no, that’s just where the methods for it are. 20:02
FROGGS colomon: what are you searching for then?
jnthn lizmat: I don't think we've *ever* made the claim that \(foo) and foo.Capture are the same
colomon FROGGS: wanted to see what it looked like
FROGGS colomon: the keyword definition?
colomon FROGGS: yes
skids m: sub foo (\a, \b) { join("+",a).say; join("+",b).say }; foo($[1,2],[3,4]) # really not exactly "the same"
camelia rakudo-moar 447235: OUTPUT«1 2␤3+4␤»
lizmat so you *must* specify git => (foo => bar,)
FROGGS colomon: src/Perl6/Grammar.nqp and Actions.nqp
20:02 cschwenz joined
skids And why I ask is because I' trying to doc that better. 20:03
lizmat jnthn: I realize that claim was never made, but at first sight it feels like a TIMTOWTDI
dessert&
20:04 kjs__ joined, telex left
jnthn skids: [...] is an array composer; it will obey the single argument rule to decide what values are going into the array, then then itemize each of them 20:04
20:05 telex joined
jnthn skids: The single argument rule is the other thing you're looking for, not two words for itemization. 20:05
dalek c: 4ea75ef | paultcochrane++ | type-graph.txt:
Add Temporal entry to type-graph
skids m: sub foo ([\a, \b]) { join("+",a).say; join("+",b).say }; foo([$[1,2],[3,4]]) # now I get what you wer saying
camelia rakudo-moar 447235: OUTPUT«1 2␤3 4␤»
colomon FROGGS: almost nothing there, eh?
FROGGS colomon: there is also stuff about regex/token/rule etc... they check for their package IIRC 20:06
colomon: so it is not all in one spot 20:07
dalek kudo-star-daily: 8bf6f09 | coke++ | log/ (10 files):
today (automated commit)
[Coke] jnthn: bummed. 21.02 miles, but surprise, no curry. :| 20:08
yoleaux 15:21Z <nine> [Coke]: rt.perl.org/Public/Bug/Display.html?id=122948 is fixed as result of the GLR
15:25Z <nine> [Coke]: rt.perl.org/Public/Bug/Display.html?id=120861 is fixed as result of the GLR, too.
15:29Z <nine> [Coke]: With rt.perl.org/Public/Bug/Display.html?id=111720 I'd argue, that the current behavior is correct due to the one item rule. Array.new(@a) essentially creates a copy of @a. Thus changing @a will not affect the new array.
15:34Z <nine> [Coke]: I'm registered in RT as [email@hidden.address] When you get tired of modifying tickets for me, just give me privileges :)
15:54Z <nine> [Coke]: rt.perl.org/Public/Bug/Display.html?id=124082 seems to have been fixed in the meantime.
16:13Z <nine> [Coke]: rt.perl.org/Public/Bug/Display.html?id=123072 is fixed with commit e19c128
16:18Z <nine> [Coke]: wrong ticket number. 123072 is still open, 124342 is fixed
skids jnthn: And now I'll try to figure out how to explain that without confusing people like me :-) 20:09
jnthn skids: I took a shot at explaing the single arg rule stuff in the updated S07
moritz [Coke]: no curry sounds sad :(
jnthn [Coke]: Oh noes! :( 20:10
20:10 raiph left
jnthn cooked aloo dum this evening 20:10
20:10 n0tjack joined
[Coke] nine: i get tired quick in my old age. you're already a bugadmin, for some time. 20:10
20:10 telex left, raiph joined 20:11 telex joined
jnthn timotimo: The `my num ($i, $j);` think surely can get code-gen'd better 20:11
timotimo does that sound like something that'd go into Actions? or Optimizer?
jnthn No, I'd just at the point we spit out the Parcel spit out a QAST::Want that produces null in void context :) 20:12
s/Parcel/List/ :)
gah :)
It'll be in variable_declarator somewhere I think
timotimo ah 20:13
that sounds sane
lizmat m: sub a { dd @_, %_ }; sub b(List() :$git) { a |$git.Capture }; b git => (666); b git => (a => 42); b git => (666, a => 42) # jnthn: a solution for now
camelia rakudo-moar 447235: OUTPUT«[666]␤{}␤[]␤{:a(42)}␤[666]␤{:a(42)}␤»
20:14 nudies left 20:15 n0tjack left
nine [Coke]: ah, now I get it. When I'm logged in, I cannot use the public interface anymore but can look up by ticket number and close via Reply. 20:15
[Coke] smash++
lizmat jnthn: should Capture(List()) :$git work as a sig in the future? 20:16
m: sub a(Capture(List()) :$git) {}
camelia ( no output )
lizmat doesn't generate any error atm
jnthn lizmat: Uh...I'm not sure what nested coercion types mean :P
lizmat: But if we decide to make them mean anything than probably they'll mean what you want, yes 20:17
lizmat first coerce to List, then to Capture ?
20:17 telex left, telex joined
jnthn lizmat: Yeah 20:19
nine [Coke]: closed those tickets
cschwenz when doing testing and you have a plan $numtests; , the docs say done-testing isn't needed. is it still a good idea to have done-testing at the end of the test file? 20:21
20:21 benzen left
nine jnthn: I wrote an iterator for ArgFiles based on your IO::Handle::lines. Gives us a 3.4x speedup but it seems to have uncovered a bug: a newline at the end of a file gives us an empty string in the last iteration. I don't think it did that before. 20:21
[ptc] cschwenz: done-testing is only needed if you don't want to specify the number of tests at the beginning (e.g. when the test suite is initially being developed) 20:22
yoleaux 9 Sep 2015 14:27Z <itz> [ptc]: 99problems.t is more like 999glr-problems.t :)
15:59Z <moritz> [ptc]: I've updated the rakudobrew on hack in /home/rakudobrew to a pots-glr rakudo (+modules); please check if the examples.perl6.org rebuild still works
jnthn nine: oh, hmm
Maybe we need to test for undefined as well as eof
[ptc] moritz: the examples site uses a locally brewed rakudo, so everything should be using the current version atm 20:23
20:23 telex left
jnthn cschwenz: I tend to do either/or (that is, a plan *or* done-testing) 20:23
[ptc] moritz: however, there are probably *lots* of examples which don't work atm :-)
cschwenz [ptc]: ok, thanks! that's what i thought would be the case, but wanted to see what the perl6 community had to say about it.
20:23 telex joined
cschwenz so, plan 42; XOR done-testing; 20:24
[ptc] cschwenz: I'd also like to echo what jnthn said. It's more of an either/or thing
cschwenz: it's the same situation with Test::More in perl5, either one uses done_testing (e.g. if one is in the process of adding lots of tests), or there is a stable number of tests in which case one should use a specific test plan 20:25
moritz: thanks for the heads up btw :-)
_itz: thanks for letting me know :-) I'll have a look-see tomorrow (hopefully)(
20:26 xfix left
timotimo bleh 20:26
20:26 zakharyas joined
timotimo the version of the benchmark that uses native type annotations all over the place does 2x as many garbage collections 20:26
20:27 domidumont left
lizmat cschwenz: if you have a plan, done-testing (which in itself is a test that all tests are done). is done automatically for you 20:27
jnthn timotimo: If you can stick such a think into a gist I'd be interested to look forther
Back to relaxing... I'll be about doing Perl 6 things tomorrow; how much depends how good I am at procrastinating writing slides for my talk on Thursday... :P
&
20:28 tokuhiro_ joined
timotimo :) 20:29
20:29 telex left, telex joined, telex left 20:30 telex joined
dalek Heuristic branch merge: pushed 17 commits to rakudo/cu_load by lizmat 20:31
20:31 n0tjack joined
dalek kudo/nom: 0d47a43 | FROGGS++ | src/core/Any-iterable-methods.pm:
fire LAST phaser also when next-ing every loop
20:32
cschwenz github.com/perl6/doc/pull/124 <-- this is why i was asking about plan vs. done-testing
timotimo jnthn: gist.github.com/timo/b52c874c07d27d631bb3 - there you go
dalek c: 4e39c1d | (Calvin Schwenzfeier)++ | t/ (2 files):
As we have a plan, the deprecated "done;" can be removed.
c: e25e58a | FROGGS++ | t/ (2 files):
Merge pull request #124 from cschwenz/master

As we have a plan, the deprecated "done;" can be removed.
20:32 tokuhiro_ left
FROGGS .tell benzen just fixed the LAST issue with github.com/rakudo/rakudo/commit/0d47a436e6 20:34
yoleaux FROGGS: I'll pass your message to benzen.
vendethiel FROGGS: I can do that recompile now, do you still want that os x output?
20:34 zakharyas left
[Coke] jnthn++ # S07 20:35
FROGGS vendethiel: I only want any output when the tests are failing :o)
20:36 n0tjack left, telex left, Ven joined, telex joined 20:37 kaare_ left, kaare_ joined 20:38 juiko left
Ven FROGGS: pulled, recompiling thusly 20:38
FROGGS Ven++
timotimo jnthn: lolwtf, a *big* chunk of time - 12% - was taken by repeatedly turning $*ARGS[0] into a Numeric to compare it to the number of iterations
Ven *g* 20:39
FROGGS 12%
much wow
Ven
.oO( count your enemies, but don't spend your time doing so )
moritz timotimo: wtf where you debugging?
erm, profiling
timotimo jnthn: and with a simple .Int at the right spot, the number of GCs goes down to 340 from 476
moritz: an nbody benchmark
look at the last gist link i gave to jnthn
i'm in the mood for Igorrr now 20:40
20:41 FROGGS left 20:42 kaare_ left, telex left, FROGGS joined, telex joined
timotimo updated with the latest measurements 20:43
removing the unnecessary re-parsing of the number cut the GC runs in half in the object-based version, too
hum. but was i using the same number of runs?
FROGGS :S 20:44
timotimo yeah, i was
this is ... ridiculous
FROGGS +1
timotimo i can't believe these numbers
ah 20:47
i've made the huge mistake of git pull-ing rakudo in between
20:48 telex left
timotimo it's only 110 vs 147 and 340 vs 379 20:49
20:49 telex joined
[Coke] nine++ ticket wrangling 20:50
dalek kudo/nom: 655a455 | FROGGS++ | src/core/Any-iterable-methods.pm:
fire LAST phaser also when next-ing every loop

Now properly. The patch before this one only fixed one of three spots.
20:53
20:54 telex left 20:55 telex joined
timotimo FROGGS: are you interested in finding a good solution for my ($a, $b) generating a call to &infix:<,> that's not needed? you'd be looking into Actions.nqp inside the if $<signature> branch i expect, and Mister J suggested a QAST::Want node that returns nqp::null in the 'v' case - my first attempt to just give it a branch with nqp::null didn't work out, though 20:55
FROGGS timotimo: put in a QAST::Op.new(:op<null>) instead 20:56
timotimo er, yeah 20:57
that's what i did
FROGGS ahh, hmmm
timotimo ./perl6-m --target=mbc --output=lib/NativeCall.pm.moarvm -Ilib lib/NativeCall.pm
===SORRY!===
Type check failed in binding $short-id; expected 'Str' but got 'Any'
this is the symptom
possibly not taking care of having a = and a RHS?
FROGGS you should put the null in there when there is *no* RHS 20:58
dalek c: 5fff7bd | skids++ | lib/Language/subscripts.pod:
Document post-GLR (pre-multidim) slicing behavior and truncation
c: e086eb5 | skids++ | lib/Type/Signature.pod:
Fix example to not confuse the topic at hand with []'s internal itemization
timotimo right
FROGGS timotimo: can you show the diff?
timotimo hold on, i gotta try to restore it %)
FROGGS *g*
timotimo let's see if it still breaks or if that simple adjustment made it work 21:00
21:00 telex left 21:01 telex joined
timotimo nope, still breaks 21:02
21:04 n0tjack joined
Ven FROGGS: gist.github.com/vendethiel/3dc31ccee7ba2fd4fbd2 21:04
timotimo FROGGS: gist.github.com/timo/a9570cb6beee419ec2a1
FROGGS :D
Ven: damnit.. it still does not seem to run a single test... 21:05
Ven: can I get the output of t/04-nativecall/11-cpp.t and t/04-nativecall/13-cpp-mangling.t again? 21:06
21:06 telex left
Ven FROGGS: gist.github.com/vendethiel/7415e61ffc4783b2dceb 21:06
21:07 telex joined
moritz m: say uniname(' ') 21:07
camelia rakudo-moar 0d47a4: OUTPUT«OGHAM SPACE MARK␤»
Ven .u space jam
yoleaux No characters found
Ven :(
timotimo .u space balls
yoleaux No characters found
21:08 raiph left
FROGGS Ven: okay, that means I must study more... or get my hands on an osx box 21:08
Ven FROGGS: do you need me to run a piece of code?
moritz m: say so ' ' ~~ /\s/
camelia rakudo-moar 0d47a4: OUTPUT«True␤»
21:09 n0tjack left
FROGGS Ven: no, I'd need to experiment a bit to know what's going on 21:09
Ven FROGGS: ok :). well, if you need me to, just ask
but for now, sleep &
lizmat FROGGS: I can't give you access to an OS X box right now, but will be able to do so when we get home again 21:10
by Thursday or so
FROGGS lizmat: that'd be awesome
Ven: gnight and thanks :o)
timotimo: I'll play with your patch in a bit
I currently try to understand why cu_load does not build at all
21:11 Ven left
timotimo cool, FROGGS 21:12
dalek kudo/nom: 1bd7278 | lizmat++ | src/core/IO/Path.pm:
Fix faulty prototype
21:12 telex left 21:13 telex joined 21:14 laben joined
laben ohai #perl6 21:14
FROGGS hi laben
laben just a quick heads up before i go to bed, i'm smashed these weeks due to work 21:15
moritz Internal error: invalid thread ID 1086710784 in GC work pass
while running htmlify
FROGGS ewww
laben for those interested in JSON::RPC, i pushed an easy fix at github.com/bbkr/jsonrpc/pull/16
21:18 telex left, abaugher left, abaugher joined
timotimo laben: don't worry about putting dayjob higher on the priority list; we don't want to get notifications like "laben aborted work: hunting vermin for food" ;) 21:19
21:19 telex joined, telex left
lizmat m: sub a { .Int with $^a }; a(Str).perl.say # somehow I expect this to say Str instead of () 21:19
camelia rakudo-moar 0d47a4: OUTPUT«()␤»
21:20 telex joined
vendethiel m: say Str.Int.perl 21:21
camelia rakudo-moar 0d47a4: OUTPUT«Invocant requires an instance of type Str, but a type object was passed. Did you forget a .new?␤ in block <unit> at /tmp/yFKn3e0pMl:1␤␤»
21:21 kjs__ left
laben timotimo: XD that was good! no, really, $dayjob problem is that my boss(es) asked me to switch to another project which uses Node.js and i had (or still have?) to instruct myself in JS which is not the happies moment of my life 21:21
timotimo ah
FROGGS vendethiel: you are supposed to sleep young man! 21:22
vendethiel lizmat: the "with" is not traversed, that's correct, right? I don't think it should return its operand in the other case
timotimo "hunting vermin for food" is from Dwarf Fortress
vendethiel FROGGS: but mooom :(
timotimo at least i think i saw it there
FROGGS vendethiel: No!
vendethiel mumbles things about life being unfair
timotimo 40.media.tumblr.com/tumblr_lzsh37T...o2_500.jpg 21:23
lizmat vendethiel: I was thinking about this:
vendethiel timotimo: best excuse not to put on the table. "there are zombies in the house"
lizmat .lines(:close, |c) with self.open(|c)
if the open fails, I would like to see it returned
vendethiel lizmat: wouldn't .given be more useful there?
lizmat .given ??? 21:24
vendethiel uhm. I mean given{} :P
well, I guess you could invent a .given...
lizmat given self.open(|c) { .... and then ? 21:25
laben mmh, i'm happy to see the great majority of Star modules work OOTB. are there any last broken ones?
21:26 telex left, telex joined
vendethiel lizmat: you can "cling onto" the result with it (and just end the block with $_ I guess). But I was actually thinking of some closing mechanism (python-like "with"), so disregard my comment 21:27
lizmat I think .method with $a returning the value of $a if not defined, would be a useful idiom 21:28
vendethiel lizmat: seems a bit like andthen, in some way, maybe? 21:29
m: say Str andthen .Int
camelia rakudo-moar 655a45: OUTPUT«(Str)␤»
vendethiel m: say "3" andthen .Int
camelia rakudo-moar 655a45: OUTPUT«3␤»
laben \o/ seems like every Task::Star module is working now post-glr! 21:30
lizmat vendethiel++ 21:31
FROGGS nice, cu_load builds again
timotimo good!
21:32 telex left
vendethiel goes to sleep for real 21:32
FROGGS well, almost
lizmat m: sub a { $^a andthen .Int }; a(Str).perl.say; a(42).perl.say # still not quite what I want :-(
camelia rakudo-moar 655a45: OUTPUT«()␤42␤»
laben FROGGS++ you did it! you merged c++ native call support
21:32 telex joined
vendethiel wats 21:32
FROGGS laben: I did :o)
vendethiel m: sub a { say $^a.perl; $^a }; a(Str).perl.say 21:33
camelia rakudo-moar 655a45: OUTPUT«Str␤Str␤»
laben FROGGS: do you have any planned feature for it?
vendethiel m: sub a { say $^a.perl; $^a andthen 1 }; a(Str).perl.say
camelia rakudo-moar 655a45: OUTPUT«Str␤()␤»
lizmat bug?
vendethiel m: sub a { say $^a.perl; say $^a andthen 1 }; a(Str).perl
camelia rakudo-moar 655a45: OUTPUT«Str␤(Str)␤»
FROGGS laben: you mean if I'm going to use it for something?
laben i personally would like to know if it is possible to somehow map c++ overloading to perl6 MMD
vendethiel lizmat: ...looks like a part of it isn't returned? idk
m: sub a { say $^a.perl; return $^a andthen 1 }; a(Str).perl.say
camelia rakudo-moar 655a45: OUTPUT«Str␤Str␤»
vendethiel lizmat: ^
seems like a bug
21:34 tokuhiro_ joined
lizmat m: sub a { return $^a andthen .Int }; a(Str).perl.say; a(42).perl.say 21:34
camelia rakudo-moar 655a45: OUTPUT«Str␤42␤»
lizmat aha...
bug indeed
FROGGS laben: ohh, that's not that high on my todo list actually... I'm about binding Box2D, and well see what I need
vendethiel lizmat++ # golfing
laben FROGGS: nice work there :) i was asking because it would make using many large-sized c++ libs (like Qt) much easier 21:35
FROGGS we'll see what we can do :o) 21:36
laben otherwise i fear we need to singlehandedly map every possible call to c-tile funcs
21:36 n0tjack joined
laben s/c-tile/c-style/ 21:36
timotimo laben: i suggest using something metadata-driven to bind Qt rather than manually going at it 21:37
FROGGS my highest priority is to get the name mangling on osx right, which just seems to be a matter of a underscore 21:38
21:38 telex left
laben yeah, that's probably a better approach given its size 21:38
timotimo i forgot what it's called, but there's something like a DB that you can query via regular C function calls that should give you everything you need to build a binding
21:38 tokuhiro_ left, telex joined
lizmat commute to room& 21:40
21:40 lizmat left
laben ooh so much stuff could be done, so little time to do it :/ 21:41
21:41 n0tjack left 21:44 telex left
laben oh well, time to go to bed for real. have a good time, perl6'ers ! 21:44
21:44 telex joined, laben left
skids So, what's still special about prefix:<|> inside function call arguments? (wondering about new S07 line 159) 21:45
Ulti twitter.com/rakudoperl <--- looks mega out of date and unused...
21:46 lizmat joined
lizmat submitted a bug report about andthen behaviour: #126050 21:46
21:47 cognominal left
patrickz timotimo,laben: wiki.qt.io/PySide_Binding_Generator <- Link to API Extractor (the tool PySide uses for automated Binding generation) 21:48
masak patrickz++ 21:50
21:50 telex left, telex joined
patrickz gmake crashes here on Windows when building dyncall (during MoarVM compilation). Is that a known problem? 21:53
FROGGS patrickz: it does not crash on my box, but there is an open pull request with a fix
21:55 telex left, n0tjack joined
dalek kudo/cu_load: 0d47a43 | FROGGS++ | src/core/Any-iterable-methods.pm:
fire LAST phaser also when next-ing every loop
21:56
kudo/cu_load: 655a455 | FROGGS++ | src/core/Any-iterable-methods.pm:
fire LAST phaser also when next-ing every loop

Now properly. The patch before this one only fixed one of three spots.
kudo/cu_load: 1bd7278 | lizmat++ | src/core/IO/Path.pm:
Fix faulty prototype
kudo/cu_load: 48d00b8 | FROGGS++ | src/core/ (2 files):
Merge branch 'nom' of github.com:rakudo/rakudo into cu_load
kudo/cu_load: c0e290d | FROGGS++ | src/core/CompUnitRepo.pm:
unbreak build and fix loading modules
21:56 telex joined
FROGGS sadly, the jvm does not like cu_load... 22:01
22:01 n0tjack left
lizmat FROGGS++ 22:01
lizmat meanwhile gets some sleep&
FROGGS that's still a showstopper
gnight lizmat
22:01 telex left 22:02 telex joined
FROGGS timotimo: I'm spectesting this now: gist.github.com/FROGGS/d27a6db2039e08364828 22:04
timotimo: looks good so far
22:05 necrophcodr joined
necrophcodr after searching a few around duckduckgo and google, only to find no real answers, i have come here. is there any way to easily compile perl6 or nqp to mast, using the moarvm backend with rakudo? 22:05
FROGGS necrophcodr: yes 22:06
necrophcodr FROGGS: how?
FROGGS perl6 --target=mbc --output=Foo.pm.moarvm Foo.pm
necrophcodr ah, the target is mbc
FROGGS yeah
necrophcodr i first caught on that it would be "post", then later "mast". neither of which of course worked. thank you so much! 22:07
FROGGS you're welcome :o)
22:07 necrophcodr left, telex left 22:08 telex joined, patrickz left 22:09 dalek left, dalek joined, ChanServ sets mode: +v dalek, n0tjack joined 22:10 mohij joined
FROGGS .tell timotimo gist.github.com/FROGGS/d27a6db2039e08364828 is spectest clean... so if it improves your profile then please commit it 22:10
yoleaux FROGGS: I'll pass your message to timotimo.
FROGGS gnight #perl6
timotimo o/ 22:11
yoleaux 22:10Z <FROGGS> timotimo: gist.github.com/FROGGS/d27a6db2039e08364828 is spectest clean... so if it improves your profile then please commit it
22:11 FROGGS left 22:13 mohij left, telex left 22:14 patrickz joined, telex joined, n0tjack left 22:19 telex left 22:20 telex joined, cognominal joined, telex left, TEttinger joined
timotimo oh 22:22
well, find_method is back
24% of total time spent in find_method
22:22 telex joined
timotimo 2250000 entries in total for 30000 iterations 22:22
22:23 vendethiel left 22:28 telex left, telex joined 22:30 nowan_ joined, pmurias__ joined 22:32 rurban left 22:33 telex left 22:34 notostraca joined, telex joined, TEttinger left, dalek left, tping left, khw left, pmurias_ left, nowan left, kurahaupo_ left, inokenty left, salv0 left, [Tux] left 22:36 Peter_R left, rurban joined 22:38 rurban left
timotimo in the native version of that benchmark the "advance" function - The Big One - doesn't get jitted because param_rp_o isn't implemented in the jit 22:39
22:39 telex left 22:40 pmurias__ left, pmurias left, telex joined
timotimo oh 22:40
no, it's not The Big One; the loop inside it is.
skids m: my @a = 1,2,3,4; @a[0,(1,2),3].perl.say; # Hehe, too funny, it looks like I'm the accidental "author" of this feature. 22:41
camelia rakudo-moar 1bd727: OUTPUT«(1, (2, 3), 4)␤»
skids Question is, do we want to keep it. It does nicely eliminate the inside of [] as a magic flattening area.
22:42 n0tjack joined, rindolf left
ShimmerFairy skids: I think it has a lot of potential for quite nicely pulling values out into another, non-flat structure. :) 22:43
timotimo it's a tiny bit like hyper in that regard, eh? 22:44
masak 'night, #perl6
timotimo gnite masak! 22:45
22:45 telex left 22:46 telex joined 22:47 n0tjack left
skids It's kind of scary that the code even worked without the .flat, and not that I'm on top of everything, but didn't seem to be the source of breakage in the ecosystem. 22:47
skids wonders how it will play with multidim. 22:48
timotimo needs a ; to do anything with multidim, for a start 22:49
a fly in my bedroom >:(
loud thing
22:51 telex left
patrickz Just put my first hit at bringing Windows support back to rakudobrew here: github.com/patzim/rakudobrew 22:52
22:52 telex joined
timotimo you typo'd "Windws" in the README :) 22:52
22:52 kurahaupo_ joined
skids m: my @a = [1,2,3,4; 5,6,7,8]; @a[0,1; 0,(1,2),3].perl.say; # different code path 22:53
camelia rakudo-moar 1bd727: OUTPUT«(1, 2, 3, 4, 5, 6, 7, 8)␤»
timotimo "%~dp0rakudobrew" this looks strange to my non-powershell-understanding eyes
patrickz If anyone wants to give it a try, please do! I can't fully test myself (build ist currently broken for me on Windows due to some other bug). 22:54
@timotimo: Typo is fixed.
That strange line actually *is* tested and works. 22:55
%~dp0 is the path (without filename) of the current script (%0 + ~dp modifiers)
The / is already appended so it looks rather strange by sitting directly next to the "rakudobrew", but it works. 22:56
timotimo mhm
patrickz timotimo++ # Very fast feedback
timotimo i can't feed back on the rest of the repo, because i don't know any perl5 and i don't have windows :| 22:57
22:57 telex left 22:58 telex joined
patrickz Thanks anyways, less typos nonetheless :-) 22:58
off to bed&
23:00 patrickz left
leont was happier when he forgot about %~dp0 23:00
ugexe why use a hardcoded `perl` instead of the value of $0? github.com/patzim/rakudobrew/commi...281c7bR518 23:01
oh missed him
also $^X, not $0 :x 23:02
pink_mist isn't those perl5 things anyway?
or are they still present in 6? 23:03
*aren't
23:03 telex left
ugexe rakudobrew is perl5 23:03
23:04 telex joined
pink_mist oh 23:04
leont Possibly, it could use pl2bat instead of writing a batch script by hand 23:08
23:09 yqt left, telex left
ugexe i keep waiting for someone to do Alien::Rakudo::[Moar|JVM] so i wont end up doing it. install rakudo via cpan 23:09
23:10 telex joined
leont mst: wrote it at some point, but removed it from CPAN later 23:10
metacpan.org/release/MSTROUT/Rakud...2012.08002 23:11
Apparently the machinery wasn't as complicated as one may imagine: metacpan.org/source/MSTROUT/Rakudo...akefile.PL 23:12
23:15 n0tjack joined, telex left 23:16 telex joined
timotimo jnthn: from the spesh log of the native variant of that benchmark i can tell we're not inlining many very simple subs like &infix:<+>, &infix:<->, &infix:</> and &infix:<*> 23:17
ugexe nice. missing an important (to me anyway) part though... downloading rakudo and friends itself instead of being packaged into the module
timotimo jnthn: could this be due to something along the way not understanding regref? 23:18
leont That should not be that hard
timotimo jnthn: not even postfix ++ is inlined :( 23:19
leont HTTP::Tiny ships with perl5 nowadays (5.14+ I think), and untarring has been supported even longer
23:19 khw joined, salv0 joined, inokenty joined, n0tjack left
ugexe right. i imagine if i did it i'd probably just use Alien because it handles all that. and having it on cpan you might as well not worry too much about staying strictly core 23:20
23:21 lizmat left, telex left 23:22 telex joined
leont Sounds reasonable 23:22
23:22 telex left
leont I haven't really used the Alian::Build infrastructure myself, but it seems to be working for people 23:22
23:23 Skarsnik left
ugexe im not sure if you can download from github without SSL either 23:23
re: HTTP::Tiny 23:24
23:24 dalek joined, [Tux] joined, telex joined, ChanServ sets mode: +v dalek 23:26 Peter_R joined
leont Hmmm 23:26
File::Fetch is your friend in that case, I suspect
ugexe well i mean you likely need a dependency no matter what... Net::SSLeay or whatever 23:28
timotimo yeah, you better be verifying the certificate when you're downloading some code 23:29
23:30 telex left, telex joined
ugexe just use the ol [+] $source-file.ords checksum 23:31
and they say crypto is hard
timotimo urgh
leont F::F can use wget or curl, though its documentation is silent on its SSL support 23:32
ugexe no joke, when we were kids me and tony-o wrote a checksum program that did exactly that haha. there were even a couple of (clearly) fake reviews about it, all good 23:34
23:35 tokuhiro_ joined 23:36 telex left, telex joined 23:40 tokuhiro_ left
grondilu totally off topic guys, but the other day I watched the documentary about the new Homo species found in South Africa. It was awesome: video.pbs.org/video/2365559270/ 23:41
23:41 telex left 23:42 telex joined 23:45 aborazmeh joined, aborazmeh left, aborazmeh joined
zostay m: $_ = "x"; say "no" if ! /../ 23:47
camelia rakudo-moar 1bd727: OUTPUT«Method 'match' not found for invocant of class 'Any'␤ in block <unit> at /tmp/oQhr3XPSuU:1␤␤»
23:47 telex left, cognominal left
zostay what's the equivalent for !/.../ from perl? 23:47
timotimo m: $_ = "x"; say "no" unless /../
camelia rakudo-moar 1bd727: OUTPUT«no␤»
timotimo m: $_ = "x"; say "no" if none(/../) 23:48
camelia rakudo-moar 1bd727: OUTPUT«Method 'match' not found for invocant of class 'Regex'␤ in block <unit> at /tmp/yWOemtwqne:1␤␤»
timotimo m: $_ = "x"; say "no" if m/../
camelia ( no output )
timotimo m: $_ = "x"; say "no" if !m/../
camelia rakudo-moar 1bd727: OUTPUT«no␤»
timotimo m: say !/../
camelia rakudo-moar 1bd727: OUTPUT«Method 'match' not found for invocant of class 'Any'␤ in block <unit> at /tmp/PQx8fxZ61R:1␤␤»
timotimo m: $_ = "hi"; say !/../
camelia rakudo-moar 1bd727: OUTPUT«Method 'match' not found for invocant of class 'Any'␤ in block <unit> at /tmp/_NSMwySoD9:1␤␤»
23:48 telex joined, n0tjack joined
timotimo a bit curious 23:48
zostay that error message seems odd at least
timotimo is past bedtime again
gnite!
zostay later
japhb o/
yoleaux 18:45Z <FROGGS> japhb: done
japhb .tell FROGGS \o/ 23:49
yoleaux japhb: I'll pass your message to FROGGS.
23:52 dayangkun joined 23:53 telex left, n0tjack left 23:54 telex joined 23:59 telex left, laouji joined