Perl 6 - the future is here, just unevenly distributed

IRC log for #perl6-dev, 2016-09-10

| Channels | #perl6-dev index | Today | | Search | Google Search | Plain-Text | summary

All times shown according to UTC.

Time Nick Message
02:49 cog__ joined #perl6-dev
03:09 bisectable6 joined #perl6-dev
03:11 cog_ joined #perl6-dev
05:08 geekosaur joined #perl6-dev
05:25 cog_ joined #perl6-dev
05:25 bisectable6 joined #perl6-dev
05:25 committable6 joined #perl6-dev
05:25 benchable6 joined #perl6-dev
05:25 dalek joined #perl6-dev
05:25 masak joined #perl6-dev
05:25 |Tux| joined #perl6-dev
05:25 mst joined #perl6-dev
05:25 Woodi joined #perl6-dev
05:25 camelia joined #perl6-dev
05:25 tailgate joined #perl6-dev
06:55 lizmat Files=1136, Tests=52746, 226 wallclock secs (13.36 usr  3.66 sys + 1404.91 cusr 130.91 csys = 1552.84 CPU)
07:36 [Tux] Drumrollllllllllllll …
07:36 [Tux] This is Rakudo version 2016.08.1-146-gbb6da76 built on MoarVM version 2016.08-43-g3d04391
07:36 [Tux] csv-ip5xs        9.327
07:36 [Tux] test            15.392
07:36 [Tux] test-t           6.996
07:36 [Tux] csv-parser      16.610
07:47 RabidGravy joined #perl6-dev
07:48 llfourn \o/ <6
07:52 lizmat whee!
07:55 [Tux] <7
08:04 buggable joined #perl6-dev
08:04 ilmari[m] joined #perl6-dev
08:04 DrForr joined #perl6-dev
08:04 ShimmerFairy joined #perl6-dev
08:04 NeuralAnomaly joined #perl6-dev
08:04 huggable joined #perl6-dev
08:04 ugexe joined #perl6-dev
08:04 hoelzro joined #perl6-dev
08:04 jsimonet joined #perl6-dev
08:04 yoleaux2 joined #perl6-dev
08:04 timotimo joined #perl6-dev
08:05 sivoais joined #perl6-dev
08:05 japhb joined #perl6-dev
08:05 TimToady joined #perl6-dev
08:05 krunen joined #perl6-dev
08:05 b2gills joined #perl6-dev
08:11 sivoais joined #perl6-dev
08:20 Woodi [Tux]: is it possible to add tests checking "other" domains performance ? there is a window for 4 more tests on the right :)  numbers are close in last 2-3 monts, maybe it is possibility to test "other" parts of language ?
08:21 [Tux] I have no idea what you are hinting at
08:22 Woodi I cant hade ready answer, but maybe cvs checking use just only part of language functionalities ?
08:22 Woodi *don't have...
08:23 [Tux] Do you think *I* would be the one to perform such tests? (/me does not)
08:23 Woodi [Tux]: but you run eg. cvs-parser tests ?
08:24 Woodi anyway, just idea, don't fill forced...
08:24 lizmat Woodi: the Text::CSV tests are an itch that [Tux] wants to scratch
08:25 lizmat and we're thankful for the canary it provides
08:25 lizmat if you think other parts of the language should be exercised similarly
08:25 lizmat feel free to run a test for that and post the result here every day  :-)
08:26 lizmat breakfast&
08:27 Woodi [Tux]: you have code for tests somewhere opensoursed ?
08:27 [Tux] yes: https://github.com/Tux/CSV - look at time.pl
08:28 Woodi [Tux]++ thanx. I will check, *maybe* I can find some more numbers :)
09:04 FROGGS joined #perl6-dev
09:12 dalek roast: 34a0ff2 | (Zoffix Znet)++ | S16-io/lines.t:
09:12 dalek roast: Capture :err too
09:12 dalek roast:
09:12 dalek roast: So we don't print out errors we don't care about during test run.
09:12 dalek roast: review: https://github.com/perl6/roast/commit/34a0ff2e91
09:16 lizmat looking at optimization targets, looks like Str.match would be a good one
09:16 lizmat it e.g. takes 15% of CPU when doing open("file")
09:30 Zoffix roast's Test::Util's is_run doesn't seem to capture stuff like "*** Error in `/home/zoffix/CPANPRC/rakudo/install/bin/moar': double free or corruption (!prev): 0x00002b37bc04c660 ***"
09:32 Zoffix weird. https://gist.github.com/zoffixznet/4896a867f2e1b8527f2d682df2331526
09:36 Zoffix Hm, it relies on my shell to redirect stuff like this correctly :/
09:36 Zoffix *lesigh*
09:40 Zoffix Smaller testcase: https://gist.github.com/zoffixznet/cf1ca3e208fbfc0b6c444f141ffa5333
09:47 lizmat commute&
10:02 dalek roast: c84a389 | (Zoffix Znet)++ | integration/weird-errors.t:
10:02 dalek roast: Remove trailing whitespace
10:02 dalek roast: review: https://github.com/perl6/roast/commit/c84a38931e
10:02 dalek roast: 02d6988 | (Zoffix Znet)++ | integration/weird-errors.t:
10:02 dalek roast: accessing Seq from multiple threads does not segfault
10:02 dalek roast:
10:02 dalek roast: RT#127208
10:02 dalek roast: review: https://github.com/perl6/roast/commit/02d698835e
10:02 synopsebot6 Link:  https://rt.perl.org/rt3//Public/Bug/Display.html?id=127208
10:07 Zoffix committable6, 2015.12 use Test; is-deeply [^10 .hyper(:batch).map: *+0], [^10]
10:07 committable6 Zoffix, ¦«2015.12»: not ok 1 - ␤␤# Failed test at /tmp/tWwvxEP9rn line 1␤# expected: $[0, 1, 2, 3, 4, 5, 6, 7, 8, 9]␤#      got: $[0, 2, 1, 3, 4, 5, 6, 7, 8, 9] «exit code = 1»
10:11 timotimo oh, that's interesting
10:11 * timotimo remembers putting something into the hyper code to make the order at the end correct
10:12 timotimo i probably didn't do it right :)
10:12 * Zoffix points at 2015.12 tag
10:12 timotimo oh!
10:13 timotimo committable6, HEAD use Test; is-deeply [^10 .hyper(:batch).map: *+0], [^10]
10:13 Zoffix nice going :)
10:13 timotimo :(
10:13 committable6 joined #perl6-dev
10:14 MasterDuke luckily i'm up annoyingly early!
10:14 timotimo .tell lizmat if Str.match is involved in open("file"), maybe there's a place where simplematch could be used
10:14 yoleaux2 timotimo: I'll pass your message to lizmat.
10:15 MasterDuke .tell lizmat Str.match as optimization target++, i've looked at a bunch of --profile-compile profiles and match is usually near the top
10:15 yoleaux2 MasterDuke: I'll pass your message to lizmat.
10:17 dalek roast: c14b344 | (Zoffix Znet)++ | S07-hyperrace/hyper.t:
10:17 dalek roast: .hyper preserves order
10:17 dalek roast:
10:17 dalek roast: The test can be simplified, but currently .hyper returns an empty list
10:17 dalek roast: on some runs, which would cause the test to fail. The order *is* preserved,
10:17 dalek roast: when we do get something, however.
10:17 dalek roast:
10:17 dalek roast: RT#127099
10:17 dalek roast: review: https://github.com/perl6/roast/commit/c14b344a75
10:17 synopsebot6 Link:  https://rt.perl.org/rt3//Public/Bug/Display.html?id=127099
10:18 Zoffix MasterDuke, so it just crashes? Stick into a loop
10:19 timotimo SourceBaby: &open
10:19 timotimo s: &open
10:19 SourceBaby timotimo, Sauce is at https://github.com/rakudo/rakudo/blob/bb6da76/src/core/io_operators.pm#L104
10:20 MasterDuke brute force testing
10:25 MasterDuke Zoffix: we've done that for some other stuff, but if it leaves behind some files when it crashes it can block the other bots (or the restarted version of itself)
10:25 Zoffix ah
10:26 MasterDuke we've some thoughts on how to fix it, but my initial idea would have required building three new copies of all the builds, so we're trying to think of something better
10:28 timotimo .tell lizmat the time spent in match when doing open("foobar") is from the .e test calling canonpath, which is basically all match calls (it does all those substitutions); maybe there's a simpler method for substitutions like this.
10:28 yoleaux2 timotimo: I'll pass your message to lizmat.
10:29 timotimo do we have a substitution function for regexes that's faster than using ~~ s:g/.../.../?
10:33 nine timotimo: we need that .e and .d only for catching someone trying to open a directory. Maybe we could just be smarter by checking for this error condition only in the error path? I.e. first trying to open it and if that fails try to find out why exactly.
10:35 timotimo maybe
10:35 timotimo i'm looking at how much faster canonpath can get by replacing ~~ s:g with .subst-mutate
10:36 timotimo in that process it seems like there's a :g missing
10:36 timotimo m: say $*SPEC.canonpath("../../foo/bar/../../baz/quux")
10:36 camelia rakudo-moar bb6da7: OUTPUT«../../foo/bar/../../baz/quux␤»
10:37 timotimo oh, it's meant to only match at the beginning
10:37 timotimo okay, that's fair
10:37 dalek roast: 059bb84 | (Zoffix Znet)++ | integration/weird-errors.t:
10:37 dalek roast: Check for successful exit too
10:37 dalek roast:
10:37 dalek roast: Once in a blue moon, the race condition won't cause a throw and the
10:37 dalek roast: program will succeed. Watch for that case too, so the test fails
10:37 dalek roast: only when we get SEGV and ilk.
10:37 dalek roast: review: https://github.com/perl6/roast/commit/059bb8493e
10:43 MasterDuke Zoffix: timotimo: since you guys are around, any thoughts on https://github.com/perl6/nqp/pull/307?
10:44 Zoffix MasterDuke, I looked at it but it's beyond my paygrade, so I've no idea if it can be merged or not :)
10:45 MasterDuke fair enough, can't ask for more
10:46 timotimo MasterDuke: i'm surprised that code fixes that bug :)
10:47 cognominal joined #perl6-dev
10:47 MasterDuke ha. i'll admit i wouldn't have thought to go there first, but this https://github.com/MoarVM/MoarVM/issues/391 pointed me to it
10:48 timotimo oh!
10:48 timotimo it's trying to numify even though it's a non-numbery name?
10:49 nine timotimo: seems like we can't as nqp::open on a directory does not actually fail
10:50 timotimo oh, that sucks
10:50 timotimo currently, trying to install rakudo (while building) explodes in generate-moar-runner
10:51 timotimo i might have the answer...
10:51 timotimo Failure.new(exception => X::AdHoc.new(payload => "Failed to open file /home/timo/perl6/rakudo/perl6-m/: illegal operation on a directory"), backtrace => Backtrace.new)
10:51 timotimo guess what. calling .print("foobar") on that gives you "wrong number of arguments"
10:52 timotimo m: my $path = "hello/"; $path = $path.chomp if $path.ends-with('/'); say $path
10:52 camelia rakudo-moar bb6da7: OUTPUT«hello/␤»
10:52 timotimo m: my $path = "hello/"; $path = $path.chop if $path.ends-with('/'); say $path
10:52 camelia rakudo-moar bb6da7: OUTPUT«hello␤»
10:52 timotimo that's what i did wrong
10:54 timotimo MasterDuke: i think your fix is OK to go in. do you have some spec tests to go with it ready to go into roast?
10:54 dalek nqp: 71b434f | MasterDuke17++ | src/QRegex/P6Regex/Actions.nqp:
10:54 dalek nqp: Properly numify non-ascii tokens in regex/grammars
10:54 dalek nqp:
10:54 dalek nqp: Fix RT #127075
10:54 dalek nqp: review: https://github.com/perl6/nqp/commit/71b434fe65
10:54 synopsebot6 Link:  https://rt.perl.org/rt3//Public/Bug/Display.html?id=127075
10:54 dalek nqp: 4fd4b48 | timo++ | src/QRegex/P6Regex/Actions.nqp:
10:54 dalek nqp: Merge pull request #307 from MasterDuke17/RT127075
10:54 dalek nqp:
10:54 dalek nqp: Properly numify non-ascii tokens in regex/grammars
10:55 dalek nqp:
10:55 dalek nqp: good catch: the code was trying to see if the string is actually a number by numifying it, but that stumbled over things outside the ascii range when we actually had a word-like token name.
10:55 dalek nqp: review: https://github.com/perl6/nqp/commit/4fd4b48afb
10:55 MasterDuke yeah, but rakudo will obviously also need its nqp version bumped
10:56 timotimo before:
10:56 timotimo time perl6 -e '$*SPEC.canonpath("foobar") for ^50_000'
10:56 timotimo 12.37user 0.01system 0:12.39elapsed 99%CPU (0avgtext+0avgdata 79748maxresident)k
10:56 timotimo after:
10:56 timotimo after:time perl6 -e '$*SPEC.canonpath("foobar") for ^50_000'
10:56 timotimo 6.15user 0.01system 0:06.18elapsed 99%CPU (0avgtext+0avgdata 79864maxresident)k
10:56 nine oh nice! timotimo++
10:56 timotimo before:
10:57 timotimo time perl6 -e '$*SPEC.canonpath($*SPEC.rel2abs("foobar")) for ^20_000'
10:57 timotimo 19.00user 0.01system 0:19.02elapsed 99%CPU (0avgtext+0avgdata 82316maxresident)k
10:57 timotimo after:
10:57 dalek roast: feb0022 | (Zoffix Znet)++ | S09-typed-arrays/arrays.t:
10:57 dalek roast: using `of` does not affect arrays defined later
10:57 dalek roast:
10:57 dalek roast: RT#126136
10:57 dalek roast: review: https://github.com/perl6/roast/commit/feb0022c7d
10:57 synopsebot6 Link:  https://rt.perl.org/rt3//Public/Bug/Display.html?id=126136
10:57 timotimo time perl6 -e '$*SPEC.canonpath($*SPEC.rel2abs("foobar")) for ^20_000'
10:57 timotimo 12.68user 0.02system 0:12.71elapsed 99%CPU (0avgtext+0avgdata 81808maxresident)k
10:57 MasterDuke timotimo++
10:57 timotimo i might be able to push it down a bit more, even
10:57 timotimo m: say "foobar".contains('oo')
10:58 camelia rakudo-moar bb6da7: OUTPUT«True␤»
11:01 timotimo OK, the first test case now takes only 0.43s instead of 12.39 or 6.18
11:01 timotimo i call that a win.
11:01 Zoffix :o
11:01 timotimo however
11:01 timotimo how often do we have paths that don't have any /. or // in them
11:02 * timotimo runs the spec tests
11:02 timotimo someone else might be interested in porting those changes to the windows spec, too
11:13 timotimo t/spec/S32-io/socket-accept-and-working-threads.t  seems to be extremely busy for a very long time and won't terminate
11:13 timotimo or does it just take a very long time?
11:15 dalek roast: 457d3d8 | (Zoffix Znet)++ | S19-command-line/repl.t:
11:15 dalek roast: no bizzare types returned from redeclared "returns an `of` Array" sub
11:15 dalek roast:
11:15 dalek roast: The bug used to return types like Array[Int][Int][Int][Int]
11:15 dalek roast:
11:15 dalek roast: RT#125412
11:15 dalek roast: review: https://github.com/perl6/roast/commit/457d3d8b92
11:15 synopsebot6 Link:  https://rt.perl.org/rt3//Public/Bug/Display.html?id=125412
11:15 Zoffix timotimo, no, it's relatively quick
11:15 dalek rakudo/nom: f17d9b4 | timotimo++ | src/core/IO/Spec/Unix.pm:
11:15 dalek rakudo/nom: make Unix's canonpath much cheaper for simple paths
11:15 dalek rakudo/nom:
11:15 dalek rakudo/nom: use subst-mutate instead of going through ~~,
11:15 dalek rakudo/nom: extract dominant literals and .contains or .starts-with before
11:15 dalek rakudo/nom: running a full regex
11:15 dalek rakudo/nom: review: https://github.com/rakudo/rakudo/commit/f17d9b4c9e
11:16 Zoffix Takes 0m4.740s on my box
11:16 timotimo all of my 4 cores had been working for 2½ minutes each until i killed the main process
11:16 Zoffix 0.o
11:18 MasterDuke i don't remember how to bump the NQP version required for rakudo, does one of you guys mind doing it?
11:19 Zoffix cd nqp; git describe > ../tools/build/NQP_REVISION
11:19 Zoffix (if you're in rakudo checkout; basically stick `git desribe`'s output into tools/build/NQP_REVISION)
11:20 timotimo you shouldn't be in rakudo checkout
11:20 timotimo opening an existing file 20k times still spends 8.43% of its time in match, 5% additionaly in match-subst, apparently
11:22 Zoffix Why not?
11:22 timotimo i should run a before-check, too.
11:22 timotimo well, only if you're going to do the 'cd nqp' first
11:26 Zoffix How do you get those measurements? Is that from --profile?
11:26 timotimo which measurements exactly?
11:26 Zoffix <timotimo> opening an existing file 20k times still spends 8.43% of its time in match, 5% additionaly in match-subst, apparently
11:27 Zoffix like how do you see that it's 8% in match?
11:27 timotimo yes, that's the profiler. sorted by "exclusive time"
11:28 Zoffix cool
11:28 timotimo before: time perl6 -e 'open("CORE.setting.moarvm").close for ^50_000'
11:28 timotimo 44.10user 0.44system 0:44.55elapsed 99%CPU (0avgtext+0avgdata 100624maxresident)k
11:28 MasterDuke that's how i do a lot of my measuring, with --profile --profile-filename=<something.json>
11:28 timotimo after: time perl6 -e 'open("CORE.setting.moarvm").close for ^50_000'
11:28 timotimo 18.44user 0.36system 0:18.82elapsed 99%CPU (0avgtext+0avgdata 105392maxresident)k
11:28 timotimo so it was actually noticably worth it in total
11:29 Zoffix neat
11:29 MasterDuke very nice, i've found IO stuff pretty slow so far, all improvements very welcome here
11:31 timotimo i might have more winnings
11:31 timotimo but only for strings that have some things in them
11:33 timotimo m: say "a//b///c////d".trans('//' => '/')
11:33 camelia rakudo-moar f17d9b: OUTPUT«a//b///c////d␤»
11:33 timotimo m: say "a//b///c////d".trans('//' => '/', :g)
11:33 camelia rakudo-moar f17d9b: OUTPUT«a//b///c////d␤»
11:33 timotimo that doesn't even do a single one. huh?
11:33 Zoffix m: say "a//b///c////d".trans(['//'] => ['/'], :g)
11:33 camelia rakudo-moar f17d9b: OUTPUT«a/b//c//d␤»
11:33 timotimo OK. it doesn't do more multiples, though
11:34 timotimo don't think :g is actually even a thing trans does
11:34 Zoffix m: say "a//b///c////d".trans(['//'] => ['/'])
11:34 camelia rakudo-moar f17d9b: OUTPUT«a/b//c//d␤»
11:36 timotimo i could run that in a loop as long as any // exists in the string
11:36 timotimo might still be cheaper than going through subst-mutate with a regex
11:37 dalek rakudo/nom: 4578e7d | timotimo++ | src/core/IO/Spec/Unix.pm:
11:37 dalek rakudo/nom: make removing ./ at the beginning of a path cheaper
11:37 dalek rakudo/nom: review: https://github.com/rakudo/rakudo/commit/4578e7d5af
11:38 timotimo i didn't F that up, right?
11:39 timotimo oh, instead of trans i can use subst with strings for good measure
11:45 dalek roast: 2c617ab | (Zoffix Znet)++ | S03-operators/spaceship.t:
11:45 dalek roast: Remove trailing whitespace
11:45 dalek roast: review: https://github.com/perl6/roast/commit/2c617abf68
11:47 dalek roast: bb4d3eb | (Zoffix Znet)++ | S03-operators/spaceship.t:
11:47 dalek roast: <=> with non-numerics throws correct exception
11:47 dalek roast:
11:48 dalek roast: RT#126536: https://rt.perl.org/Ticket/Display.html?id=126536
11:48 dalek roast: review: https://github.com/perl6/roast/commit/bb4d3ebffe
11:48 synopsebot6 Link:  https://rt.perl.org/rt3//Public/Bug/Display.html?id=126536
11:54 AlexDaniel joined #perl6-dev
11:55 dalek rakudo/nom: 6e2a559 | timotimo++ | src/core/IO/Spec/Unix.pm:
11:55 dalek rakudo/nom: remove '//' and others without using a regex.
11:55 dalek rakudo/nom:
11:55 dalek rakudo/nom: ought to be noticably faster because of the general overhead
11:55 dalek rakudo/nom: of invoking a regex match
11:55 dalek rakudo/nom: review: https://github.com/rakudo/rakudo/commit/6e2a5595bd
11:56 Zoffix s: "meow", 'contains', \('x')
11:56 SourceBaby Zoffix, Sauce is at https://github.com/rakudo/rakudo/blob/f17d9b4/src/core/Str.pm#L118
12:02 dalek roast: 50b6080 | (Zoffix Znet)++ | integration/error-reporting.t:
12:02 dalek roast: `BEGIN` suggested when `begin` is used
12:02 dalek roast:
12:02 dalek roast: RT#126264: https://rt.perl.org/Ticket/Display.html?id=126264
12:02 dalek roast: review: https://github.com/perl6/roast/commit/50b60804b3
12:02 synopsebot6 Link:  https://rt.perl.org/rt3//Public/Bug/Display.html?id=126264
12:07 MasterDuke one of you guys mind merging https://github.com/rakudo/rakudo/pull/874? once that's in i'll add my tests for 127075 to roast
12:13 dalek rakudo/nom: 60b56ac | MasterDuke17++ | tools/build/NQP_REVISION:
12:13 dalek rakudo/nom: Bump NQP
12:13 dalek rakudo/nom:
12:13 dalek rakudo/nom: Picks up fix to properly numify non-ascii tokens in regex/grammars.
12:13 dalek rakudo/nom: review: https://github.com/rakudo/rakudo/commit/60b56ace49
12:13 dalek rakudo/nom: 20ed9e2 | (Zoffix Znet)++ | tools/build/NQP_REVISION:
12:13 dalek rakudo/nom: Merge pull request #874 from MasterDuke17/RT127075
12:13 dalek rakudo/nom:
12:13 dalek rakudo/nom: Bump NQP: properly numify non-ascii tokens in regex/grammars.
12:13 dalek rakudo/nom: review: https://github.com/rakudo/rakudo/commit/20ed9e2e2c
12:16 MasterDuke Zoffix++, thanks
12:23 dalek roast: cfbe28c | MasterDuke17++ | S05-match/capturing-contexts.t:
12:23 dalek roast: Tests for RT #127075
12:23 dalek roast:
12:23 dalek roast: Test that non-ascii tokens work in regexes/grammars.
12:23 dalek roast: review: https://github.com/perl6/roast/commit/cfbe28cf0e
12:23 synopsebot6 Link:  https://rt.perl.org/rt3//Public/Bug/Display.html?id=127075
12:23 dalek roast: e82a3df | MasterDuke17++ | S05-match/capturing-contexts.t:
12:23 dalek roast: Merge pull request #156 from MasterDuke17/RT127075
12:23 dalek roast:
12:23 dalek roast: Tests for RT #127075
12:23 synopsebot6 Link:  https://rt.perl.org/rt3//Public/Bug/Display.html?id=127075
12:23 dalek roast: review: https://github.com/perl6/roast/commit/e82a3df483
12:52 timotimo would somebody be so kind as to make the for-windows Spec also have a faster canonpath?
12:52 timotimo i'll be AFK
12:59 MasterDuke to anyone with RT editing privileges, RT #127075 can be resolved, it's fixed and has tests
12:59 synopsebot6 Link:  https://rt.perl.org/rt3//Public/Bug/Display.html?id=127075
13:41 MasterDuke is there any reason not to add return types to existing subs/methods in rakudo? E.g., several of the methods in IO::Path have them, but not all, would it be good to fill out the rest?
13:48 skids joined #perl6-dev
14:18 [Tux] This is Rakudo version 2016.08.1-151-g20ed9e2 built on MoarVM version 2016.08-43-g3d04391
14:18 [Tux] csv-ip5xs        8.958
14:18 [Tux] test            15.319
14:18 [Tux] test-t           6.912
14:18 [Tux] csv-parser      17.111
14:49 timotimo MasterDuke: a return type of --> Nil is very good for performance. other than that, return type annotations give us a tiny bit of a performance loss
15:15 MasterDuke loss! why in the world is that?
15:22 timotimo because it has to be checked on every return
15:22 timotimo and we're not 100% good at eliminating the check in every case we could
16:25 japhb [Tux]: Is that the first time test-t has been below 7 seconds?
16:32 [Tux] japhb, yes
16:32 [Tux] $ grep ' [56][.]' *log
16:32 [Tux] 2016-09-10 09:35:03 test-t 6.996
16:32 [Tux] 2016-09-10 16:06:30 test-t 6.912
16:43 timotimo hey, that's good
16:43 timotimo now we're on the way towards below 6
17:48 Ven_ joined #perl6-dev
17:58 Zoffix ugexe, yeah, it works well enough I was planning on writing an article (RE Mojolicious with Inline p5)
18:04 Ven_ joined #perl6-dev
18:04 Zoffix committable6, 2015.07 m: grammar Bug { token term { a }; token TOP { <term> % \n } } Bug.parse( 'a' );
18:04 committable6 Zoffix, ¦«2015.07»: ===SORRY!=== Error while compiling /tmp/CdvXej13O_␤Missing quantifier on the left argument of %␤at /tmp/CdvXej13O_:1␤------> { token term { a }; token TOP { <term> %⏏ \n } } Bug.parse( 'a' ); «exit code = 1»
18:04 Zoffix Is this the oldest version the bot knows about?
18:05 Zoffix seems to be
18:14 cygx joined #perl6-dev
18:14 cygx o/
18:15 dalek roast: d3d36db | (Zoffix Znet)++ | S05-grammar/example.t:
18:15 dalek roast: Remove trailing whitespace
18:15 dalek roast: review: https://github.com/perl6/roast/commit/d3d36dbf8b
18:15 cygx timotimo: re nqp::open, assuming we want aomicity, afaik the correct way to ensure we're dealing with an actual file is to use fstat after the file has been opened
18:15 dalek roast: d633c04 | (Zoffix Znet)++ | S05-grammar/example.t:
18:16 dalek roast: `quantifier with %` error includes the token it appears in
18:16 dalek roast:
18:16 dalek roast: RT#124219: https://rt.perl.org/Ticket/Display.html?id=124219
18:16 dalek roast: review: https://github.com/perl6/roast/commit/d633c0411c
18:16 synopsebot6 Link:  https://rt.perl.org/rt3//Public/Bug/Display.html?id=124219
18:16 cygx so we need to expose an nqp::fstat, or fold the check into nqp::open
18:17 cygx note that nqp::open should already fail with directories in any mode other than read-only
18:23 liztormato joined #perl6-dev
18:24 liztormato cygx: fwiw, I think it was decided that an open on a directory should *always* fail, regardless of mode
18:25 cygx liztormato: sure, but should that happen at nqp or p6 level?
18:25 cygx the issue is that POSIX is happy to open directories
18:26 liztormato Yeah. Bur that doesn't bring us much on Win, or does it nowadays?
18:26 liztormato *But
18:27 dalek roast: 0b80402 | (Zoffix Znet)++ | S05-grammar/example.t:
18:27 dalek roast: lookbehind that should not match does not match
18:27 dalek roast:
18:27 dalek roast: RT#81136: https://rt.perl.org/Ticket/Display.html?id=81136
18:27 dalek roast: review: https://github.com/perl6/roast/commit/0b80402678
18:27 synopsebot6 Link:  https://rt.perl.org/rt3//Public/Bug/Display.html?id=81136
18:28 cygx it doesn't really bring us much on *nix, as we do not expose fdopendir()
18:28 cygx so I think making nqp::open fail would be the right choice
18:29 liztormato Feels right to me. If you really want that level of control, there's always NativeCall
18:31 liztormato Dinner&
18:31 liztormato left #perl6-dev
18:31 cygx hm.. on win32, nqp::open() on a directory does indeed fail with mode "w", but not necessarily with other modes that also include write-access
18:49 Ven_ joined #perl6-dev
19:12 Zoffix We have uniprop-[int|str|bool] but those aren't in the spectest... Should they be? https://github.com/rakudo/rakudo/blob/20ed9e2/src/core/Cool.pm#L107
19:15 Zoffix m: say 'x'.uniprop-int
19:15 camelia rakudo-moar 20ed9e: OUTPUT«Cannot resolve caller uniprop-int(Str); none of these signatures match:␤    (Str:D $str, Stringy:D $propname)␤    (Int:D $code, Stringy:D $propname)␤  in block <unit> at <tmp> line 1␤␤»
19:15 Zoffix m: say '4'.uniprop-int('N')
19:15 camelia rakudo-moar 20ed9e: OUTPUT«1␤»
19:15 Zoffix m: say '4'.uniprop-str('N')
19:15 camelia rakudo-moar 20ed9e: OUTPUT«␤»
19:15 Zoffix m: say '4'.uniprop-bool('N')
19:15 camelia rakudo-moar 20ed9e: OUTPUT«True␤»
19:15 Zoffix :/
19:16 Zoffix m: say '4'.uniprop-bool('NM')
19:16 camelia rakudo-moar 20ed9e: OUTPUT«False␤»
19:16 Zoffix m: say '4'.uniprop-int('NM')
19:16 camelia rakudo-moar 20ed9e: OUTPUT«0␤»
19:17 AlexDaniel Zoffix: “Is this the oldest version the bot knows about?” – yeah. Wait, you want us to build more fossils? :)
19:18 AlexDaniel it is possible
19:18 Zoffix Nah, it's fine.
19:18 Zoffix It's useful when writing tests for old tickets where you can ensure your test fails before the bug was fixed, but it's not that important.
19:21 AlexDaniel Still, that's not a bad idea: https://github.com/perl6/whateverable/issues/30
19:27 awwaiid joined #perl6-dev
19:33 dalek rakudo/nom: b771bcc | (Zoffix Znet)++ | src/core/Cool.pm:
19:33 dalek rakudo/nom: Make Cool.split work same as Str.split
19:33 dalek rakudo/nom:
19:33 dalek rakudo/nom: It seems when extra adverbs were added to Str.split, they were
19:33 dalek rakudo/nom: forgotten in Cool. The .split(@needles...) form is also broken
19:33 dalek rakudo/nom: on Cool. We can get rid of multies in Cool and simply coerce the
19:33 dalek rakudo/nom: Cool to Stringy and let the Str.split figure out which multi to call.
19:33 dalek rakudo/nom:
19:33 dalek rakudo/nom: Fixes RT#129242: https://rt.perl.org/Ticket/Display.html?id=129242
19:33 synopsebot6 Link:  https://rt.perl.org/rt3//Public/Bug/Display.html?id=129242
19:33 dalek rakudo/nom: review: https://github.com/rakudo/rakudo/commit/b771bcc97a
19:34 dalek roast: 060cf7a | (Zoffix Znet)++ | S32-str/split.t:
19:34 dalek roast: .split works on Cool same as it works on Str
19:34 dalek roast:
19:34 dalek roast: RT#129242: https://rt.perl.org/Ticket/Display.html?id=129242
19:34 dalek roast: review: https://github.com/perl6/roast/commit/060cf7abff
19:34 synopsebot6 Link:  https://rt.perl.org/rt3//Public/Bug/Display.html?id=129242
19:39 nine timotimo: I wonder why we even do a canonpath for methods like .e. Why not let the file system deal with resolving the path? It ought to be much better and faster at that kind of work.
19:40 timotimo *shrug*, try it out and see :)
19:41 timotimo sounds like it would work
19:41 dalek roast: 3f98103 | (Zoffix Znet)++ | S05-match/capturing-contexts.t:
19:41 dalek roast: Fix broken fudge
19:41 dalek roast:
19:41 dalek roast: It appears that adding a fudge before a subtest fudges more tests
19:41 dalek roast: than what was specified in the fudge, so tests after the subtests
19:41 dalek roast: were being fudged as well. Moving the fudge inside the subtest
19:41 dalek roast: fixes the issue.
19:41 dalek roast: review: https://github.com/perl6/roast/commit/3f9810395a
19:41 AlexDaniel .tell [Coke] please give MasterDuke (ddgreen@gmail.com) privileges to close RT tickets
19:41 yoleaux2 AlexDaniel: I'll pass your message to [Coke].
19:42 nine timotimo: loading GTK::Simple is now down to 0.26 from 0.30 thanks to your improvements :)
19:44 timotimo me?!
19:44 timotimo woohoo!!
20:06 Zoffix buggable, tags
20:06 buggable Zoffix, Total: 1367; BUG: 529; UNTAGGED: 288; LTA: 116; NYI: 91; JVM: 63; RFC: 57; CONC: 51; SEGV: 37; REGEX: 34; UNI: 29; PERF: 27; @LARRY: 20; IO: 17; POD: 17; NATIVECALL: 15; TESTNEEDED: 14; BUILD: 11; PRECOMP: 11; TODO: 11; TESTCOMMITTED: 9; MATH: 7; OO: 7; STAR: 6; BOOTSTRAP: 5; GLR: 4; OSX: 4; REPL: 4; WEIRD: 3; CONFIGURE: 1; DOCS: 1; LIBRARY: 1; RT: 1; SITE: 1; SPEC: 1; See http://perl6.fail/ for details
20:07 Zoffix m: say "Delta in one day: total {1380-1367} / TESTNEEDED: {30-14}"
20:07 camelia rakudo-moar b771bc: OUTPUT«Delta in one day: total 13 / TESTNEEDED: 16␤»
20:07 Zoffix :/
20:07 Zoffix How can total closed testsneeded be more than total closed :/
20:08 Zoffix Oh, right, I untagged a couple that weren't yet fixed and it wasn't clear what the fixed form would be
20:10 ugexe Zoffix: do you have any of that code on github by chance?
20:11 Zoffix ugexe, https://github.com/zoffixznet/Rele6sr/blob/master/bin/app.p6
20:13 Zoffix ugexe, oh, and morbo/hypnotoad don't work IIRC. So I started the app with perl6 bin/app daemon  and for dev was using this script instead of morbo for restart-on-change: https://github.com/zoffixznet/Rele6sr/blob/master/start-app.p6
20:26 mst Zoffix: morbo/hypnotoad likely won't work right via Inline::Perl5, but may work fine if you load the app code via Inline::Perl6
20:27 mst whether that helps you at all, I've no idea
20:27 mst also, if neither works, I can try and debug it
20:36 timotimo nine: is that a GTK::Simple with "use" or with "require"?
20:43 timotimo apparently D calls lexically defined classes "voldemort types"
20:47 nine timotimo: the need variant
20:49 timotimo that's the faster one, right?
21:17 masak nwc10++ # alternative universe Frankfurt t-shirt
21:24 timotimo bail-adore ... %)
21:27 cygx_ joined #perl6-dev
21:41 nine timotimo: yes.
21:45 timotimo i wonder if i should just go ahead, make that change, close the issue
21:57 dalek roast: 0cfcd4f | (Zoffix Znet)++ | S12-enums/basic.t:
21:57 dalek roast: dynamically created lists can be used to define an enum
21:57 dalek roast:
21:57 dalek roast: RT#124251: https://rt.perl.org/Ticket/Display.html?id=124251
21:57 dalek roast: review: https://github.com/perl6/roast/commit/0cfcd4fb13
21:57 synopsebot6 Link:  https://rt.perl.org/rt3//Public/Bug/Display.html?id=124251
22:25 dalek roast: f71b8a6 | (Zoffix Znet)++ | S10-packages/use-with-class.t:
22:25 dalek roast: Fix typo
22:25 dalek roast: review: https://github.com/perl6/roast/commit/f71b8a67a3
22:30 perlpilot_ joined #perl6-dev
22:39 nine timotimo: I'm still wondering why the initial compilation of the need version is so much slower than the require version. Haven't even come up with any hypothesis at all.
22:41 timotimo nanites.
22:43 lizmat joined #perl6-dev
22:46 timotimo aliens
22:48 * lizmat waves from home
22:48 yoleaux2 10:14Z <timotimo> lizmat: if Str.match is involved in open("file"), maybe there's a place where simplematch could be used
22:48 yoleaux2 10:15Z <MasterDuke> lizmat: Str.match as optimization target++, i've looked at a bunch of --profile-compile profiles and match is usually near the top
22:48 yoleaux2 10:28Z <timotimo> lizmat: the time spent in match when doing open("foobar") is from the .e test calling canonpath, which is basically all match calls (it does all those substitutions); maybe there's a simpler method for substitutions like this.
22:48 dalek roast: 0c7d68f | (Zoffix Znet)++ | / (3 files):
22:48 dalek roast: no Perl6/World.nqp in warning
22:48 dalek roast:
22:48 dalek roast: When one module is used in another, with $!foo is rw trait.
22:48 dalek roast:
22:48 dalek roast: RT#126302: https://rt.perl.org/Ticket/Display.html?id=126302
22:48 dalek roast: review: https://github.com/perl6/roast/commit/0c7d68f76d
22:48 synopsebot6 Link:  https://rt.perl.org/rt3//Public/Bug/Display.html?id=126302
22:51 timotimo lizmat: did you see my progress on canonpath? :D
23:00 lizmat yes, it was along the lines I was thinking of
23:01 timotimo i'm glad :)
23:02 lizmat the last lines of canonpath I would do:
23:02 timotimo canonpath on a path that has no . or / or whatever in it is already almost free
23:02 lizmat $path.chars > 1 && $path.ends-with('/') ?? $path.chop !! $path
23:02 timotimo but there's no equivalent change for the windows spec yet, and i imagine it's difficult because both \ and / are allowed? or perhaps it'd be tr'd immediately
23:02 timotimo that sounds good, yes. do you want to commit that?
23:02 lizmat timotimo: sure, will do that
23:03 lizmat but not now  :-)
23:03 lizmat fwiw, that was one of the premises of newio: that you *can* use / on Win
23:03 lizmat it's just that on entry, you need to tr/\\/\//  :-)
23:04 lizmat so that this whole business can be integrated and $*SPEC can be put to sleep
23:04 timotimo ah
23:05 lizmat anyways..  pretty tired now
23:05 lizmat driving for about 6 hours
23:06 lizmat I should probably sleep before I commit anything :-)
23:06 timotimo aye, good night! :)
23:06 lizmat nighty night!
23:31 dalek roast: e1704aa | (Zoffix Znet)++ | S06-signature/definite-return.t:
23:31 dalek roast: using two `returns` produces sane error
23:31 dalek roast:
23:31 dalek roast: RT#125181: https://rt.perl.org/Ticket/Display.html?id=125181
23:31 dalek roast: review: https://github.com/perl6/roast/commit/e1704aa629
23:31 synopsebot6 Link:  https://rt.perl.org/rt3//Public/Bug/Display.html?id=125181
23:50 Zoffix committable6, 2016.02 say 2**10000000000
23:50 committable6 Zoffix, ¦«2016.02»: Numeric overflow␤  in block <unit> at /tmp/oJNs2peL54 line 1␤␤Actually thrown at:␤  in block <unit> at /tmp/oJNs2peL54 line 1␤ «exit code = 1»
23:50 Zoffix committable6, 2016.02 dd [ $*PERL.version ]
23:50 committable6 Zoffix, ¦«2016.02»: [Version.new('6.c')]
23:50 Zoffix committable6, 2016.02 dd [ $*PERL.compiler.version ]
23:50 committable6 Zoffix, ¦«2016.02»: [Version.new('2016.2')]
23:50 Zoffix I wonder how [Coke] got a 1 on a 2016.02 :/ https://rt.perl.org/Ticket/Display.html?id=125938#txn-1392590
23:51 Zoffix 32bit box?
23:51 Zoffix hm
23:52 Zoffix :(
23:58 dalek roast: be4bb4c | (Zoffix Znet)++ | S03-operators/overflow.t:
23:58 dalek roast: Remove trailing whitespace
23:58 dalek roast: review: https://github.com/perl6/roast/commit/be4bb4c9ed
23:58 dalek roast: c7a5606 | (Zoffix Znet)++ | S03-operators/overflow.t:
23:58 dalek roast: attempting to raise to a huge power throws
23:58 dalek roast:
23:58 dalek roast: RT#125938: https://rt.perl.org/Ticket/Display.html?id=125938
23:58 dalek roast: review: https://github.com/perl6/roast/commit/c7a560688a
23:58 synopsebot6 Link:  https://rt.perl.org/rt3//Public/Bug/Display.html?id=125938
23:59 Zoffix MasterDuke, AlexDaniel are you around? I killed committable6 again

| Channels | #perl6-dev index | Today | | Search | Google Search | Plain-Text | summary