»ö« 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! | feather will shut down permanently on 2015-03-31
Set by jnthn on 28 February 2015.
00:00 lizmat joined 00:04 lizmat left
flussence alright, I tried replacing the big string concatenation in HLL/Backend.nqp, only to find it hits swap death *before* even reaching that part. Not sure what's going on yet... 00:17
00:21 grettis left 00:24 anaeem1_ joined
nbdsp_ Submitted an issue report to Install::Perl5 git. 00:26
*Inline::Perl5 git.
00:27 nbdsp_ left 00:28 nbdsp left 00:30 aborazmeh joined, aborazmeh left, aborazmeh joined 00:36 pippo joined
pippo m: grammar G {rule TOP {<:alpha>}}; G.parse("a"); 00:36
camelia ( no output ) 00:37
pippo m: grammar G {rule TOP {<:alpha>}}; say ~ G.parse("a");
camelia rakudo-moar a24488: OUTPUT«a␤»
pippo j: grammar G {rule TOP {<:alpha>}}; say ~ G.parse("a");
camelia rakudo-jvm a24488: OUTPUT«cannot connect to eval server: Connection refused␤»
pippo my rakudo-j fails here ^^ 00:38
java.util.regex.PatternSyntaxException: Unknown character property name {alpha} near index 8
\p{alpha} ^
00:38 pippo left 00:47 yqt left
isBEKaml j: grammar G { rule TOP { [:alpha:] } }; say ~ G.parse("a"); 01:03
camelia rakudo-jvm a24488: OUTPUT«cannot connect to eval server: Connection refused␤»
01:11 raiph joined 01:15 vendethiel left 01:23 vendethiel joined 01:36 Su-Shee_ joined 01:39 Su-Shee left 01:49 isBEKaml left 02:08 noganex_ joined 02:11 noganex left 02:14 tinyblak joined 02:47 aborazmeh left
labster m: supersede Cool {} 03:00
camelia rakudo-moar a24488: OUTPUT«5===SORRY!5===␤Type 'Cool' is not declared. Did you mean 'Bool'?␤at /tmp/8fQODkoU6J:1␤------> 3supersede Cool 7⏏5{}␤Malformed supersede␤at /tmp/8fQODkoU6J:1␤------> 3supersede Cool 7⏏5{}␤␤»
labster m: supersede Bool {} 03:01
camelia rakudo-moar a24488: OUTPUT«5===SORRY!5===␤Type 'Bool' is not declared. Did you mean 'Cool'?␤at /tmp/YQMsgXm0Lq:1␤------> 3supersede Bool 7⏏5{}␤Malformed supersede␤at /tmp/YQMsgXm0Lq:1␤------> 3supersede Bool 7⏏5{}␤␤»
labster can't win :/ 03:02
also LTA error message 03:03
m: supersede class Cool { } 03:06
camelia rakudo-moar a24488: OUTPUT«5===SORRY!5=== Error while compiling /tmp/1FsdHYnu_S␤Cannot use 'supersede' with class declaration␤at /tmp/1FsdHYnu_S:1␤------> 3supersede class Cool7⏏5 { }␤ expecting any of:␤ generic role␤»
03:09 vendethiel left 03:20 vendethiel joined 03:26 BenGoldberg joined
flussence .tell timotimo I've got --profile-compile working, by replacing all the array concatenation with nqp::printfh. And then I ctrl+c'ed it an hour later, because it's written a gigabyte of JSON and shows no sign of stopping. 03:26
yoleaux flussence: I'll pass your message to timotimo.
03:26 aborazmeh joined, aborazmeh left, aborazmeh joined
skids m: for (while 0 { }) { }); 03:27
camelia rakudo-moar a24488: OUTPUT«5===SORRY!5===␤Word 'while' interpreted as a listop; please use 'do while' to introduce the statement control word␤at /tmp/zqnyfKdIGh:1␤------> 3for (while7⏏5 0 { }) { });␤Unexpected block in infix position (two terms in a row)␤at /tmp/…»
skids oops
m: for (while 0 { }) { }; 03:28
camelia rakudo-moar a24488: OUTPUT«5===SORRY!5===␤Word 'while' interpreted as a listop; please use 'do while' to introduce the statement control word␤at /tmp/azTCdDLNYo:1␤------> 3for (while7⏏5 0 { }) { };␤Unexpected block in infix position (two terms in a row)␤at /tmp/a…»
skids std: for (while 0 { }) { };
camelia std 28329a7: OUTPUT«5===SORRY!5===␤Word 'while' interpreted as a listop; please use 'do while' to introduce the statement control word at /tmp/vnzbhx_Jwu line 1:␤------> 3for (7⏏5while 0 { }) { };␤Unexpected block in infix position (two terms in a row) at /tmp/vnzbhx…»
dalek ecs: 20fd946 | skids++ | S04-control.pod:
Clarify comment in example.
03:37
03:37 dayangkun joined 03:40 TimToady joined 03:41 dj_goku_ left 03:44 raiph left 03:50 anaeem1_ left 03:54 lolisa joined 03:56 dayangkun left 03:57 anaeem1 joined 04:03 vendethiel left 04:07 kaare_ joined 04:24 vendethiel joined 04:29 aborazmeh left 04:33 mr-foobar left 04:34 mr-foobar joined 04:49 aborazmeh joined, aborazmeh left, aborazmeh joined 05:08 aborazmeh left 05:21 kaare_ left 05:37 lizmat joined 05:42 BenGoldberg left 05:44 vendethiel left 05:45 Psyche^ joined 05:49 Patterner left 06:01 telex left 06:02 telex joined 06:19 lizmat left 06:21 vendethiel joined, mr-foobar left 06:22 [TuxCM] left 06:28 konsolebox joined 06:42 lolisa left 06:43 yvan1 joined
timotimo flussence: hot damn, a gigabyte? 06:51
yoleaux 03:26Z <flussence> timotimo: I've got --profile-compile working, by replacing all the array concatenation with nqp::printfh. And then I ctrl+c'ed it an hour later, because it's written a gigabyte of JSON and shows no sign of stopping.
timotimo that's a bit more than i expected 06:54
07:05 [TuxCM] joined 07:06 RabidGravy joined 07:13 Ulti joined, alini joined
timotimo i've let the profile write-out run over night and it has only gathered up an hour of cpu time 07:17
flussence: did you turn --optimize=off for your profile run, ooc?
07:17 petercommand left 07:18 lizmat joined 07:19 petercommand joined 07:20 petercommand left, petercommand joined 07:21 Su-Shee_ is now known as Su-Shee
timotimo .tell flussence --optimize=off would cut out a gigantic part of the call tree, most likely, as the optimizer goes through almost the whole QAST tree that's generated for the core setting and will reflect the structure of the QAST tree almost 1:1 in its call stacks ... except it'll have an additional "walk_children" (OSLT) frame in between layers of nodes 07:23
yoleaux timotimo: I'll pass your message to flussence.
07:25 vendethiel left
timotimo i wonder where exactly these mmaps/munmaps come from 07:28
perhaps that's what malloc does for very, very big requests?
on my system the chunks that are being mmapped and munmapped are more like ¾ gigabytes big 07:30
07:30 dtscode is now known as nexiia 07:31 nexiia is now known as dtscode
timotimo yeah, i found evidence on the 'net that malloc will fall back to mmap for very big chunks of data. in this case, i expect that this comes from string memory handling 07:33
07:33 [TuxCM] left 07:35 minde joined
timotimo and the long time between the mmaps and the following brk and munmap calls is quite likely the garbage collector running through a major collection which has to go through the entire gen 2 in order to work 07:36
on the other hand, if a gigantic chunk of the data is actually string data, that wouldn't have to be touched by the gen 2 traversal 07:37
very curious
but i'm not going to attach gdb and run the heap analyzer for moarvm on it, that thing is already slow enough for just a hundred megs of ram usage %)
07:37 minde left 07:40 Celelibi joined 07:42 rindolf joined 07:47 rindolf left
tadzik [Tux]: what was that panda error you got? With X::Panda 07:51
yoleaux 17 Apr 2015 19:56Z <[TuxCM]> tadzik: gist.github.com/Tux/eb7cdda3079bcec5f8e7
tadzik hah
07:51 FROGGS joined 07:53 Rounin joined 07:54 spider-mario joined, leont joined 07:57 gfldex joined 08:02 tinyblak_ joined
tadzik [Tux]: is that only jvm? 08:04
08:05 tinyblak left 08:06 petercommand left
timotimo spam spam spam bacon eggs and spam :) 08:08
tadzik bacon lays eggs?! 08:09
:o
timotimo www.pbfcomics.com/117/
tadzik :D 08:10
08:12 darutoko joined 08:13 [TuxCM] joined
[TuxCM] o/ 08:13
08:14 FROGGS left
timotimo oh ... my lord ... 08:14
i can just lines() and ctrl-d 08:15
however, my @input = { get } ...^ "" also has a certain ring to it 08:17
m: my @sizes = 100, 110, 120, 130; @sizes >>-=>> @sizes[0]; say @sizes
camelia rakudo-moar a24488: OUTPUT«0 110 120 130␤»
timotimo i wonder why this doesn't work as i expect?
m: my @sizes = 100, 110, 120, 130; @sizes = @sizes >>->> @sizes[0]; say @sizes
camelia rakudo-moar a24488: OUTPUT«0 10 20 30␤»
timotimo this does, however
08:27 petercommand joined, petercommand left, petercommand joined
lizmat .tell FROGGS the MoarVM fix for pipes did not affect flapping of Proc::Async tests 08:33
yoleaux lizmat: I'll pass your message to FROGGS.
dalek q: 12623be | timotimo++ | answers.md:
turn a Type() into (Type)
08:37
leont nine: how about this approach stackoverflow.com/questions/2956383...with-perl, given an executable called rakudo instead of perl6 08:41
timotimo star-m: my @sizes = 100, 110, 120, 130; @sizes >>-=>> @sizes[0]; say @sizes
camelia star-m 2015.03: OUTPUT«0 110 120 130␤»
08:51 Ugator joined, Ugator left 08:57 sqirrel joined
nine leont: doesn't work right now either, because the word "perl" is contained in "perl6", so perl still tries to execute the script. 09:00
09:01 vendethiel joined, FROGGS joined
FROGGS :o( 09:02
yoleaux 08:33Z <lizmat> FROGGS: the MoarVM fix for pipes did not affect flapping of Proc::Async tests
FROGGS but yeah, that would have been too good to be true
leont that's why I suggested calling the executable rakudo ;-)
timotimo "the" executable is a shell script launcher right now anyway, so why not just cp it to two names? 09:03
just a thought
timotimo is AFK now
someone feel free to rakudobug my problem from a few lines above?
09:04 anaeem1 left
leont Also, making perl5 threat perl6 special in the hashbang would not be unreasonable at all IMO 09:09
masak +1 09:11
09:11 espadrine joined
RabidGravy Okayeeeeee, "Stage parse : 55.559" (with optimise=3) It's going down every day :-D 09:12
masak RabidGravy: that's because the universe is expanding and time itself is slowing down. :P
RabidGravy :) 09:13
09:18 anaeem1_ joined
timotimo actually, now i have an opportunity to rakudobug it myself 09:18
masak .oO( automatically flipping the bozo bit on any sentence talking about the speed of "time itself", as a service )
timotimo RabidGravy: has that always been that bad?
bartolin_ m: sub pascal { [1], { [0, @^p Z+ @^p, 0] } ... * }; .say for pascal[^10]; 09:19
camelia rakudo-moar a24488: OUTPUT«1␤1␤1␤1␤1␤1␤1␤1␤1␤1␤»
bartolin_ star-m: sub pascal { [1], { [0, @^p Z+ @^p, 0] } ... * }; .say for pascal[^10]; 09:20
camelia star-m 2015.03: OUTPUT«1␤1 1␤1 2 1␤1 3 3 1␤1 4 6 4 1␤1 5 10 10 5 1␤1 6 15 20 15 6 1␤1 7 21 35 35 21 7 1␤1 8 28 56 70 56 28 8 1␤1 9 36 84 126 126 84 36 9 1␤»
nine leont: I clearly want both :) Fixing the mishandling of perl6 in the shebang line and support for use v6; Because the latter really has no disadvantages
RabidGravy timotimo, that's about half of the absolute worst it's been in the last couple of weeks
bartolin_ ^^ that's from rosettacode.org/wiki/Pascal%27s_triangle#Perl_6 (and integration/advent2012-day04.t) 09:21
I remember breaking it a month ago (by improperly flattening values within SEQUENCE). but it was fixed afterwards. 09:22
seems to fail since 2015-04-10
timotimo RabidGravy: wow, i'm sorry about your weak computer ;) 09:23
RabidGravy I think I mash it up a bit too much "model name: Intel(R) Core(TM) i7-2630QM CPU @ 2.00GHz" 09:25
mind five years old now 09:26
09:26 vendethiel left
dalek kudo/nom: 52b2792 | lizmat++ | src/core/Array.pm:
Make Array.elems an lvalue
09:27
timotimo right
[TuxCM] any volunteer to browse what I have so far for perl6 sane-ness? github.com/Tux/CSV/blob/master/Text-CSV.pod (stop at the ################### line) 09:32
masak m: say NaN == NaN; say NaN === NaN
camelia rakudo-moar a24488: OUTPUT«False␤True␤»
masak does anyone know of any other language that makes the above distinction? (I think it's great, btw.)
timotimo m: my @sizes = 100, 110, 120, 130; @sizes = @sizes >>-<< (@sizes[0] xx 4); say @sizes
camelia rakudo-moar a24488: OUTPUT«0 10 20 30␤»
timotimo m: my @sizes = 100, 110, 120, 130; @sizes = @sizes >>-=>> (@sizes[0] xx 4); say @sizes
camelia rakudo-moar a24488: OUTPUT«0 10 20 30␤»
timotimo oops 09:34
m: my @sizes = 100, 110, 120, 130; @sizes >>->> @sizes[0]; say @sizes
camelia rakudo-moar a24488: OUTPUT«100 110 120 130␤»
timotimo m: my @sizes = 100, 110, 120, 130; @sizes >>-=>> @sizes[0]; say @sizes
camelia rakudo-moar a24488: OUTPUT«0 110 120 130␤»
tadzik [TuxCM]: gist.github.com/tadzik/966a56e13c4318269302 ¯\_(ツ)_/¯ 09:35
timotimo m: my @sizes = 100, 110, 120, 130; @sizes >>-=>> (@sizes[0] xx 4); say @sizes
camelia rakudo-moar a24488: OUTPUT«0 10 20 30␤»
timotimo since rakudo on moarvm tends to use much ram, maybe it'd be a good idea to detect the situation when moar has parts of its heap swapped out and do some extra work to make the gc run more swap-friendly 09:40
like sorting the worklists by address, roughtly?
09:40 anaeem1_ left
dalek ast: c66a66c | usev6++ | integration/advent2012-day04.t:
Fudge test ('skip') for RT #124330
09:40
synbot6 Link: rt.perl.org/rt3//Public/Bug/Displa...?id=124330
09:44 eli-se joined 10:02 anaeem1 joined, anaeem1 left 10:07 anaeem1 joined 10:12 sqirrel left 10:17 [Tux] left
tadzik a look at the current state of qt profiler: imgur.com/OqfJuwg 10:25
nine tadzik: just epic! 10:26
tadzik :) 10:28
10:29 [Tux] joined
tadzik a fraction of the current set of features for a price of a day of work and 4k lines of C++ :P 10:33
[TuxCM]: ok, reproduced :)
10:36 anaeem1 left, rindolf joined, anaeem1 joined 10:37 anaeem1 left 10:40 kaare_ joined
dalek kudo/nom: c894d84 | lizmat++ | src/core/Array.pm:
Slightly less naive Array.elems as an lvalue

