Perl 6 - the future is here, just unevenly distributed

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

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

All times shown according to UTC.

Time Nick Message
00:35 b2gills TestNinja:  There is one cheaty thing I thought of 「s/'@Testers[0]'/$Current-Tester/」 and in subtest alias 「$Current-Tester」 to what will be 「@Testers[0]」
00:35 TestNinja Already done that, but thanks :)
00:38 TestNinja m: sub foo (\meow?) {}
00:38 camelia rakudo-moar ad5336: OUTPUT«===SORRY!=== Error while compiling <tmp>␤Malformed parameter␤at <tmp>:1␤------> sub foo (\meow⏏?) {}␤    expecting any of:␤        constraint␤»
00:38 TestNinja m: sub foo (\meow = Any) {}
00:38 camelia rakudo-moar ad5336: ( no output )
00:38 TestNinja Seems like the first one should also work
00:39 TestNinja hm
00:39 TestNinja m: sub foo (\meow) { meow() }; foo sub { say "hi" }
00:39 camelia rakudo-moar ad5336: OUTPUT«===SORRY!=== Error while compiling <tmp>␤Variable '&meow' is not declared␤at <tmp>:1␤------> sub foo (\meow) { ⏏meow() }; foo sub { say "hi" }␤»
00:39 TestNinja Can't find Callables?
00:40 TestNinja *bind
00:40 TestNinja m: sub foo (\meow) { dd meow }; foo sub { say "hi" }
00:40 camelia rakudo-moar ad5336: OUTPUT«sub () { #`(Sub|73869736) ... }␤»
00:40 TestNinja intresting heh
00:41 TestNinja m: sub foo (\meow) { meow.() }; foo sub { say "hi" }
00:41 camelia rakudo-moar ad5336: OUTPUT«hi␤»
00:41 TestNinja \o/
00:49 b2gills m: sub foo (\meow) { meow.() }; foo sub { say "hi" }
00:49 camelia rakudo-moar ad5336: OUTPUT«hi␤»
01:26 TestNinja m: say "New Test.pm6 is {681-433} lines smaller but takes {((484-453)/484*100).Int}% more time to complete"
01:26 camelia rakudo-moar ad5336: OUTPUT«New Test.pm6 is 248 lines smaller but takes 6% more time to complete␤»
01:27 TestNinja Boom. Optimization via using correct math :P
01:36 TestNinja m: sub dif (\x, \y) { sprintf '%.2f', abs(  (x - y) / max(x.abs, y.abs)  )*100 }; my $l = 426; my $to = 453; my $tn = 484; say "New Test.pm6 is {dif 681, $l}% smaller [{681-$l} lines less] and takes {dif $to, $tn}% more time to complete [stresstest takes {$tn-$to} seconds longer]"
01:36 camelia rakudo-moar ad5336: OUTPUT«New Test.pm6 is 37.44% smaller [255 lines less] and takes 6.40% more time to complete [stresstest takes 31 seconds longer]␤»
01:38 TestNinja m: sub dif (\x, \y) { sprintf '%.2f', abs(  (x - y) / max(x.abs, y.abs)  )*100 }; my $l = 426; my $to = 294; my $tn = 312; say "New Test.pm6 is {dif 681, $l}% smaller [{681-$l} lines less] and takes {dif $to, $tn}% more time to complete [spectest takes {$tn-$to} seconds longer]"
01:38 camelia rakudo-moar ad5336: OUTPUT«New Test.pm6 is 37.44% smaller [255 lines less] and takes 5.77% more time to complete [spectest takes 18 seconds longer]␤»
01:38 TestNinja Man, there's too much noise in spectest :/
01:59 dalek rakudo/better-test-pm6: 8a2b858 | (Zoffix Znet)++ | lib/Test.pm6:
01:59 dalek rakudo/better-test-pm6: Optimize (1)
01:59 dalek rakudo/better-test-pm6: review: https://github.com/rakudo/rakudo/commit/8a2b8583c5
01:59 dalek rakudo/better-test-pm6: 697a07b | (Zoffix Znet)++ | lib/Test.pm6:
01:59 dalek rakudo/better-test-pm6: Optimise (2)
01:59 dalek rakudo/better-test-pm6: review: https://github.com/rakudo/rakudo/commit/697a07bd43
01:59 dalek rakudo/better-test-pm6: 26e2474 | (Zoffix Znet)++ | / (2 files):
01:59 dalek rakudo/better-test-pm6: Add bench
01:59 dalek rakudo/better-test-pm6: review: https://github.com/rakudo/rakudo/commit/26e2474b79
02:01 dalek rakudo/nom: dd5bbd2 | MasterDuke17++ | src/Perl6/Actions.nqp:
02:01 dalek rakudo/nom: Allow Unicode digit match variables
02:01 dalek rakudo/nom:
02:01 dalek rakudo/nom: Fixes one part of RT #129279
02:01 dalek rakudo/nom: review: https://github.com/rakudo/rakudo/commit/dd5bbd20e0
02:01 synopsebot6 Link:  https://rt.perl.org/rt3//Public/Bug/Display.html?id=129279
02:01 dalek rakudo/nom: 050f8db | MasterDuke17++ | src/Perl6/Actions.nqp:
02:01 dalek rakudo/nom: Allow negative Unicode digit type constraints
02:01 dalek rakudo/nom:
02:01 dalek rakudo/nom: Part of the fix for RT #129279
02:01 synopsebot6 Link:  https://rt.perl.org/rt3//Public/Bug/Display.html?id=129279
02:01 dalek rakudo/nom: review: https://github.com/rakudo/rakudo/commit/050f8dbe34
02:01 dalek rakudo/nom: 941ee0e | MasterDuke17++ | src/Perl6/ (2 files):
02:01 dalek rakudo/nom: Allow Unicode digits in radix bases
02:20 dalek rakudo/better-test-pm6: 63e5357 | (Zoffix Znet)++ | lib/Test.pm6:
02:20 dalek rakudo/better-test-pm6: Optimise 3
02:20 dalek rakudo/better-test-pm6: review: https://github.com/rakudo/rakudo/commit/63e535797a
02:26 dalek roast: 968764e | MasterDuke17++ | S0 (3 files):
02:26 dalek roast: Tests for Unicode digits in various places
02:26 dalek roast:
02:26 dalek roast: E.g., radix bases, match variables, and type constraints
02:26 dalek roast: Tests for RT #129279
02:26 dalek roast: review: https://github.com/perl6/roast/commit/968764ed4d
02:27 synopsebot6 Link:  https://rt.perl.org/rt3//Public/Bug/Display.html?id=129279
02:50 japhb TestNinja: I think there's a copy/paste error at the end of https://github.com/rakudo/rakudo/commit/63e535797a
02:55 travis-ci joined #perl6-dev
02:55 travis-ci Rakudo build failed. Zoffix Znet 'Merge pull request #878 from MasterDuke17/RT129279
02:55 travis-ci https://travis-ci.org/rakudo/rakudo/builds/160338801 https://github.com/rakudo/rakudo/compare/ad5336d64484...78393dd41698
02:55 travis-ci left #perl6-dev
06:17 [Tux] This is Rakudo version 2016.08.1-202-g78393dd built on MoarVM version 2016.08-47-g2eedba8
06:17 [Tux] csv-ip5xs        9.310
06:17 [Tux] test            16.183
06:17 [Tux] test-t           6.924
06:17 [Tux] csv-parser      18.386
06:41 zengargoyle joined #perl6-dev
07:13 nine Ok, I'm close to giving up. How can I intercept writes to a hash? I tried mixing in a role that overrides multi method ASSIGN-KEY but then rakudo rightfully complains about ambiguous calls.
07:19 moritz nine: what if you give it an "is default" trait?
07:20 moritz m: my %h = a => 1; %h does role { method ASSIGN-KEY(Str() $key, Mu \value) is default { say "Assigning to $key"; nextsame }}; %h<x> = 'y'; say %h
07:20 camelia rakudo-moar 78393d: OUTPUT«Assigning to x␤{a => 1, x => y}␤»
07:21 moritz m: my %h = a => 1; %h does role { method ASSIGN-KEY(Str() $key, Mu \value)  { say "Assigning to $key"; nextsame }}; %h<x> = 'y'; say %h
07:21 camelia rakudo-moar 78393d: OUTPUT«Assigning to x␤{a => 1, x => y}␤»
07:21 moritz m: my %h = a => 1; %h does role { method ASSIGN-KEY($key, Mu \value)  { say "Assigning to $key"; nextsame }}; %h<x> = 'y'; say %h
07:21 camelia rakudo-moar 78393d: OUTPUT«Assigning to x␤{a => 1, x => y}␤»
07:51 nine moritz: so many thanks!
08:01 moritz nine: you're welcome. No idea why it works for me without "is default", but not for you
08:04 nine m: my $h = { a => 1, b => 2} but role :: { multi method ASSIGN-KEY(Hash:D: Str:D \key, Mu \assignval) is raw { note "ASSIGN-KEY"; } }; $h<c> = 3;
08:04 camelia rakudo-moar 78393d: OUTPUT«Ambiguous call to 'ASSIGN-KEY'; these signatures all match:␤:(Hash:D $: Str:D \key, Mu \assignval, *%_)␤:(Hash:D $: Str:D \key, Mu \assignval, *%_)␤  in block <unit> at <tmp> line 1␤␤»
08:16 moritz oh
08:16 moritz it's because I didn't make it a multi
09:24 RabidGravy joined #perl6-dev
09:35 lizmat nine: I guess you *can* make it a multi if you give it its own proto ?
09:36 nine will try that, too :)
09:51 TestNinja japhb, thanks it is
09:51 TestNinja That entire commit is crap though. I've just realized my benching was including compilation. I need to rethink this whole thing.
09:53 * lizmat is preparing for her presentation for the Dutch Linux User Group: https://nllgg.nl/bijeenkomst/20160917
09:54 DrForr lizmat: I've found a flight that lets me get to LPWover a weekend, I'll see if that works. I may need to twist Mark's arm to get me some sort of visa though, or at least a declaration that my time is uncompensated.
09:55 lizmat sigh # visa troubles
09:55 timotimo i wonder if it's less hassle for "terrorists" to enter a country than it is for regular citizens
09:56 nine it probably is
09:56 timotimo kind of like how DRM/copy-protection makes it harder for normal customers and "pirates" have it super easy
09:56 jnthn The UK visa systems is a comparatively nasty one too.
09:57 * timotimo tweetet that out and hopes for interesting insights from people smarter than him
09:57 DrForr Amd I now have to be extra careful due to this Brexit crap.
09:57 jnthn Expensive, no clear rules what they want ("just convince us!"), no appeals process
10:01 DrForr The annoying part is that even if I'm just there for tourism I tend to get delayed by ~2 hours at the customs border check due to ... well, if I'm being honest, being lied to.
10:02 timotimo DrForr: i haven't gotten a good-enough look at you, but do you look ... "dangerous"?
10:02 nine Looks like mixing in the role works but is really slow. I wonder if I can somehow detect situations in which I actually need it, like having an is rw on a callback's signature.
10:02 DrForr That's not the issue. If I get over there, the story'll cost you an ale :)
10:03 dalek rakudo/better-test-pm6: df27b27 | (Zoffix Znet)++ | lib/Test.pm6:
10:03 dalek rakudo/better-test-pm6: Revert "Optimise 3"
10:03 dalek rakudo/better-test-pm6:
10:03 dalek rakudo/better-test-pm6: This reverts commit 63e535797adef the bench that suggested it was incorrectly
10:03 dalek rakudo/better-test-pm6: done and it makes the code too dirty, while offering nearly no benefit.
10:03 dalek rakudo/better-test-pm6: review: https://github.com/rakudo/rakudo/commit/df27b27aa5
10:03 DrForr (thirsty work, I had to do it several times at YAPC.)
10:09 timotimo i'm not going to be at LPW, DrForr :(
10:17 DrForr :(
10:36 TestNinja .seen zoffix
10:36 buggable joined #perl6-dev
10:37 huggable joined #perl6-dev
10:37 NeuralAnomaly joined #perl6-dev
10:38 yoleaux2 joined #perl6-dev
10:38 TestNinja NeuralAnomaly, stats
10:38 NeuralAnomaly TestNinja, [✘] Next release is today. Since last release, there are 52 new still-open tickets (3 unreviewed and 0 blockers) and 11 unreviewed commits. See http://perl6.fail/release/stats for details
10:38 TestNinja yey for timezones, rounding, and off-by-one errors (mabby)
10:39 jnthn Today?! :)
10:39 TestNinja Nah, tomorrow.
10:40 timotimo "the day of the release starts in less than 24 hours"
10:40 TestNinja But it's probably using midnight as a mark and then sees there are X hours only and thinks that's good enough to call it "today" :)
10:47 stmuk I have a pocket chip thing!
10:49 timotimo is that the little dev board that comes with an enclosure for game play & development?
10:50 stmuk yes!
10:51 stmuk https://getchip.com/pages/pocketchip
10:51 timotimo cool
10:51 timotimo i bet if you put this in the hands of a curious child, amazing things could happen
10:51 stmuk arm7 debian jessie .. comes with perl 5 it seems but not rakudo or gcc (yet)
10:51 stmuk it may end up with my nephew
10:54 timotimo pico8 is magical
10:58 stmuk yes a nice idea
11:00 brrt joined #perl6-dev
11:02 arnsholt Oh, neat!
11:04 brrt when is the LPW
11:05 tadzik oh yeah, it'd be nice to see it while England is still... available for visiting :P
11:05 brrt :-P
11:08 stmuk http://act.yapc.eu/lpw2016/
11:08 brrt december 3rd
11:56 nine Turns out, inspecting the signature and only applying the WritebackHash role if there's an "is raw" is actually a tiny bit slower still
11:57 nine Of course, doing that on every call cannot exactly help there...
11:57 jnthn nine: Might be faster to just subclass Hash and just turn the thing straight into that type
11:58 jnthn Due to potential for action at a distance, mixins cause global deopt
11:58 nine Ah, good to know! Will try with subclassing then.
11:59 lizmat nine: perhaps subclass Map rather than Hash
11:59 lizmat as it was supposed to be (mostly) immutable ?
12:00 nine lizmat: no, no, it is supposed to be writable. It's just that the writes should make it back to the Perl 5 hash, too
12:00 lizmat ah, ok  :-)
12:01 nine I've also played with the thought of wrapping the P5 hash in a proxy object instead of copying it. But I somehow cannot imagine that being very fast as we have to go through NativeCall for every single access.
12:48 ab6tract joined #perl6-dev
13:01 brrt left #perl6-dev
13:06 nine Another surprise: the subclass is not even faster. Seems like I have to fire up the profiler to get at the bottom of this...
13:12 AlexDaniel joined #perl6-dev
13:12 lizmat :-(
13:12 lizmat afk&
13:21 bisectable6 joined #perl6-dev
13:24 bisectable6 joined #perl6-dev
13:24 bisectable6 joined #perl6-dev
13:25 bisectable6 joined #perl6-dev
13:25 bisectable6_ joined #perl6-dev
13:25 MetaZoffix joined #perl6-dev
13:26 bisectable6 joined #perl6-dev
13:32 gfldex joined #perl6-dev
13:32 bisectable6 joined #perl6-dev
13:42 gfldex joined #perl6-dev
13:43 dalek rakudo/better-test-pm6: 9f72bff | (Zoffix Znet)++ | lib/Test.pm6:
13:43 dalek rakudo/better-test-pm6: Format a bit nicer
13:43 dalek rakudo/better-test-pm6: review: https://github.com/rakudo/rakudo/commit/9f72bff45f
13:47 dalek rakudo/better-test-pm6: 85c3eb7 | (Zoffix Znet)++ | lib/Test.pm6:
13:47 dalek rakudo/better-test-pm6: Add notes for future perusers of the branch
13:47 dalek rakudo/better-test-pm6:
13:47 dalek rakudo/better-test-pm6: A bench of common tests shows this module is 33% slower than its currently
13:47 dalek rakudo/better-test-pm6: active counterpart. The several hot spots that can be optimized also exist in
13:47 dalek rakudo/better-test-pm6: some form in the "old" module and can be optimized there as well, resulting
13:47 dalek rakudo/better-test-pm6: in a null performance gain for this version of the module.
13:47 dalek rakudo/better-test-pm6:
13:47 dalek rakudo/better-test-pm6: I don't see a way to gain 33% improvement from other code paths, so I'm
13:47 dalek rakudo/better-test-pm6: giving up on this branch and am OK with it being deleted entirely after
13:47 dalek rakudo/better-test-pm6: the tears over the lost time spent dry out.
13:47 dalek rakudo/better-test-pm6: review: https://github.com/rakudo/rakudo/commit/85c3eb711a
13:49 MetaZoffix :) knowing when to give up is a useful skill
13:56 gfldex joined #perl6-dev
13:56 MetaZoffix joined #perl6-dev
13:57 FROGGS joined #perl6-dev
14:37 ugexe m: say "xxx".match(/<after 1>/); say "xxx".match(/<after x>/); # Both of these fail to match, so why does only one of them output that `#<failed match>` in their gist?
14:37 camelia rakudo-moar 78393d: OUTPUT«Nil␤「」␤ after #<failed match>␤»
14:38 timotimo um, isn't one of them just an empty match?
14:39 ugexe ah yeah, i think i had a better example
14:39 timotimo it is, however, strange to have #<failed match> inside there. it might misinterpret zero-width as failed to match for the submatch
14:39 timotimo m: say "xxx".match(/<.after x>/);
14:39 camelia rakudo-moar 78393d: OUTPUT«「」␤»
14:39 timotimo m: say "xxx".match(/<after x>/);
14:39 camelia rakudo-moar 78393d: OUTPUT«「」␤ after #<failed match>␤»
14:39 timotimo you see?
14:41 ugexe ah ha. yeah that zero width bit was confusing me with this actual code
14:41 timotimo however, isn't the <after x> actually supposed to match an x, even though its result is reported as zero-width?
14:42 timotimo i wonder if perl6's own grammar has a bunch of after and before rules that could get a . without making stuff break
14:43 ugexe it'd probably be a nice little speed boost if so
14:45 timotimo fewer GC runs, i expect
14:49 nine Oooh. The massive performance difference is actually that my workaround version passes back a hash with values to be merged into %token while the WritebackHash version converts %token into a Perl 6 hash first, just to intercept the writes.
14:50 nine Converting the hash to Perl 6 is what takes a lot of time because it makes a _lot_ of calls into Perl 5
14:50 timotimo ooooh!
14:51 nine That's this code: https://github.com/niner/Inline-Perl5/blob/master/lib/Inline/Perl5.pm6#L351
14:52 nine That's at least 5 NativeCalls for each hash entry.
14:52 timotimo ouchies! :)
14:53 nine And it recurses. So if there are more hashes and arrays, that's a lot of work. And yes, those %tokens in Dancer2 contain a lot of data.
14:54 nine So yes, in this case it would actually be much better to have a Proxy to the P5 hash instead of a copy.
14:54 nine In other cases it will be the other way around. So having the user decide (by way of an "is raw") may actually be a good way to handle this.
15:12 nine Oh yes, that's much faster
15:12 timotimo fantastic! :)
15:12 nine Well at least much less slow ;)
15:20 dalek rakudo/nom: 4a954d8 | (Zoffix Znet)++ | lib/Test.pm6:
15:20 dalek rakudo/nom: Optimise proclaim()
15:20 dalek rakudo/nom:
15:20 dalek rakudo/nom: Rewrite $desc.subst with nqp ops
15:20 dalek rakudo/nom:
15:20 dalek rakudo/nom: Although the profiler shows a 68% improvement with a loop over 100 ok()s,
15:20 dalek rakudo/nom: I don't see any difference in spectest run: both versions take 86s.
15:20 dalek rakudo/nom: review: https://github.com/rakudo/rakudo/commit/4a954d8858
15:23 TimToady why not make a P5Hash repr and use the P5 hash directly?
15:24 TimToady that was one of the early motivations for having representational polymorphism in the first place...
15:25 nine That's certainly something I should look into
15:25 nine Though I thought a repr is about memory layout?
15:27 TimToady well, that might be all it is at the moment, but the orignal intent was to allow other language's object formats in as native-ish
15:28 timotimo well, the repr also decides how key-based operations are handled
15:29 timotimo at-key, bind-key, exists-key
15:29 timotimo same for other stuff, too.
15:32 TimToady I mean, basically I've wanted that feature ever since I pulled expat into P5 and realized how much time was being spent translating data to P5 object format
15:33 TimToady which sure sounds a lot like the current situation :)
15:33 TimToady only maybe in reverse
15:36 nine Absolutely makes sense :)
15:36 nine The fastest work is the work you don't have to do at all - like needless copying
15:37 timotimo yeah
16:06 nine If I want to iterator over my %p5hash with for %p5hash, all Perl5Hash to do is consume Iterable and implement method iterator(), doesn't it?
16:09 nine At least that's what works in a trivial command line test, but in the real thing, iterator() is just not called and instead it iterates only once with the whole Perl5Hash as the item
16:16 dalek rakudo/nom: 9154702 | (Zoffix Znet)++ | lib/Test.pm6:
16:16 dalek rakudo/nom: Micro-optimise failure output
16:16 dalek rakudo/nom:
16:16 dalek rakudo/nom: Profiler indicates a 2.1x improvement in 100 is() failures
16:16 dalek rakudo/nom:
16:16 dalek rakudo/nom: todo()'s reason hashmark escaper removed, because—unlike a test
16:16 dalek rakudo/nom: description—there's nothing for it to interefere with and it
16:16 dalek rakudo/nom: doesn't need to be escaped.
16:16 dalek rakudo/nom: review: https://github.com/rakudo/rakudo/commit/915470278b
16:18 travis-ci joined #perl6-dev
16:18 travis-ci Rakudo build passed. Zoffix Znet 'Optimise proclaim()
16:18 travis-ci https://travis-ci.org/rakudo/rakudo/builds/160476464 https://github.com/rakudo/rakudo/compare/78393dd41698...4a954d8858d5
16:18 travis-ci left #perl6-dev
16:18 buggable [travis build above] ☠ Did not recognize some failures. Check results manually
16:20 MetaZoffix joined #perl6-dev
16:22 MetaZoffix I'm curious of next [Tux]'s speed results. The profiler showed good gains, but spectest runs showed nothing at all, running at 86s all the time. But I wonder if it's just a couple of slow tests that hide the results of all the rest.
16:23 timotimo don't forget the gains are also divided by however many cores you're running tests on
16:23 timotimo does tux's benchmark use Test anyway?
16:24 MetaZoffix Also, stage parse used to 45s and now it's 67s :/ I really hope that's Google ripping me off with its VM.
16:24 MetaZoffix Oh, no idea.
16:25 japhb MetaZoffix: Which VM tier are you trying to use?
16:25 MetaZoffix I'm using custom 24 vCPUs, 30 GB
16:26 japhb Huh.  Seems like that shouldn't be a problem, unless you're dying of sharing cache bandwidth or something
16:27 MetaZoffix Hm?
16:27 japhb Meaning, you're not trying to use low memory or shared-CPU instances or anything.
16:27 MetaZoffix A few months ago, that same VM ran stage parse in 45s, but now 67s
16:28 japhb Oh wait!  I wonder if you changed CPU family or somesuch.
16:28 * japhb wonders if it's even possible to specify that
16:29 timotimo i wouldn't be terribly surprised if there wasn't something that got added to the core setting that'd make parsing and generating time slower
16:29 MetaZoffix Don't think so. But I've noticed a slowdown on my home box as well. It was just below 60s and now it's somewhere in the 70s
16:29 MetaZoffix Yeah, mabby
16:30 japhb Ah, *phew*.  I was thinking that it had somehow gotten 50% slower without any changes to the "expected" parsing speed.
16:30 MetaZoffix timotimo: how are they divided though? If I have 4 test files that run for 1m each. On 4core box they will take 1m to run. On 1core box 4m. If I make the tests twice as fast. They will run for .5m and 2m respectively. A 2x gain in both cases.
16:31 TimToady joined #perl6-dev
16:31 MetaZoffix Oh, now I remember why I came here.
16:31 MetaZoffix buggable: source
16:31 buggable MetaZoffix, See: https://github.com/zoffixznet/perl6-buggable
16:31 timotimo hm
16:31 japhb Parsing has the problem that it's single-threaded, so that case at least isn't gaining much from cores past maybe 2 or 3 (to account for efficiencies in I/O and kernel stuff when it's on a separate core)
16:31 timotimo forget i said that ;)
16:40 buggable joined #perl6-dev
16:40 MetaZoffix https://travis-ci.org/rakudo/rakudo/builds/160476464
16:41 MetaZoffix (buggable now ignores JVM, until "allow_failures" is removed)
16:54 MetaZoffix Zoffix strikes again.... now with:    committable6: 2016.04 say ١**2
16:54 MetaZoffix star: say ١**2
16:54 camelia star-m 2016.04: OUTPUT«1␤»
17:03 dalek rakudo/nom: cc88653 | (Zoffix Znet)++ | lib/Test.pm6:
17:03 dalek rakudo/nom: Remove erroneous semicolon
17:03 dalek rakudo/nom: review: https://github.com/rakudo/rakudo/commit/cc88653cb6
17:12 travis-ci joined #perl6-dev
17:12 travis-ci Rakudo build failed. Zoffix Znet 'Micro-optimise failure output
17:12 travis-ci https://travis-ci.org/rakudo/rakudo/builds/160490926 https://github.com/rakudo/rakudo/compare/4a954d8858d5...915470278b41
17:12 travis-ci left #perl6-dev
17:12 buggable [travis build above] ☠ Did not recognize some failures. Check results manually
17:13 MetaZoffix t/04-nativecall/13-union.t again
17:16 dalek rakudo/nom: e406758 | (Zoffix Znet)++ | docs/ChangeLog:
17:16 dalek rakudo/nom: Log all changes to date
17:16 dalek rakudo/nom:
17:16 dalek rakudo/nom: Documents commits beec02a 5f2e96b 4667702 dd5bbd2 050f8db 941ee0e
17:16 dalek rakudo/nom: review: https://github.com/rakudo/rakudo/commit/e40675887c
17:24 nine Always proxying hashes instead of copying saves another 33 % of the runtime in the Dancer2 benchmark.
17:39 DrForr ++nine
17:44 [Tux] timotimo, no (timing doesn't use Test). The test suite does
17:50 timotimo wow, nine. that us a lot
17:50 timotimo how easy is it to move a full hash over? perhaps with json works well?
17:58 japhb nine: Proxying with Proxy?  Or a REPR?
18:01 timotimo well, a repr takes a few more minutes to build
18:06 lizmat can we actually build a REPR in NQP / Perl 6 land ?
18:07 mst NativeCall into MoarVM ?
18:07 * mst runs
18:20 ugexe appveyor has failed all builds since https://github.com/rakudo/rakudo/commit/626a2220e719547f242286cfaea74977a91b8d38
18:21 stmuk tar-m 2016.04?
18:21 stmuk +s
18:23 ugexe no, latest rakudo built from source
18:27 nine I'm definitely going the proxied hash route. It has too many advantages not to. And the only case where it's slower is actually when values are accessed multiple times.
18:27 MetaZoffix joined #perl6-dev
18:28 nine Should also do the same with Perl 6 hashes :)
18:28 MetaZoffix ugexe: it was likely still failing tests in earlier commits, but the failures were silent
18:29 ugexe MetaZoffix: yep thats it
18:30 MetaZoffix Same with JVM
18:30 MetaZoffix Oh, that's probably *just* the JVM failing. We had to allow_failure for it on travis
18:31 ugexe jvm is not tested on windows
18:31 MetaZoffix oh
18:40 ugexe compile_test_lib('02-simple-args') is what fails on windows
18:40 ugexe https://gist.github.com/ugexe/ac343c406179d3cf0794651e78182cb7
18:42 travis-ci joined #perl6-dev
18:42 travis-ci Rakudo build passed. Zoffix Znet 'Log all changes to date
18:42 travis-ci https://travis-ci.org/rakudo/rakudo/builds/160506284 https://github.com/rakudo/rakudo/compare/cc88653cb6fa...e40675887c41
18:42 travis-ci left #perl6-dev
18:44 dalek rakudo/nom: d63f983 | (Zoffix Znet)++ | / (2 files):
18:44 dalek rakudo/nom: Make all yadas work to stub classes
18:44 dalek rakudo/nom:
18:44 dalek rakudo/nom: Only `...` works to stub classes, while `…`, `!!!`, and `???` do not,
18:44 dalek rakudo/nom: yet they do to stub subs, for example. This commit makes them all work
18:44 dalek rakudo/nom: to stub classes too.
18:44 dalek rakudo/nom:
18:44 dalek rakudo/nom: Fixes RT#129270: https://rt.perl.org/Ticket/Display.html?id=129270
18:44 dalek rakudo/nom: review: https://github.com/rakudo/rakudo/commit/d63f983290
18:44 synopsebot6 Link:  https://rt.perl.org/rt3//Public/Bug/Display.html?id=129270
18:44 dalek roast: 0ade2a5 | (Zoffix Znet)++ | S12-class/stubs.t:
18:44 dalek roast: Test all yadas work to stub classes
18:44 dalek roast:
18:44 dalek roast: RT#129270: https://rt.perl.org/Ticket/Display.html?id=129270
18:44 dalek roast: review: https://github.com/perl6/roast/commit/0ade2a58c9
18:44 synopsebot6 Link:  https://rt.perl.org/rt3//Public/Bug/Display.html?id=129270
18:49 dalek roast: 3c8e5c6 | (Zoffix Znet)++ | S (2 files):
18:49 dalek roast: Move sub stub tests
18:49 dalek roast:
18:49 dalek roast: Out of class stubs to "advanced" stubs file that does have subs.
18:49 dalek roast: review: https://github.com/perl6/roast/commit/3c8e5c6ed5
18:53 stmuk oh the Robot is releasing this weekend?
18:53 MetaZoffix Yup.
18:53 MetaZoffix NeuralAnomaly: status
18:53 NeuralAnomaly MetaZoffix, [✘] Next release is today. Since last release, there are 50 new still-open tickets (0 unreviewed and 0 blockers) and 2 unreviewed commits. See http://perl6.fail/release/stats for details
18:53 MetaZoffix (never mind the "today" :P)
18:57 ugexe so it can't compile because it doesn't understand `ssize_t` it seems https://github.com/rakudo/rakudo/blob/nom/t/04-nativecall/02-simple-args.c#L106
18:57 lizmat reminds me of a program I once wrote that was supposed to countdown the same way for everybody running that program
18:58 lizmat on the same (mainframe) system: imagine my embarrassment when it went: 5, 4, 3, 2, 1, 0, ..... -1, -2, -3   :-)
18:59 MetaZoffix :)
19:04 ugexe s/ssize_t/SSIZE_T/ also fixes it on windows...
19:05 perlpilot nine: What's the reason Inline::Perl5 requires Perl 5.18?  (I just tried installing it on a system that has 5.16.3 not realizing it needed 5.18)
19:21 nine perlpilot: I actually don't know. Only found a commit that lowered the requirement from 5.22 to 5.18. Probably some api function I use but I just cannot remember.
19:22 perlpilot nine: okay, thanks.  no big deal; I was just curious (and if I should explore making it work with 5.16 :)
19:23 nine perlpilot: I'd be happy to take a patch or two :) You're surely not the only one that would help
19:24 perlpilot Well ... the more I think about it, the more I think it won't be too difficult to just get Perl upgraded  :)
19:26 nine Ah, it's av_top_index
19:29 nine Seems like av_len does the same and is supported on older perls
19:33 hankache joined #perl6-dev
19:45 dalek rakudo/nom: ee23fc6 | (Steve Mynott)++ | CONTRIBUTING.md:
19:45 dalek rakudo/nom: minor typo
19:45 dalek rakudo/nom: review: https://github.com/rakudo/rakudo/commit/ee23fc6579
19:45 dalek rakudo/nom: 81d71e7 | (Steve Mynott)++ | README.md:
19:45 dalek rakudo/nom: another minor typo
19:45 dalek rakudo/nom: review: https://github.com/rakudo/rakudo/commit/81d71e7c31
19:45 dalek rakudo/nom: f3692a0 | (Zoffix Znet)++ | / (2 files):
19:45 dalek rakudo/nom: Merge pull request #879 from stmuk/nom
19:45 dalek rakudo/nom:
19:45 dalek rakudo/nom: minor typo
19:45 dalek rakudo/nom: review: https://github.com/rakudo/rakudo/commit/f3692a0b6d
19:46 dalek rakudo/nom: a944eda | ugexe++ | t/04-nativecall/02-simple-args.c:
19:46 dalek rakudo/nom: Define ssize_t for win32 nativecall test
19:46 dalek rakudo/nom: review: https://github.com/rakudo/rakudo/commit/a944eda087
19:46 dalek rakudo/nom: ab68f82 | (Zoffix Znet)++ | t/04-nativecall/02-simple-args.c:
19:46 dalek rakudo/nom: Merge pull request #880 from ugexe/patch-12
19:46 dalek rakudo/nom:
19:46 dalek rakudo/nom: Define ssize_t for win32 nativecall test
19:46 dalek rakudo/nom: review: https://github.com/rakudo/rakudo/commit/ab68f823b2
19:46 japhb OK, so serious yak shaving here: I want to connect securely to my IRC server, so I need SSL/TLS in IRC::Client, but IRC::Client doesn't support secure connections, because it uses IO::Socket::Async (which doesn't support SSL/TLS), instead of synchronous IO::Socket::*, for obvious reasons.  But IO::Socket::Async doesn't support SSL/TLS because NQP doesn't, and NQP doesn't because MoarVM doesn't, and MoarVM doesn't because libuv doesn't, and libuv doesn't becaus
19:48 japhb There are various posts and repos on the net regarding marrying OpenSSL and libuv, but it looks like even if we did that, it would have to be plumbed all the way back up the stack step by step.  Which itself isn't so bad, except I have no idea how the SSL/TLS handshaking and callbacks and stuff would interact with the new async/codec streaming API jnthn++ just wrote.
19:48 japhb So ... bleah.
19:50 japhb .ask jnthn When you get a few cycles, could you sketch out how you would want async SSL/TLS to even work with your new NQP async streaming APIs, so one of us could do the grunt work?
19:50 yoleaux2 japhb: I'll pass your message to jnthn.
19:50 japhb (Not that I'm particularly looking forward to grunt work, but somebody has to, because dang: not having secure connections is making async APIs way less useful for me.)
19:54 ugexe japhb: this hack works, but its slow as hell https://gist.github.com/ugexe/71d82eb4bb5653125bd8
20:08 japhb ugexe: Intrinsically so?  Or just not optimized much yet?
20:22 committable6 joined #perl6-dev
20:24 sivoais joined #perl6-dev
20:30 nine Oh, there's more. On perl 5.16 v6::invoke is a syntax error.
20:30 nine perlpilot: ^^^
20:31 mst oh, right, it's parsing the v6 as a v-string isn't it
20:32 mst nine: maybe make it p6::invoke() instead?
20:33 nine I'd say yes: "Bareword found where operator expected at -e line 1, near "v6::invoke""
20:34 mst yeah. V6::invoke works fine, as does p6::invoke
20:34 nine That's a real deal breaker. A reason why I chose the v6 package was that I'm very sure no one else has ever used it for a module that's used anywhere.
20:35 nine It was not _just_ because it's cute :)
20:37 mst well, why not just make invoke() an export and avoid the whole problem?
20:37 mst I mean, currently, you're just stamping on flavio glock
20:42 nine An export from which package?
20:42 mst I thought Inline::Perl6 brought that into scope
20:43 mst so why not do 'use Inline::Perl6 qw(invoke);' or similar?
20:44 AlexDaniel joined #perl6-dev
20:50 nine It's actually part of Inline::Perl5.
20:50 mst right, that's what I meant
20:50 mst oh
20:50 mst oh, sorry
20:53 TestNinja left #perl6-dev
21:06 TestNinja joined #perl6-dev
21:08 bisectable6 joined #perl6-dev
21:10 bisectable6 joined #perl6-dev
21:14 committable6 joined #perl6-dev
21:26 lizmat good night, #perl6-dev
21:27 Ven_ joined #perl6-dev
21:29 TestNinja night
21:33 sivoais joined #perl6-dev
21:34 committable6 joined #perl6-dev
21:35 benchable6 joined #perl6-dev
21:35 bisectable6 joined #perl6-dev
21:57 Ven_ joined #perl6-dev
22:15 Ven_ joined #perl6-dev
22:29 Ven_ joined #perl6-dev
22:30 benchable6 joined #perl6-dev
22:41 Ven_ joined #perl6-dev
22:53 Ven_ joined #perl6-dev
22:58 TestNinja ???????????? https://www.youtube.com/watch?v=yv8xz7I2Wb4
23:27 Ven_ joined #perl6-dev

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