Handles the case of increasing the size and making sure we have uninitialized values in there, rather than whatever was left behind before.
10:41
ast: 424a9fa | lizmat++ | S02-types/array.t:
Add some Array.elems as a lvalue tests
10:46
10:55 _mg_ joined
dalek pan style="color: #395be5">perl6-examples: c5e2c11 | paultcochrane++ | lib/Pod/Htmlify.pm6:
Extract html output dir into its own variable
10:55
pan style="color: #395be5">perl6-examples: 9e6ea27 | paultcochrane++ | lib/Pod/Htmlify.pm6:
Extract repeated html-writing code into its own routine
lizmat m: for ^1000 { my @a = ^1000; @a.elems; @a.splice(500) }; say now - INIT now 10:57
camelia rakudo-moar 52b279: OUTPUT«4.4802118␤»
lizmat m: for ^1000 { my @a = ^1000; @a.elems; @a.elems=500 }; say now - INIT now
camelia rakudo-moar 52b279: OUTPUT«0.8500177␤»
lizmat m: for ^1000 { my @a = ^1000 }; say now - INIT now
camelia rakudo-moar 52b279: OUTPUT«0.5800326␤»
lizmat m: for ^1000 { my @a = ^1000; @a.elems }; say now - INIT now
camelia rakudo-moar 52b279: OUTPUT«0.59314455␤»
lizmat m: say (4.5 - .6) / (0.85 - .6) 10:58
camelia rakudo-moar 52b279: OUTPUT«15.6␤»
Su-Shee gently pokes at the jnthn again.. ;) 11:01
11:02 anaeem1_ joined, anaeem1_ left
lizmat tinita_++ # blogs.perl.org/users/tinita/2015/04...athon.html 11:04
nine Is NativeCall actually safe to use on a 32 bit system? 11:07
dalek kudo/nom: 1ce8732 | lizmat++ | src/core/MapIter.pm:
Simplify Mapiter.BUILD
11:12
nine What would be the equivalent to size_t in NativeCall? 11:14
FROGGS nine: yes, it should be mostly safe on 32bits... we dont know about any open issue I believe 11:17
nine: size_t should be a long I guess
11:18 _mg_ left 11:19 rurban_ joined
dalek kudo/nom: 909dc43 | lizmat++ | src/core/Enum.pm:
Simplify Enum.BUILD
11:22
11:25 petercommand left
lizmat is it correct that we don't have any StrDistance spec tests ? 11:26
and do we need it as a class at all? Why not a string-distance($a,$b) sub ? 11:27
or a $a.string-distance($b) method 11:28
moritz \o
lizmat moritz o/
11:29 petercommand joined, andreoss` left 11:31 dj_goku joined
moritz huh, what's Enum.BUILD? 11:32
it's a method, not a submethod, and takes positional arguments
dalek c: f5cb7ae | paultcochrane++ | lib/Language/ (5 files):
Purge trailing whitespace
moritz m: say 'x'.uniname 11:33
camelia rakudo-moar c894d8: OUTPUT«LATIN SMALL LETTER X␤»
lizmat moritz: I just simplified the code, there is no functional difference, and the spectest is clean
on the premise it would allow for better optimized code 11:34
(compiled code)
moritz lizmat: I gathered that from the diff, but I stilled hoped you had an idea why it's different
dalek line-Perl5: a768314 | (Stefan Seifert)++ | lib/Inline/Perl5.pm6:
Fix compatibility with 32 bit systems

Fixes GH #19 Thanks to (Albert Berger)++ for reporting.
11:36
psch lizmat: irclog.perlgeek.de/perl6/2014-07-10#i_9002709 is where (parts of) the reasoning why we have StrDistance, and not a .distance method 11:38
sergot morning #perl6 \o 11:39
11:39 sqirrel joined
lizmat sergot o/ 11:39
moritz m: say 'xy'.uniname
camelia rakudo-moar c894d8: OUTPUT«LATIN SMALL LETTER X␤»
psch lizmat: iirc before that jnthn++ suggested the class because we mostly don't need the actual distance, just "did tr/// change anything?", so we can defer calculating the distance
and just return .Bool 11:40
dalek c: d741201 | moritz++ | lib/Type/Cool.pod:
Cool.uniname; uni* coercions
11:42
sergot lizmat o/ 11:52
11:54 eli-se left
timotimo bartolin_: i wonder why you marked the pascal's triangle test skip rather than todo? do we expect the test needs changing with the new semantics? 11:56
11:59 grondilu joined
grondilu m: constant primes = grep *.is-prime, 2 .. *; say primes[^10]; 11:59
camelia rakudo-moar 909dc4: OUTPUT«2 3 5 7 11 13 17 19 23 29␤»
grondilu (something like that was hanging locally) 12:00
ah nevermind it was a silly mistake elsewhere. 12:01
12:12 anaeem1_ joined, grondilu left
dalek kudo/nom: 37ec24f | lizmat++ | src/core/Mu.pm:
Make a twiddleless Mu.clone 8% faster

For 2 attribute case, larger number of attributes are probably faster still
12:21
12:22 anaeem1_ left 12:23 anaeem1_ joined, anaeem1_ left 12:29 raiph joined, anaeem1 joined
nine Please have a look at github.com/rakudo/rakudo/pull/410 Run S01-perl-5-integration spec test files if Inline::Perl5 is installed 12:32
bartolin_ timotimo: I skipped the test because the code dies atm (and the following tests are not executed). I'm not sure if the code is intended to die, now. 12:35
anyway, I opened ticket #124330 for this 12:36
synbot6 Link: rt.perl.org/rt3//Public/Bug/Displa...?id=124330
12:37 isBEKaml joined
timotimo oh, ok 12:37
thanks for clarifying
bartolin_ yw :-) 12:38
12:42 sqirrel left 12:45 aborazmeh joined, aborazmeh left, aborazmeh joined
psch nine: looks good from here, although the ===SORRY!=== from the system() maybe has too much of "huh, did something go wrong?" 12:51
nine: although afair you can't not print that and still get the exit code, except by relying on output redirects? 12:52
shell redirects, that is
hm, maybe «make install; panda rebootstrap.pl; panda install Inline::Perl5; make spectest» is a bit roundabout as well, but i don't think a integrated make target makes sense 12:54
12:54 cognominal joined 12:57 cognominal left
lizmat nine: it also broke Travis :-( 12:59
psch lizmat: that was just a timeout
lizmat ah...
psch travis-ci.org/rakudo/rakudo/jobs/59024701#L185
13:00 sisar joined 13:03 vendethiel joined
timotimo nqp-m: say(NQPMu or "foobar"); 13:04
camelia nqp-moarvm: OUTPUT«Confused at line 2, near "say(NQPMu "␤ at gen/moar/stage2/NQPHLL.nqp:493 (/home/camelia/rakudo-inst-1/share/nqp/lib/NQPHLL.moarvm:panic:105)␤ from gen/moar/stage2/NQP.nqp:921 (/home/camelia/rakudo-inst-1/share/nqp/lib/nqp.moarvm:comp_unit:872)␤ from gen/…»
timotimo nqp-m: say(NQPMu || "foobar");
camelia nqp-moarvm: OUTPUT«foobar␤»
timotimo nqp-m: say("barf" || "foobar");
camelia nqp-moarvm: OUTPUT«barf␤»
timotimo nqp-m: "foo bar baz" ~~ / ' bar ' /; say($/.pre); 13:06
camelia nqp-moarvm: OUTPUT«Cannot call method 'pre' on a null object␤ at /tmp/FzfxoJ3Y89:1 (<ephemeral file>:<mainline>:56)␤ from gen/moar/stage2/NQPHLL.nqp:1256 (/home/camelia/rakudo-inst-1/share/nqp/lib/NQPHLL.moarvm:eval:181)␤ from gen/moar/stage2/NQPHLL.nqp:1454 (/home/cameli…»
timotimo nqp-m: "foo bar baz" ~~ / bar /; say($/.pre);
camelia nqp-moarvm: OUTPUT«Cannot call method 'pre' on a null object␤ at /tmp/jyk6vLIeEF:1 (<ephemeral file>:<mainline>:56)␤ from gen/moar/stage2/NQPHLL.nqp:1256 (/home/camelia/rakudo-inst-1/share/nqp/lib/NQPHLL.moarvm:eval:181)␤ from gen/moar/stage2/NQPHLL.nqp:1454 (/home/cameli…»
timotimo nqp-m: my $/ := "foo bar baz" ~~ / bar /; say($/.pre);
camelia nqp-moarvm: OUTPUT«Cannot find method 'pre'␤ at /tmp/FjkVNZdo8K:1 (<ephemeral file>:<mainline>:56)␤ from gen/moar/stage2/NQPHLL.nqp:1256 (/home/camelia/rakudo-inst-1/share/nqp/lib/NQPHLL.moarvm:eval:181)␤ from gen/moar/stage2/NQPHLL.nqp:1454 (/home/camelia/rakudo-inst-1/s…»
timotimo nqp-m: my $result := "foo bar baz" ~~ / bar /; say($result.pre); 13:07
camelia nqp-moarvm: OUTPUT«Cannot find method 'pre'␤ at /tmp/kzwgczcsu7:1 (<ephemeral file>:<mainline>:56)␤ from gen/moar/stage2/NQPHLL.nqp:1256 (/home/camelia/rakudo-inst-1/share/nqp/lib/NQPHLL.moarvm:eval:181)␤ from gen/moar/stage2/NQPHLL.nqp:1454 (/home/camelia/rakudo-inst-1/s…»
timotimo how do i ...
13:08 isBEKaml left
psch nqp-m: my $result := "foo bar baz" ~~ / bar /; say(nqp::substr($result.CURSOR.target, 0, $result.CURSOR.from)); 13:08
camelia nqp-moarvm: OUTPUT«foo ␤»
timotimo i'm pretty sure there used to be something like that?
psch timotimo: pre seems to be Perl 6 land 13:09
timotimo aaw
ok
RabidGravy m: class Foo { method bar(Str $f) { } }; Foo.new.bar;
camelia rakudo-moar 37ec24: OUTPUT«Too few positionals passed; expected 2 arguments but got 1␤ in method bar at /tmp/7HVSZplfb7:1␤ in block <unit> at /tmp/7HVSZplfb7:1␤␤»
13:09 sftp_ joined
dalek kudo/newio: a244887 | lizmat++ | src/core/Str.pm:
Stub missing unixxxx subs for JVM

This unbusts the JVM build
13:09
13:09 dalek left, diana_olhovik_ joined
timotimo ah 13:09
prematch and postmatch
RabidGravy is it possible to change the message to say 1
13:09 cognominal joined
timotimo nqp-m: my $result := "foo bar baz" ~~ / bar /; say($result.prematch); 13:09
camelia nqp-moarvm: OUTPUT«Cannot find method 'prematch'␤ at /tmp/1oVRkqiPYy:1 (<ephemeral file>:<mainline>:56)␤ from gen/moar/stage2/NQPHLL.nqp:1256 (/home/camelia/rakudo-inst-1/share/nqp/lib/NQPHLL.moarvm:eval:181)␤ from gen/moar/stage2/NQPHLL.nqp:1454 (/home/camelia/rakudo-ins…»
timotimo aaw
13:10 dalek joined, ChanServ sets mode: +v dalek
timotimo but thanks, psch 13:10
nqp-m: my $result := "foo bar baz" ~~ / bar /; say($result.CURSOR.prematch);
camelia nqp-moarvm: OUTPUT«Cannot find method 'prematch'␤ at /tmp/hmtHLA9YR7:1 (<ephemeral file>:<mainline>:61)␤ from gen/moar/stage2/NQPHLL.nqp:1256 (/home/camelia/rakudo-inst-1/share/nqp/lib/NQPHLL.moarvm:eval:181)␤ from gen/moar/stage2/NQPHLL.nqp:1454 (/home/camelia/rakudo-ins…»
dalek Heuristic branch merge: pushed 82 commits to roast/newio by lizmat
timotimo :(
13:10 sftp left, sftp_ is now known as sftp
RabidGravy I know *why* it says 2 but the user shouldn't care about the implcit one on methods 13:10
timotimo nqp-m: my $result := "foo bar baz" ~~ / bar /; say($result.from); 13:11
camelia nqp-moarvm: OUTPUT«4␤»
timotimo no need for the .CURSOR at least
psch m: my method foo (Str:U: $) { }; foo()
camelia rakudo-moar 37ec24: OUTPUT«Too few positionals passed; expected 2 arguments but got 0␤ in method foo at /tmp/RcebMyvClK:1␤ in block <unit> at /tmp/RcebMyvClK:1␤␤»
13:11 anaeem1 left
psch RabidGravy: considering you can do that ^^^, i think we should keep the implicit in the count 13:11
RabidGravy ah 13:12
psch .oO( expected 1 argument but got -1 )
13:16 sisar left
lizmat gives up again on trying to make @*INC lazy 13:17
.oO( would have been nice to get bare startup from 0.18 to 0.10 seconds )
13:18
13:20 alini left 13:24 aborazmeh left
dalek kudo/nom: 914abb6 | peschwa++ | src/ (2 files):
Simplify smart match code gen.

Providing an accepts method for StrDistance allows removal of special casing for the tr/// in make_smartmatch. Additionally it seems to be negligibly faster (~.003 less D misses, according to cachegrind).
13:26
13:30 mr-foobar joined
psch timotimo: re #124331: 13:31
synbot6 Link: rt.perl.org/rt3//Public/Bug/Displa...?id=124331
psch m: my @sizes = 100, 110, 120, 130; @sizes >>+=>> @sizes[0]; say @sizes
camelia rakudo-moar 37ec24: OUTPUT«200 310 320 330␤»
psch timotimo: i think that means the RHS doesn't get thunked? 13:32
m: my @sizes = 100, 110, 120, 130; @sizes >>+=>> @sizes[0]<>; say @sizes
camelia rakudo-moar 37ec24: OUTPUT«200 210 220 230␤»
13:32 travis-ci joined
travis-ci Rakudo build failed. Pepe Schwarz 'Simplify smart match code gen. 13:32
travis-ci.org/rakudo/rakudo/builds/59028423 github.com/rakudo/rakudo/compare/3...4abb69866f
13:33 travis-ci left
psch those darn containers 13:33
*shakes fist*
"fatal: The remote end hung up unexpectedly" says travis
13:33 diana_olhovik_ left
lizmat psch: shouldn't the ACCEPTS be self.Bool ? 13:35
skids m: say (-4 ~~ &abs); given -4 { when &abs -> $a { "$_ $a".say } } # Maybe this should be specced/designed to work?
camelia rakudo-moar 37ec24: OUTPUT«4␤Too few positionals passed; expected 1 argument but got 0␤ in block at /tmp/2OZCKJ9lHF:1␤ in block <unit> at /tmp/2OZCKJ9lHF:1␤␤»
psch lizmat: i don't think so, consider: if $a ~~ tr/a/b/ > 2 { } 13:36
(potential precedence mixup aside)
13:37 grondilu joined
timotimo yo flussence, i may need your support, i'm getting strange errors regarding nqp::writefh 13:37
skids
.oO(Hah, total coincidence othe folks were talking about closely related matter.)
13:38
grondilu first is very useful but I whish there was a quantitative adverb n to get "the n firsts"
lizmat psch: hmmm... looking at almost every other ACCEPTS method we have, I see Bool being returned 13:39
timotimo oooh, i am a giddy goat
psch lizmat: fwiw, i think $a ~~ tr/// a special case of $a ~~ &sub, and Code.ACCEPTS returns the result of the sub 13:40
lizmat psch: related question: why are you coercing :$!before, but not :$!after ? 13:41
psch lizmat: $!after is the result of the .trans call on $!before 13:42
around line 6180 in Actions.nqp
lizmat: and .trans returns nqp::p6box_s(...) 13:43
and nqp::join(...) respectively
i suppose that should be boxed too, right? 13:44
lizmat ok, but basically what StrDistance is, is the building block of the Levenshtein functionality, no ?
psch lizmat: right. with defered distance calculation
lizmat so we could use this e.g. to find out methods to suggest when a method is not found
(at runtime)
psch yeah, definitely 13:45
lizmat ok, so maybe we should make it more general purpose and make sure :after is also coerced to Str :-)
psch i think so, yeah. i'd probably even rename the attributes 13:46
"before" and "after" only really make sense when it's tr/// specific
13:46 rivarun is now known as Guest59419, Guest59419 left 13:47 rivarun joined
lizmat psch: have you ever looked at src/Perl6/World.nqp, line 56 and following ? 13:48
psch lizmat: yeah, i have. but i didn't think calling into world to get the distance was sensible 13:49
lizmat: considering i either 1) have to write a sub or class anyway or 2) generate a giant AST
that aside i'm also not quite sure how that's done in the first place, probably gethllsym('$*W') or something?
i do admit that it's a bit unfortunate to have the same algorithm in two places in CORE 13:50
lizmat yeah, I was thinking about lifting it to P6 level many times in the past and make it a generic Perl 6 functionality 13:51
13:52 cognominal left
psch wouldn't that delay some things to runtime that can be compile time with having it in World? 13:53
lizmat if it's in core, it's all precomped anyway
psch e.g. if "Did you mean...?" depends on having a Perl 6 runtime we can't error with that at compile time
psch might be mixing up levels there 13:54
lizmat why not?
compile time for your module, is runtime for the CORE settings
psch oh, of course
lizmat museum& 14:03
14:04 lizmat left
dalek p: 466d719 | timotimo++ | src/vm/moar/HLL/Backend.nqp:
write out json pieces directly; allow .json profile filenames
14:06
14:07 leont left, [TuxCM] left 14:10 travis-ci joined
travis-ci NQP build failed. Timo Paulssen 'write out json pieces directly; allow .json profile filenames' 14:10
travis-ci.org/perl6/nqp/builds/59031120 github.com/perl6/nqp/compare/f51bf...6d719b7fec
14:10 travis-ci left
timotimo hmm 14:11
psch impolite remote end...
timotimo is that what happened? 14:12
14:12 FROGGS left
timotimo ah 14:12
psch yes, it hung up unexpectedly :P
timotimo it was so far away from the failure report that i didn't see 14:13
i wonder how long the core setting profile run is going to take still
it's at 1h 17m now
^C2314.93user 2352.11system 15:06:20elapsed 8%CPU (0avgtext+0avgdata 7693936maxresident)k 14:14
i killed it, as you can see
14:14 eli-se joined
psch is that 7.6g ram? 14:14
eli-se
.oO(multithreaded merge sort is a Divide & Concur approach to sorting)
timotimo yes, that's all the ram i have 14:15
plus a whole lot of swap 14:16
skids eli-se: you may also want to look at cubesort, it has some benefits. 14:24
eli-se I want to implement distributed merge sort.
skids eli-se: Why merge-sort in particular? 14:25
eli-se For fun!
I have only ever implemented a non-inplace quicksort ripoff.
Which was in APL. Nice but boring.
jnthn afternoon, #perl6 14:28
jnthn is way behind on backlog...
Su-Shee pushes everybody else aside.. :) 14:33
14:34 cschwenz joined
TimToady m: my @sizes = 100, 110, 120, 130; @sizes X-= @sizes[0]; say @sizes; 14:34
Su-Shee jnthn: I just need a yes or no and no code! ;) can you possibly switch talk times with me in oslo? I'm sunday later after noon and I have to catch a flight :)
camelia rakudo-moar 914abb: OUTPUT«0 10 20 30␤»
jnthn Su-Shee: I didn't even see the schedule yet :) 14:38
14:38 isBEKaml joined
jnthn Su-Shee: Provided it doesn't make me conflict with myself, it should be fine :) 14:38
14:39 eli-se left
Su-Shee jnthn: it should not, we have both two talks, with an hour in between and yours are sunday before noon and mine are sunday after noon. :) 14:39
jnthn Su-Shee: Just looked and seems like swapping actually gives me more time between my talks :)
Su-Shee jnthn: you wouldn't even have to get up early in the morning!1! :) 14:40
jnthn o.O :D
14:40 LonelyGM joined
jnthn Su-Shee: Which of my slots are you looking to swap with? 14:40
the 11:00 one of the 13:00 one? 14:41
*or
Su-Shee jnthn: well that is a selling point to many people :)
jnthn:ideally both :)
I have 14 and 16
jnthn Oh...
Sorry, was only looking at the Perl track, misunderstood you have two :) 14:42
OK, I'm totally fine with it.
That means I get a break between the two :)
Su-Shee jnthn: really? no flight to catch on sunday?
jnthn Su-Shee: No
Su-Shee jnthn: oh that is so awesome, thank you very much. I propose it to the oslo folks :) 14:43
jnthn Su-Shee: I've got a class in Gothenburg on Tuesday so will head down there sometime on Monday afternoon/evening.
Also the swap means I'm not talking at the same time as arnsholt++ :) 14:44
14:45 Perl7 joined
Perl7 Perl6 is badly done. Better clean up and launch Perl7 14:46
Su-Shee jnthn: and I wouldn't collide with abigail and markus ramberg which have related talks to my subjects..
Perl7 (If MS can jump from MS8 to MS10, why can't perl?)
Su-Shee jnthn: also, then I can see hopefully your concurrency talk :)
Perl7 (Badly done as in cannot sell)
isBEKaml OH HEY - someone from the future!?!?! 14:47
hello, Perl7!
Perl7 Oh yes, i have come back in time to tell you people some news!
Su-Shee jnthn: I told sjn and krunen and I hope they agree. oslo is so expensive for me that I had to cut my stay a bit short.
isBEKaml Su-Shee: don't organizers provide discounted/free stay for talk delegates? 14:48
Perl7 First, Java has turned into a kids toy, which they would rather play with Go.
Second, Python and Ruby pretty much gone teeth to teeth, and they... merged together in a weird way 14:50
Su-Shee isBEKaml: that wouldn't make the stay more cheaply, some locations simply are really expensive and oslo is one of them. 14:51
isBEKaml: then it just hits somebody else's budget..
isBEKaml Su-Shee: Yeah, I heard Oslo being really expensive to stay - but I didn't know the difference to be huge compared to other European cities 14:52
Perl7 Third, HTML, CSS, JS etc. all turn into a single "Internet Language"
Fourth, Lisp family will make a huge come back with Julia, Dylan etc. 14:53
isBEKaml Su-Shee: doesn't matter now - good that you were able to work out something
Su-Shee isBEKaml: well it's around 100 euros more or less and I try to stay within a for me affordable open source conference budget but still get a day of a nice location in to see some art :) 14:54
well. and in oslo to buy coffee.
arnsholt We do have excellent coffee 14:55
Su-Shee: What are your planned coffee stops? 14:57
Perl7 isBEKaml: Remember, in a world of viral marketing, making yourself look good will give you the edge to win
14:57 petercommand left
jnthn Su-Shee: I think Oslo is expensive for everyone. 14:57
Su-Shee: Anyway, hopefully the swap works out. :) 15:00
15:01 petercommand joined
Su-Shee arnsholt: tim wendelbroe and I definitely need to bring home solberg & hansen 15:01
arnsholt Good picks, good picks 15:02
Another good one is Java
Su-Shee arnsholt: it's even better, I'm like 15 minutes away on foot from wendelbroe/mathallen :)
arnsholt I think I prefer the cappuccino at Java over Tim Wendelboe's (but really hard to decide, really) 15:03
Su-Shee arnsholt: I can have about three large, strong coffees per day so I can certainly add more options :)
arnsholt: do you have a location for Java?
arnsholt It's in Ullevålsveien, don't remember the number off-hand. 'Sec 15:04
Number 47
By Sankthanshaugen, if you're familiar with the different parts of Oslo
Su-Shee arnsholt: no, I'm not, will be my first time in oslo.. 15:06
arnsholt: I'm in sven bruns gate.
arnsholt It's a bit of a walk from Mathallen, but not too far
15:06 brrt joined
Su-Shee arnsholt: everything under 10km is "oh I just walk there" for me ;) 15:06
arnsholt Then it'll be fine, yeah =) 15:07
Su-Shee ah, ridiculous.. google maps says 10 minutes walking, so it's usally 8.
perfect :)
arnsholt: I also need to bring home walter's mandeler chocolate of course. ;) 15:08
arnsholt Oh, yes! 15:09
flussence o/
yoleaux 07:23Z <timotimo> flussence: --optimize=off would cut out a gigantic part of the call tree, most likely, as the optimizer goes through almost the whole QAST tree that's generated for the core setting and will reflect the structure of the QAST tree almost 1:1 in its call stacks ... except it'll have an additional "walk_children" (OSLT) frame in between layers of nodes
timotimo flussence: i've got it running locally and pushed a commit to nqp that makes things a bit nicer 15:10
among other things, you can --profile-filename=foo.json and get json without the html template
oh 15:11
it kind of seems like i broke that feature ?!
flussence timotimo: did you see the pull request I sent for nqp?
Perl7 Is the people who own the channel "dead?
timotimo i did not
flussence try that ;) 15:12
timotimo i see yours is better
especially the part in Compiler.nqp 15:13
i didn't notice that was missing in my implementation
dalek p: 783bf9a | timotimo++ | src/vm/moar/HLL/Backend.nqp:
Revert "write out json pieces directly; allow .json profile filenames"

This reverts commit 466d719b7fec402f80f8291e237fb7a295e68fd3.
  flussence++ made a better pull request
15:14
15:14 alini joined
p: f1837f7 | (Anthony Parsons)++ | src/HLL/Compiler.nqp:
Pass profile-filename arg to profile-compile
p: 1c4e73e | (Anthony Parsons)++ | src/vm/moar/HLL/Backend.nqp:
Make dump_profile_data much less likely to OOM

This alters the to-json logic so that, instead of building one massive list of string bits and writing it all in one go, it flushes chunks of 12KB or so to disk at a time. This makes it possible to --profile-compile the core setting in about 10GB of RAM rather than 40+.
I've also added a feature where specifying a --profile-filename ending in .json causes it to write as plain JSON instead of using the HTML wrapper. This is a
  tiny bit faster, and may be useful if you want to poke at it with different
tools. The aforementioned --profile-compile generates *hundreds* of megabytes of JSON; you're never going to get that to load in a browser.
p: 4aff120 | timo++ | src/ (2 files):
Merge pull request #233 from flussence/master

An attempt to reduce --profile's memory usage
timotimo you said the profiler will build more than a gig of data?
flussence yay, dalek survived my essay
and yeah, I gave up waiting after an hour or so... 15:15
timotimo well, at least it reaches almost 90% of cpu usage on my desktop now
flussence I didn't know about --optimize=off though, can go try that now.
timotimo 12.5 gig of virtual memory
oh, that'll make a very big difference
i suspect it'd basically cut the result in half 15:16
flussence yep, 12.5's exactly the number I got too
timotimo since you're already ankle-deep in the profiler, maybe you can have a look at the branch that introduces a maximum call graph depth after which nodes will be summarized
i couldn't get it to report accurate results
15:16 xfix joined 15:18 travis-ci joined
travis-ci NQP build failed. timo 'Merge pull request #233 from flussence/master 15:18
travis-ci.org/perl6/nqp/builds/59036431 github.com/perl6/nqp/compare/783bf...ff1208fdf4
15:18 travis-ci left
timotimo "connection timed out" 15:18
15:19 travis-ci joined
travis-ci NQP build failed. Timo Paulssen 'Revert "write out json pieces directly; allow .json profile filenames" 15:19
travis-ci.org/perl6/nqp/builds/59036412 github.com/perl6/nqp/compare/466d7...3bf9a0132f
15:19 travis-ci left
timotimo and again 15:19
15:22 rurban_ left
b2gills m: my @a = ^100; @a.elems = (^*).pick; say @a; 15:28
camelia rakudo-moar 914abb: OUTPUT«Method 'Int' not found for invocant of class 'Any'␤ in block at src/gen/m-CORE.setting:11077␤ in block <unit> at /tmp/xN6QNpVJhg:1␤␤»
b2gills m: my @sizes = 100, 110, 120, 130; @sizes >>-=>> my $ = @sizes[0]; say @sizes
camelia rakudo-moar 914abb: OUTPUT«0 10 20 30␤»
15:30 sqirrel joined, Perl7 left
cschwenz Two questions for all of #perl6: 1) What modules from modules.perl6.org/ are considered to be good examples of how to author a Perl 6 module? 2) What modules from the same list exhibit good Perl 6 coding practice? (I want to use the answers to both of these questions to learn the Perl 6 way of doing things.) 15:34
masak cschwenz: github.com/moritz/json/ comes up often as a nice, small "ideal module". 15:35
moritz++ # JSON::Tiny 15:36
DrForr Nod, that's the layout I followed (roughly) for my Grammar::ECMAScript.
masak by the way, I just saw the logo for Template::Mustache. that's now officially The Best Module Logo. :) 15:37
cschwenz @masak: okay, thanks! i'll checkout JSON::Tiny… :-) 15:38
masak is not @masak -- only when he needs to kick people off the channel :P
isBEKaml blams twitter and github for @name-calling-everyone
*blames 15:39
cschwenz hmm, didn't known @ had a different meaning in IRC. :-/
masak cschwenz: happy to contribute that knowledge :) it means "channel operator"
cschwenz ohhhh :-D 15:40
masak and + before the name means "bot", I think.
psch + means +v, usually
RabidGravy yeah 15:41
psch which means when the channel has +m set, people with +v can still talk
where +m is "moderated"
DrForr +m - moderated, +v - voice
psch and +v voice
masak oh, nice. I didn't know that :)
anyway, only four bots on this channel have a + on them 15:42
m: say Promise.^methods 15:43
camelia rakudo-moar 914abb: OUTPUT«BUILD vow keep break result cause then start in anyof allof Bool -> (Mu:D \fles: *%_) { #`(Method+{<anon>}|66346952) ... } -> (Mu:D \fles: *%_) { #`(Method+{<anon>}|66347104) ... }␤»
15:44 skids left
psch \fles? 15:44
jnthn m: say 'fles'.flip
camelia rakudo-moar 914abb: OUTPUT«self␤»
jnthn Well, that's another way to do the "that" pattern :)
masak bleh. 15:45
15:46 eli-se joined
cschwenz sightly related to perl6, how would you convince someone to transition to Modern Perl (possibly as a stepping stone to perl6)? (background: this person thinks 1998 to 2001 Perl 5 is where it's at and the more modern stuff is borderline heresy. :-/ ) 15:46
masak cschwenz: it's usually not a good idea to make convincing other people a necessary part of any larger plan.
isBEKaml \fles - jeez, just as I was thinking it can't read like "mud flies..." 15:47
masak cschwenz: the general solution to the problem you describe is to wait for the new generation of people to supplant the old.
cschwenz got it 15:48
isBEKaml cschwenz: masak++ here is talking about world domination!
masak I thought that much was obvious.
cschwenz i was hoping there was a path i hadn't thought of to gently guide someone down to enlightenment
masak cschwenz: can't change other people. sorry. 15:49
moritz give 'em a copy of Modern Perl, and hope they read and like it?
isBEKaml masak: world domination is rough - kinda like blasting earth to create the new express hyperspace
jnthn People *can* learn and change, but only if they care to.
DrForr The lightbulb has to *want* to change. 15:50
RabidGravy :) 15:52
ugexe lead by example. let them figure out on their own they are hurting themselves. otherwise let them hurt themselves, because there is nothing wrong with wanting to learn from your own mistakes
Su-Shee cschwenz: find out what it is exactly they like about that kind of perl 5 style (I have a couple of suspicions) and show them that style (cleaned up version) in modern p5 and p6.
cschwenz: usally it's about the directness of the old style, the ease of procedural programming and such. 15:53
15:57 brrt left
RabidGravy there are some people who just don't *get* OO programming, there was nothing stopping you from doing it in the period mentioned - "Object Oriented Perl" was published in 2000 15:58
Su-Shee modern perl isn't necessarily about OO. 15:59
also, old school programs aren't necessarily bad, they're possibly just old school.
psch if it ain't broke... 16:01
RabidGravy now but I would say Modern Perl is about OO 16:02
psch although perl5 from ~2000 might be considered somewhat broke i think? i'm not terribly familiar with that era of perl
i guess that's reiterating ugexe++'s advice 16:03
16:04 sqirrel left
Su-Shee RabidGravy: considering that much perl is about evented stuff and functional principles and not OO at all.. 16:04
also, many people don't want the heavy weight magic super featurezz stuff anymore, so there's also a different school of modern perl... 16:05
16:05 cschwenz left
b2gills m: my @a = ^100; #`( this needs to be here for it to work) @a.elems; @a.elems = (^*).pick; say @a; 16:07
camelia rakudo-moar 914abb: OUTPUT«␤»
b2gills m: my @a = ^100; #`( this needs to be here for it to work) @a.elems; @a.elems = (^*).pick; say @a;
camelia rakudo-moar 914abb: OUTPUT«0 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44 45 46 47 48 49 50 51 52 53 54 55 56 57 58 59 60 61 62 63 64 65 66 67 68 69 70 71␤»
b2gills m: my @a = ^100; @a.elems = (^*).pick; say @a;
camelia rakudo-moar 914abb: OUTPUT«Method 'Int' not found for invocant of class 'Any'␤ in block at src/gen/m-CORE.setting:11077␤ in block <unit> at /tmp/GaQrypwFyR:1␤␤»
b2gills lizmat: ^^ the .elems code still needs some work 16:08
16:09 tinyblak_ left
jnthn @a.elems is an l-value?! 16:11
jnthn never knew :) 16:12
b2gills It is now on Array
jnthn Is that in the design docs somewhere?
b2gills I doubt it
masak we just *implemented* it?
psch m: my @a = ^10; @a.elems = 5; say @a # ...?
camelia rakudo-moar 914abb: OUTPUT«(Any) (Any) (Any) (Any) (Any)␤»
jnthn Well, maybe there was good discussion at some point :) 16:13
jnthn is behind on backlog
masak was it a good discussion if it ended up making .elems an l-value? :P
masak is probably biased or something
b2gills m: my @a = ^10; @a.elems; @a.elems = 5; say @a # ...? 16:14
camelia rakudo-moar 914abb: OUTPUT«0 1 2 3 4␤»
psch huh
ab5tract RabidGravy: inasmuch as Modern Perl centers on OO, it does so with Moose or a Moose-a-like. Which, incoincidentally, started as a backporting of Perl 6 OO into Perl 5.
psch Array::elems is a Proxy that calls List::elems in FETCH
b2gills The same construct is an lvalue in Perl5 ` $#array = 5 `
psch and List::elems calls self.gimme(*) 16:15
masak maybe there were spectests that wanted this...
psch m: my @a = ^10; @a.gimme(*); @a.elems = 5; say @a # ...?
camelia rakudo-moar 914abb: OUTPUT«0 1 2 3 4␤»
psch so i guess Array::elems STORE has to call that too
ab5tract I hadn't quite thought about it in those terms before.
psch m: my @a = ^10; @a.gimme(*, :sink); @a.elems = 5; say @a # ...? 16:17
camelia rakudo-moar 914abb: OUTPUT«0 1 2 3 4␤»
psch i suppose $!nextiter.reify should be enough, actually 16:18
in Array::elems STORE
jnthn Yes, .elems on a lazy list has side-effects
psch jnthn: right, but Array::elems STORE doesn't call List::elems, while FETCH does, which is why the rvalue elems is needed once to not empty the list 16:19
masak there does not seem to be any preceding discussion in the backlog.
psch but i guess that means having a reify in the STORE is perfectly fine, 'cause we bail anyway if it's infinite
16:20 xfix left, flussence joined, MARTIMM joined
masak I also don't see any spectests about .elems being an lvalue. 16:20
b2gills It is something that was occasionally useful in Perl 5 16:24
16:27 cschwenz joined 16:30 Su-Shee left
b2gills It certainly seems easier to do `@a.elems = { $_ * 2 }` than `@a.push( Any xx @a.elems )` and `@a.elems = */2` vs `@a.splice(*/2)` seems like a tie. 16:32
16:33 colomon left
timotimo why do you write = { $_ * 2 } instead of *= 2? is that about not causing a FETCH before the STORE? 16:33
16:33 colomon joined
b2gills also you wouldn't have to figure out if @a was bigger or smaller than 5 for `@a.elems = 5` 16:33
` { $_ * 2 } ` seemed cleaner than ` * + * ` or ` * * 2 ` 16:35
timotimo right, but the = operator doesn't work like that :)
psch m: my @a = ^5; @a.elems; @a.elems = { $_ * 2 }; say @a
camelia rakudo-moar 914abb: OUTPUT«0 1 2 3 4 (Any) (Any) (Any) (Any) (Any)␤»
b2gills it does if its implemented with a Proxy ( which it is ) 16:36
timotimo um ... well i guess elems does work like that
psch m: my @a = ^5; @a.elems *= 2; say @a
camelia rakudo-moar 914abb: OUTPUT«0 1 2 3 4 (Any) (Any) (Any) (Any) (Any)␤»
timotimo it allows passing a callable, that part i've missed 16:37
16:37 flussence left
ab5tract It seems like something that would be more appropriately implemented as a method. @list.trim(50) ~~ @list = @list[^50] # something like this? 16:38
Hmm... or I am totally missing what is happening to @a when @a.elems is an l-value 16:39
psch m: my @a = ^10; +@a; +@a = 5; say @a 16:40
camelia rakudo-moar 914abb: OUTPUT«WARNINGS:␤Useless use of "+" in expression "+@a" in sink context (line 1)␤0 1 2 3 4␤»
psch m: my @a = ^10; +@a = 5; say @a # the warning is wrong!
camelia rakudo-moar 914abb: OUTPUT«(Any) (Any) (Any) (Any) (Any)␤»
jnthn If you write code that makes the warning wrong, then it's you that's wrong, not the warning. 16:42
psch jnthn: no, there's a bug in Array::elems :/
jnthn I can with with .elems being assignable sort of, but it should in no way leak to .Numeric.
psch jnthn: Numeric calls elems
jnthn Right, but Numeric should be decontainerizing the result... 16:43
(e.g. not be marked "is rw")
It's possible that that doesn't happen correctly on a Proxy, mebbe.
So that's probably the bug.
b2gills perhaps a simple ` my $ = self.elems ` in List.Numeric would fix that
jnthn Does List.Numeric have "is rw" on it? 16:44
If not, I think it's simply a "we fail to decontainerize" bug.
b2gills It just returns the proxy from Array.elems
jnthn But the proxy should not escape if it's not marked "is rw"
It should have its FETCH called at the point of Numeric returning the value
We may be cheating somehow though. 16:45
b2gills I can see it being useful both ways
jnthn Well, if you want the Proxy to escape then you must write "is rw"
If it's escaping without that it's a bug.
And it certainly should not be escaping from Numeric. 16:46
timotimo we should have a recont_ro?
jnthn Yes, but I think that may only know what to do with a Rakudo Scalar.
b2gills I think of `is rw` as basically just a nice way of writing a Proxy
timotimo ah 16:47
perhaps that's the problem, yeah
jnthn b2gills: Then you think wrong.
b2gills I didn't think that was how it was implemented 16:48
jnthn If you return a Proxy from something not marked "is rw" then you're (by design, though maybe not in Rakudo yet) asking for FETCH to be called on it.
16:48 flussence joined
b2gills I don't remember coming across a single Routine in Rakudo that has both `is rw` set and Proxy.new 16:51
jnthn Then I'd better fix things sooner rather than later so we can flush out the mistakes. :) 16:52
timotimo ah! 16:53
the profile of core setting compilation is through
16:53 _mg_ joined
timotimo just 1.4 gigs of json 16:53
flussence timotimo: I've just gave up on the --optimize=off run, it messed things up to the point where I needed a reboot 16:54
timotimo oh wow 16:55
sorry to hear that
flussence I wonder, would deleting bits of the data as they're written out help much?
timotimo now how do i get the beginning of the data thrown out?
i don't understand what you mean?
oh, i do understand what you mean
i had that thought at the beginning, too
would be interesting to try
flussence does
timotimo could potentially make things shrink, except that stuff lands in the gen2 for sure 16:56
and the gen2 doesn't get compacted, so it only shrinks by virtue of the free list and perhaps throwing out completely empty pages
flussence my hope there is that it'll free enough empty pages that the OS will have enough breathing room to not fall over 16:57
16:57 _mg_ left
flussence
.oO( maybe we should've just used CSV and post-processed that into json... )
16:57
timotimo i don't know if the gen2 will throw out *any* data at all
rather than just making space free for new data 16:58
but the working set will shrink for the GC runs
b2gills
.oO( when I see flussence and timotimo talking to each other it seems like someone talking to themselves since they are both purple on my irc client )
16:59
16:59 FROGGS joined
timotimo at least there's a letter more in flussence than there is in timotimo 17:00
17:00 lizmat joined
timotimo the 1.4G big profile shrinks to 54 megabytes when gzip'd 17:00
flussence b2gills: I thought upgrading to 256 colours would fix that on my end, it just gives me very subtly different shades of the same colours now :( 17:01
b2gills well you are a slightly lighter shade of purple, but on a white background its fairly negligible. 17:03
17:04 Rounin left 17:05 lizmat_ joined, lizmat left
masak I think assigning .elems to a callable is way too much magic. 17:08
jnthn I could see it on a .resize(callable) method or so.
masak I'm surprised that the introduction of such a feature was preceded by zero discussion. 17:09
lizmat_ masak: it was -OFun
17:09 lizmat_ is now known as lizmat
jnthn Well, remember there's a hackathon in Berlin with many 6-folks there. 17:09
So it may have been discussed there.
Anyway, I suspect TimToady++ will weigh in with something insightful.
17:09 davido_ left
masak hope so. 17:09
17:10 davido_ joined
masak "you think it's cute today" is my review of `@a.elems = { $_ * 2 };` 17:10
17:10 zakharyas joined
dalek kudo/nom: 3474e0f | lizmat++ | src/core/Array.pm:
Increase my commit rate
17:10
ab5tract I do have to say, as -OFun it is an impressive bit of code 17:11
dalek ast: 0c7ef0c | lizmat++ | S02-types/array.t:
Increase my commit rate some more
17:12 _mg_ joined
jnthn Indeed. I'm really not so sure .elems as an l-value is the right place for the functionality *but* I don't know we have an existing good way to do the $#foo = 42 thing either. 17:12
nine Yes, we did discuss it. 17:13
17:13 [TuxCM] joined
psch if nothing else it showed that a Proxy leaks through a not-is-rw method 17:13
17:13 _mg_ left
jnthn Yes, that's a bug. 17:13
lizmat well, not any more 17:14
jnthn lizmat: No, there's still a Rakudo bug that your work uncovered that needs fixing independent of what happens with .elems. 17:15
lizmat #124341 17:17
synbot6 Link: rt.perl.org/rt3//Public/Bug/Displa...?id=124341
psch lizmat++
ab5tract lizmat++
jnthn lizmat: Thanks. Will fix it on Monday, if not sooner. :) 17:18
FROGGS: I saw your EVAL/BEGIN one too; I need to ponder how to deal with that one.
moritz do we really have to make Array.elems return a Proxy? 17:19
17:19 travis-ci joined
travis-ci Rakudo build passed. Elizabeth Mattijsen 'Increase my commit rate' 17:19
travis-ci.org/rakudo/rakudo/builds/59046148 github.com/rakudo/rakudo/compare/9...74e0ff1e42
17:19 travis-ci left
moritz that sounds bad performance-wise 17:19
17:19 grondilu left
lizmat moritz: don't worry about it, it is no more 17:20
FROGGS jnthn: currently I am trying to (de)serialize as single object directly
jnthn: because .perl=>EVAL is icky anyway
jnthn *od* 17:21
*nod*
FROGGS: Well, you can always create a unique SC
17:21 _mg_ joined
jnthn FROGGS: And construct an object and shove it in that SC, and then ask it to be serialized. 17:21
FROGGS yes, that gave me headache also
jnthn Oh? 17:22
Did you see the serialization tests in NQP? They basically do that.
nine Would someone dare to merge github.com/rakudo/rakudo/pull/410?
FROGGS jnthn: gist.github.com/FROGGS/c82f5d98d957d5240d15
jnthn: they do not shove the result into a file though 17:23
17:23 _mg_ left
FROGGS jnthn: the tests re-use the string head list... 17:23
heap* 17:24
and even when I create the exact same string heap list, it fails
flussence timotimo: I've stuck an «$obj := nqp::null_s()» at the bottom of to_json() and it seems to have worked - memory usage is going *down* as it runs 17:26
(more importantly, I'm able to type that in my irssi window at all...)
17:28 raiph left
nine tadzik: my prototype is still online: niner.name/icycles.html 17:30
tadzik cool!
17:30 _mg_ joined 17:32 _mg_ left, lizmat_ joined
dalek kudo/nom: b6405a8 | (Stefan Seifert)++ | t/ (2 files):
Run S01-perl-5-integration spec test files if Inline::Perl5 is installed
17:32
kudo/nom: aa99dd4 | lizmat++ | t/ (2 files):
Merge pull request #410 from niner/nom

Run S01-perl-5-integration spec test files if Inline::Perl5 is installed
17:34 telex left
flussence this profiler still seems abnormally slow though, 300-400KB/s on an i7 17:35
I think fixing that is probably beyond my level of understanding. 17:36
17:36 lizmat left, telex joined, lizmat_ is now known as lizmat
timotimo flussence: way cool! 17:38
tadzik: "Malformed input file" - why? :( 17:39
17:39 travis-ci joined
travis-ci Rakudo build failed. lizmat 'Merge pull request #410 from niner/nom 17:39
travis-ci.org/rakudo/rakudo/builds/59047807 github.com/rakudo/rakudo/compare/3...99dd4009e6
17:39 travis-ci left
tadzik timotimo: you need to extract the JSON 17:39
timotimo i did 17:40
tadzik it doesn't eat the .html
huh
timotimo with a hex editor
tadzik can you upload it?
flussence timotimo: that's not gonna work, the JSON inside the html is double-escaped
tadzik or, as Star Trek characters put it, download it onto my computer
timotimo hehe.
flussence: oh god fucking damn it 17:41
you're right
how do i fix it?
tadzik I copypasted it in vim
timotimo yeah ... vim doesn't really eat that file
tadzik :syntax off either?
flussence sed might be the only option here 17:42
you'd need to replace \\" with \", \\\\ with \\, and \' with '
timotimo huh, so in tadziks case it just worked without fixing the escaping?
flussence hm, it might work as is actually, but you'd get a lot of stray \s in the output 17:43
tadzik timotimo: I always copypaste the JSON and it works :(
I dunno what's in yours
timotimo 1.4 gig of data :)
tadzik lol wat
timotimo core setting --profile-compile
tadzik I wrote my profiler frontend because 20MB was too big for angular...
now a challenger appears for the good old C++ 17:44
so that's why you can't upload it :P
actually, you know what?
17:44 raiph joined
tadzik I wonder if Qt's readAll() isn't crapping out on it 17:44
17:44 zakharyas left
timotimo it compresses down to only ~55 megabyte 17:45
tadzik if the first thing in the toplevel array is an object it would not have produced that message
what is it then?
timotimo 0000000: 5b7b 2274 6f74 616c 5f74 696d 6522 3a31 [{"total_time":1 17:46
tadzik looks good
huh
timotimo does it have to end in a newline or something?
tadzik nah
oh, wait 17:47
can you identify which "malformed input file" message is it from? :D
I suspect main.cpp:28, and in turn that qt was unable to parse the thing 17:48
timotimo it opens the file, stats it a few times, then closes it
dalek kudo/nom: 8eaf2ee | lizmat++ | src/core/ (7 files):
Mark all Proxy use as "is rw"
17:48 brrt joined
tadzik reads its size and nopes out of it? :D 17:48
17:48 flussence left
timotimo the size of the QByteArray is 0 17:49
tadzik ah
so readAll() probably not up to the task 17:50
timotimo This function has no way of reporting errors; returning an empty QByteArray can mean either that no data was currently available for reading, or that an error occurred.
tadzik that's not the worst I've seen of Qt
FROGGS jnthn: it seems to just work now O.o (creating an SC, serializing and deserializing that with a single object)
tadzik it also said (yes, said) "out of memory", when sqlite database was in a file with no write permissions
timotimo :( 17:51
tadzik timotimo: oh, you can try errorString()
on 'profile'
timotimo ok
"Unknown error" both before readAll and after 17:52
tadzik oh ffs
qt, y u do dis
how long did that profiling took, timotimo? 17:53
timotimo i didn't "time" it, sadly
tadzik or can you send me the 55meg gzip
timotimo sure
damn, i only have the gzip on my laptop 17:54
tadzik I wonder if you can have such big a QByteArray
timotimo could you deal with the html file?
tadzik 14G big?
timotimo like, use okteta or something locally?
gzipped of course 17:55
tadzik oh, I'll manage
timotimo good
then i'll have more up bandwidth
17:55 xfix joined, travis-ci joined
travis-ci Rakudo build passed. Elizabeth Mattijsen 'Mark all Proxy use as "is rw"' 17:55
travis-ci.org/rakudo/rakudo/builds/59048878 github.com/rakudo/rakudo/compare/a...af2eedc000
17:55 travis-ci left
tadzik I can write a perlscript that'll get to JSON.parse and give me what's between '''s or so 17:55
timotimo sure 17:56
doing it with okteta was super easy
tadzik ed
timotimo i'm not good at ed
tadzik me neither 17:57
sjn ingy: github.com/sjn/perl6-example-dist
tadzik I once learned how to hello world with it
psch isn't ed just vi without a visible buffer? 17:59
(also probably plus something to show the not-really-a-buffer)
tadzik :ex in vim is pretty much ed 18:00
or something
but you sometimes get stuck in it, and typing '.' in empty line helps. ed taught me that :P
dalek kudo/nom: 4f65a34 | lizmat++ | lib/NativeCall.pm:
Missed one Proxy -> is rw omission
18:02
kudo/nom: ba4964e | lizmat++ | t/harness:
Made Inline::Perl5 check silent if not installed
psch ah, right, '.' on empty line is somewhat the "show the buffer" thingy
well, it shows the current line apparently
psch doesn't really want to imagine editing long (FSVO long) code files with ed/ex 18:03
j: say "hi" 18:04
camelia rakudo-jvm aa99dd: OUTPUT«cannot connect to eval server: Connection refused␤»
tadzik hah
psch i went back to something on the jvminterop side of things, and i have troubles figuring out how to proceed 18:05
consider: «use java::lang::System:from<Java>; say System.get_out.WHAT»
18:06 brrt left
psch that currently dies with "java.lang.ClassCastException: org.perl6.nqp.sixmodel.TypeObject cannot be cast to org.perl6.nqp.sixmodel.reprs.JavaObjectWrapper" 18:06
which, i think, is semi-sensible, cause there's no point in wrapper a *sixmodel*.TypeObject in a repr 18:07
at least if i'm not misunderstanding sixmodel...
jnthn FROGGS: Sorry, the cooking needed attention...
timotimo tadzik: t.h8.lv/p6bench/core_setting_compil...le.html.gz
FROGGS jnthn: no problem chef 18:08
jnthn FROGGS: But...rly, you gisted me the code and then it was scared and started working? :D
psch but checking with Ops.concrete if i could have a TypeObject gives me an ArrayIndexOutOfBoundsException somewhere in ASM, i.e. bad bytecode
FROGGS jnthn: no, I went to the computer games museum *and then* it started to work
psch it's hard to debug through these layers of indirection :/
jnthn FROGGS: Oh, cool :) 18:09
FROGGS: A new debugging technique!
FROGGS hehe
yeah :o)
psch googles if there's computer game museums nearby
FROGGS jnthn: I updated it.... what do you think? gist.github.com/FROGGS/c82f5d98d957d5240d15 18:10
18:13 travis-ci joined
travis-ci Rakudo build failed. Elizabeth Mattijsen 'Made Inline::Perl5 check silent if not installed' 18:13
travis-ci.org/rakudo/rakudo/builds/59049932 github.com/rakudo/rakudo/compare/8...4964e816b6
18:13 travis-ci left 18:14 _mg_ joined 18:15 _mg_ left 18:16 flussence joined
jnthn FROGGS: The string heap handling aint so robust 18:16
FROGGS: But otherwise looks in the right direction. 18:17
flussence bah, spoke too soon... I just spent half an hour trying to unwedge my box :D
FROGGS jnthn: yeah, though atm I can serialize and deserialize $*DISTRO... so I try now to put it into CUR::Installation 18:20
timotimo flussence: your box is strange 18:24
18:24 Rounin joined 18:25 rurban_ joined
timotimo readAll() just seems to give up and not even try. I looked into it more closely and it looks like it fails to resize the QByteArray to 2.5gb. I would have expected an error but I guess that makes sense. 18:26
^- tadzik
flussence it's the fastest one I have, but the power button is a few miles too far away to hit when things go awry... 18:27
lizmat gist with lazy @*INC patch: gist.github.com/lizmat/a10b3e6b659cfe7dd762
timotimo :) 18:29
lizmat: are you posting this because it works again? 18:31
FROGGS it did install panda \o/ 18:33
nine timotimo: no, so I can have a look at it
jnthn FROGGS: OK, fingers crossed :) 18:35
dinner & 18:36
18:36 anaeem1 joined
timotimo nine: nice 18:37
FROGGS jnthn: okay, my string heap causes trouble it seems 18:40
18:40 colomon left 18:42 yqt joined 18:43 anaeem1 left
masak has anyone tried building a websockets server in Perl 6 yet? 18:45
I don't see anything on modules.perl6.org/
FROGGS jnthn: is my problem just with newlines in strings of the string heap or something else?
RabidGravy masak, I've thought about it. As a plugin for some existing module prbably. 18:50
masak would be cool to have it work with Bailador. 18:51
I have a use case for websockets -- but in the short term, I suspect I'll end up doing client-side polling instead.
psch ISTR that timotimo had been poking at websockets
18:52 espadrine left
masak I'm willing to help. 18:52
psch irclog.perlgeek.de/perl6/2015-03-26#i_10343167
doesn't look like much came of it, from skimming clog google results
RabidGravy also an Event Source server thing, I'm modifying HTTP::UserAgent as we speak so it can operate as a client 18:54
they're pretty much the same except web sockets are bi-directional 18:56
masak oh, an Event Source server thing would work for my use case as well. would probably be more suitable, even. 19:01
all I need is basically for the server to send the client a ping (so it can auto-reload).
19:02 leont joined, nbdsp joined
[TuxCM] TimToady, can I please have -Mstrict do as expected from the command line? (the I can put that in my alias) 19:02
masak |Tux|: I feel your pain. 19:03
nbdsp Greetings! I try to use Perl 5 DBI with the 'use DBI:from<Perl5>;'. The '$sth.execute()' returns True (that is OK), but 'my $arrayref = $sth.fetchall_arrayref()' freezes. Is there some additional/special syntax or methods for using Perl 5 modules functionality or this 'fetchall_arrayref()' function?
yoleaux 17 Apr 2015 07:07Z <nine> nbdsp: Inline::Perl5 is passing binary strings from Perl 5 to Perl 6 as CArray[int8] followed by manually copying to a Buf element by element. Sounds horrible but at least it works until NativeCall gets improved.
masak is not a big fan of non-strict -e by default
[TuxCM] is in masak's camp 19:04
psch fwiw, the synopses actually mentioned -e as strict *and* non-strict in two different locations respectively
i don't remember if that got changed, but i suspect it did
nbdsp youleaux, great news. thanks.
psch would also prefer strict -e because he doesn't do unstrict things anyway 19:05
[TuxCM] I'd accept -E for strict (hint)
nbdsp .tell nine thanks, for advise about CArray[int8]! 19:07
yoleaux nbdsp: I'll pass your message to nine.
masak I don't think we should overload -E with another meaning than Perl 5's. 19:08
19:10 spider-mario left
timotimo psch: poking at websockets from very far with a long stick 19:11
19:12 rindolf left
timotimo was what i did some time ago 19:13
RabidGravy masak, can't work out easily how to persuade HTTP::Easy and by extension Bailador to do chunked and not close the client socket
not suggesting it isn't possible though 19:14
timotimo i've built an EventSource server as a middleware for HTTP::Server::Async
masak I think we should start by writing an independent prototype.
and then connect it to whatever. 19:15
psch huh 19:16
what happened to the Cairo module?
19:16 spider-mario joined
psch panda still finds it, but modules.perl6.org doesn't 19:16
and installing with panda fails with "*fetch stage failed for Cairo: source-url meta info missing"
timotimo oh?
yeah
same for my JSON::Fast
i have no idea what i did wrong :(
also: yay! somebody wants to use my cairo module! 19:17
AFK
psch haha
well, local install works 19:18
raydiak looks like spec changes..."source-url" was the old place to declare it, now specs say it goes in "source" in a "support" subobject...but Cairo's meta has "source-url" inside "support", so not valid either the old or new way I guess 19:28
specs...designs...whatever 19:29
lizmat keep speculating :-)
19:31 brrt joined
dalek kudo/nom: 66a640b | lizmat++ | src/Perl6/Grammar.nqp:
Allow -Mstrict to enable strictnes for -e
19:32
kudo/nom: 4be9900 | lizmat++ | t/harness:
Shorten "Inline::Perl5" not installed message
raydiak considers referencing roast first instead of the design docs so he can go back to saying "the specs say..." :)
lizmat FROGGS++ # inspiration for 66a640b
FROGGS jnthn: okay, my problem does not seem to be about newlines... 19:33
psch raydiak: imo, "specs" is fine for the synopses/design.perl6.org — it's the name of the repo after all 19:34
i tried not to use "spec" at all, but instead say "roast" and "designs" though, because the ambiguity does exist...
s/tried/try/ 19:35
timotimo: using Cairo seems difficult. neither shoot_em_up.p6 nor livecoding.p6 seem to work: "Internal error: Unwound entire stack and missed handler" 19:37
and i'd hope those should work, because otherwise i have no idea where to look to have an idea how to use it... :) 19:38
FROGGS psch: that sounds like jvm 19:39
psch FROGGS: it does? i'm calling perl6-m 19:40
FROGGS hmmm, that msg sounded so jvm-ish... must be me being tired
psch frame.c:835 panics like that apparently 19:41
19:42 raiph left, travis-ci joined
travis-ci Rakudo build failed. Elizabeth Mattijsen 'Shorten "Inline::Perl5" not installed message' 19:42
travis-ci.org/rakudo/rakudo/builds/59056629 github.com/rakudo/rakudo/compare/b...e9900c8340
19:42 travis-ci left 19:44 cschwenz left, dolmen joined
raydiak same error here with livecoding.p6 (on moar from about a week ago)...shoot_em_up.p6 gives me an unrelated-looking error about some undeclared cairo constants 19:50
psch raydiak: yeah, the constants are declared our without «is export» 19:51
raydiak: i prefixed the namespace locally
i also get "(A totally cool shooter game!:11638): Gdk-CRITICAL **: gdk_window_get_events: assertion 'GDK_IS_WINDOW (window)' failed" for shoot_em_up.p6 19:52
after fixing the undeclared constants via explicit namespace
19:53 FROGGS left
raydiak I've always gotten "** (Cairo Live-Coding environment:4338): WARNING **: Error retrieving accessibility bus address: org.freedesktop.DBus.Error.ServiceUnknown: The name org.a11y.Bus was not provided by any .service files" for GTK::Simple even the tests, though I get similar from some other gtk stuff too entirely outside of perl 19:53
but idk much about gtk, just that it spits stuff like that all over the place :P 19:54
psch heh
raydiak looks very different now that I read closer though
19:57 xfix left
[TuxCM] lizmat++, FROGGS++ -Mstrict 19:59
20:02 aborazmeh joined, aborazmeh left, aborazmeh joined
raydiak psch: yep I get the same Gdk error when I fix those constants too...wonder what changed, I'm pretty sure I've tried these out earlier this year and they worked 20:04
psch raydiak: thanks for confirming. i was wondering if it could be some WM or X11 misconfiguration on my end 20:10
raydiak psch: you're welcome 20:12
timotimo psch: that's just when an exception flies that doesn't get caught inside a callback that we passed to C land 20:13
20:13 rurban_ left 20:15 dolmen left
psch timotimo: and the Gdk-CRITICAL? googling that doesn't tell me much, except that it gets reported to debain and ubuntu bugtrackers... 20:17
timotimo Gdk-critical is unimportant
everything based on gtk or gobject or something will spout between five and a hundred critical errors on startup 20:18
dalek kudo/nom: a6314d3 | TimToady++ | src/core/operators.pm:
respect containers returned from seq iterator

fixes 124330
timotimo that's to be expected and harmless
psch oh, okay
dalek ast: daf1198 | TimToady++ | integration/advent2012-day04.t:
pascal's triangle works again
20:19 aborazmeh left
psch hm, the example code in cairos Readme works at least 20:21
timotimo i kind of sort of invented the API on top of cairo ...
and i didn't invent docs to go with it :P
psch :/ 20:22
20:22 dolmen joined
masak why did we mark as 'skip' something that had stopped working? isn't that just a way to hide test regressions? 20:22
psch masak: iirc it crashed the test file, but bartolin couldn't fix the regression off hand 20:23
20:23 darutoko left
psch which is why he skipped it 20:23
masak ok, I see.
TimToady well...there's something to be said for a keeping the test run clean, but there's also something to be said for not hiding regressions
masak maybe quarantining the test in a separate file would work better, so that the test isn't forgotten.
20:24 brrt left, brrt joined, brrt left
TimToady now the odd thing is that the reason I never saw the regression when working on ... is that the test in question is marked #stress 20:25
20:25 travis-ci joined
travis-ci Rakudo build passed. TimToady 'respect containers returned from seq iterator 20:25
travis-ci.org/rakudo/rakudo/builds/59060042 github.com/rakudo/rakudo/compare/4...314d3ff93c
20:25 travis-ci left
masak heh. 20:25
another way to hide tests ;)
20:27 konsolebox left
nbdsp Well, what I thought was program freeze, actually was very slow work. Fetching ang outputting one row with one text field containing several KB of text took maybe 5 minutes or so. The code is as follows: my $arrayref = $sth.fetchall_arrayref; for @$arrayref -> $q { say $q[0].decode('utf8'); } What can cause such slowness? 20:27
timotimo try perl6 --profile myscript.p6 ? 20:28
nbdsp will try, thanks. 20:29
timotimo that'll give us a bit of a chance to figure out what's going wrong 20:30
better than flying blind in any case
tadzik timotimo: I reproduced your problem. I now see that QByteArray is mutale and has an append() method, so you can possibly read the file chunk by chunk and slowly build a beast of QByteArray 20:32
but I'm two tired now,I'll try it tomorrow :)
timotimo thank you 20:34
20:41 [TuxCM] left
nbdsp On the 'Routines' tab of profile report, the following 3 entries take 33.33% time each: THE_END src/gen/m-CORE.setting:847 exit src/gen/m-CORE.setting:836 <unit> ./tst2.pl6:1 20:41
timotimo ... THE_END ... ?! 20:42
how much time each?
nbdsp The profiled code ran for 111949.11ms. Of this, 5213.15ms were spent on garbage collection and dynamic optimization (that's 4.66%) 20:43
Each of those entries took about: "(18446744073700.9ms) 20:48
timotimo that seems very wrong 20:49
dalek kudo/nom: 1edd514 | lizmat++ | src/Perl6/ModuleLoader.nqp:
Add some more RAKUDO_MODULE_DEBUG messages
20:50
timotimo did froggs already leave the hackathon venue? 20:51
nbdsp I hope so. ) Here the copy-paste: pastebin.com/wMwAsJLv 20:53
20:56 grondilu joined 21:06 [TuxCM] joined
masak tadzik++ # panda 21:08
tadzik++ # Bailador
[TuxCM] does panda now work on jvm? 21:09
21:09 MARTIMM left
masak doesn't know 21:10
[TuxCM] tries (might take a while :)
tadzik [TuxCM]: not really 21:11
but it's JVM's fault!
I am without fault
masak this is all true
tadzik my only fault is tormenting my co-hackathoners with espeak
[TuxCM] ok, /me stops trying (waste of resources then)
tadzik but they started!
masak ooh, neat. espeak. 21:12
tadzik "wwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwww. Visit us at www.wwwwwwwwwwwwwww.com/wwwwwwwwwwwwwwwww"
[TuxCM] checks panda git log ...
tadzik twitch.tv's favourite source of laughter, now absolutely free of donation fee
psch grmls a bit more at jvm byte code gen 21:13
21:13 avalenn left, avalenn joined
FROGGS[mobile] timotimo: I did 21:14
still sitting in a train :o(
[TuxCM] tadzik, you left yesterday before my wife answered: she visited Wrozłav 21:15
masak Wrocław 21:16
[TuxCM] yeah, that
:P
at least I got the ł right
masak scores [TuxCM] fractional points
[TuxCM] Who should I poke to fix RT#124298? 21:17
synbot6 Link: rt.perl.org/rt3//Public/Bug/Displa...?id=124298
[TuxCM] and RT#124191
synbot6 Link: rt.perl.org/rt3//Public/Bug/Displa...?id=124191
tadzik [TuxCM]: I don't remember the conversation :o 21:18
timotimo FROGGS[mobile]: i wish you the best of luck with the serialization stuff
[TuxCM] I didn't drink *that* much :)
tadzik apparently I did... 21:19
arnsholt Le sigh. Zero operator string concatenation is a bit of a misfeature *grumblegrumblegrumle* 21:22
masak arnsholt: using awk again? :P 21:23
FROGGS[mobile] timotimo: thanks :o) 21:24
arnsholt masak: Python, actually. I had a varargs method taking a list of strings and got weird results 21:25
timotimo FROGGS[mobile]: it's probably a few orders of magnitude faster than json once it works? 21:26
but significantly harder to pull out of the file, nah?
FROGGS[mobile] I've posted a gist, it is quite simple but still has a bug 21:28
timotimo right, the string heap is probably quite sensitive 21:30
21:31 kaare_ left
timotimo i'd suggest a length + raw string format, as that ought to be very robust and doesn't require escaping or such 21:31
21:31 zakharyas joined
masak arnsholt: like TimToady pointed out, it's a rather low-leverage feature with many negative consequences. 21:38
psch $ ./perl6-j -e'use java::lang::System:from<Java>; say System.WHAT' 21:43
org.perl6.nqp.sixmodel.TypeObject@6349f468
better than a java-level exception, but still kind of useless :/
psch gives up for today
lizmat follows suit
21:44 lizmat left 21:48 leont left 21:51 dolmen left 21:55 zakharyas left
masak 'night, #perl6 21:57
22:44 spider-mario left
vendethiel o/ 22:56
22:57 BenGoldberg joined 23:14 [TuxCM] left 23:15 RabidGravy left 23:18 [TuxCM] joined 23:23 avalenn left 23:27 avalenn joined 23:41 yqt left
eli-se vendethiel: hello 23:51
vendethiel o/ eli-se!