[00:01] yeah [00:05] *** melezhik left [00:13] *** leont left [01:02] *** raku-bridge left [01:02] *** raku-bridge joined [01:12] *** lucasb left [04:31] *** Xliff left [05:57] *** frost-lab joined [06:04] *** sena_kun joined [06:31] *** squashable6 left [06:34] *** squashable6 joined [06:55] *** raku-bridge left [07:32] *** domidumont joined [07:33] *** squashable6 left [07:33] *** squashable6 joined [07:34] *** squashable6 left [07:35] *** squashable6 joined [08:11] *** Altai-man joined [08:13] *** sena_kun left [09:33] *** MasterDuke joined [09:52] Files=1345, Tests=117140, 235 wallclock secs (29.81 usr 9.17 sys + 3186.32 cusr 316.05 csys = 3541.35 CPU) [09:53] ¦ rakudo: b1f59a2f91 | (Vadim Belman)++ | src/Perl6/Actions.nqp [09:53] ¦ rakudo: Improve the performance of signature binding [09:53] ¦ rakudo: [09:53] ¦ rakudo: Replacing `nqp::ctxcode(nqp::ctx)` pair with `nqp::curcode` reduces the [09:53] ¦ rakudo: overall performance loss on a test script from 20-30% to 14-20% with 14% [09:53] ¦ rakudo: being the most likely outcome. [09:53] ¦ rakudo: review: https://github.com/rakudo/rakudo/commit/b1f59a2f91 [09:53] ¦ rakudo: f2ad038701 | (Elizabeth Mattijsen)++ (committed using GitHub Web editor) | src/Perl6/Actions.nqp [09:53] ¦ rakudo: Merge pull request #4059 from vrurg/rakudo_4056 [09:53] ¦ rakudo: [09:53] ¦ rakudo: Improve the performance of signature binding [09:53] ¦ rakudo: review: https://github.com/rakudo/rakudo/commit/f2ad038701 [10:25] *** morayj joined [11:02] Files=1345, Tests=117140, 235 wallclock secs (29.81 usr 9.17 sys + 3186.32 cusr 316.05 csys = 3541.35 CPU) [11:02] ^^ before the latest merge [11:07] ¦ rakudo: f2851b9078 | (Elizabeth Mattijsen)++ | src/core.c/REPL.pm6 [11:07] ¦ rakudo: Alternate fix for #4057 [11:07] ¦ rakudo: [11:07] ¦ rakudo: Instead of trying to look for statements, take the whole of a [11:07] ¦ rakudo: successful statement (whether that be from one line or multiple [11:07] ¦ rakudo: lines) as a single thing, assign it to the nameless state variable [11:07] ¦ rakudo: to prevent "useless use" warnings, and join that up with whatever [11:07] ¦ rakudo: the next line brings when it's being evalled. [11:07] RAKUDO#4057 [open]: https://github.com/rakudo/rakudo/issues/4057 REPL complaints about "useless" actions [11:07] ¦ rakudo: review: https://github.com/rakudo/rakudo/commit/f2851b9078 [11:21] *** leont joined [11:34] *** unclechu left [11:34] *** JJAtria[m] left [11:34] *** MitarashiDango[m left [11:35] *** AlexDaniel` left [11:41] *** unclechu joined [11:42] *** Altai-man left [11:46] *** frost-lab left [11:52] *** JJAtria[m] joined [11:52] *** MitarashiDango[m joined [11:52] *** AlexDaniel` joined [12:09] *** [Tux] left [12:13] *** [Tux] joined [12:37] *** domidumont left [12:41] *** domidumont joined [13:05] *** sena_kun joined [13:06] *** Xliff joined [13:06] *** squashable6 left [13:08] *** squashable6 joined [13:22] ¦ rakudo: aecfc9b3d0 | (Elizabeth Mattijsen)++ | src/core.c/Supply-coercers.pm6 [13:22] ¦ rakudo: Increase sensitivity of Supply.batch(:seconds) x 1000 [13:22] ¦ rakudo: [13:22] ¦ rakudo: Instead of using "per second" granularity for batching based on elapsed [13:22] ¦ rakudo: time, allow for millisecond granularity. The value still needs to be [13:22] ¦ rakudo: specified in seconds. So, to get batching per millisecond, one would [13:22] ¦ rakudo: have to specify "seconds => 0.001" [13:22] ¦ rakudo: review: https://github.com/rakudo/rakudo/commit/aecfc9b3d0 [13:59] *** lucasb joined [14:25] m: Supply.interval(0.1).delayed(0.5).tap(&say); say "start"; sleep 0.2; say "0.2"; sleep 0.4; say "0.7"; sleep 0.3; say "1"; sleep 1; say "2"; [14:25] rakudo-moar aecfc9b3d: OUTPUT: «start␤0.2␤0␤1␤0.7␤2␤3␤4␤1␤5␤6␤7␤8␤9␤10␤11␤12␤13␤14␤2␤» [14:59] *** linkable6 left [14:59] *** evalable6 left [15:01] *** linkable6 joined [15:01] *** evalable6 joined [16:11] *** Altai-man joined [16:11] *** morayj left [16:12] *** morayj joined [16:13] *** sena_kun left [16:19] ¦ rakudo: 1801a5aa3a | (Elizabeth Mattijsen)++ | src/core.c/Supply-factories.pm6 [16:19] ¦ rakudo: Remove some unnecessary returns [16:19] ¦ rakudo: review: https://github.com/rakudo/rakudo/commit/1801a5aa3a [16:26] Supply.interval(0.1).delayed(0.5).tap({ say 0.1 * $_ + 0.5 }); say "start"; sleep 0.2; say "0.2"; sleep 0.4; say "0.7"; sleep 0.3; say "1"; sleep 1; say "2"; [16:26] Xliff, rakudo-moar 1801a5aa3: OUTPUT: «start␤0.2␤0.5␤0.6␤0.7␤0.7␤0.8␤0.9␤1␤1␤1.1␤1.2␤1.3␤1.4␤1.5␤1.6␤1.7␤1.8␤1.9␤2␤» [16:27] Supply.interval(0.1).delayed(0.5).tap({ say 0.1 * $_ + 0.5 }); say "start"; sleep 0.2; say "0.2"; sleep 0.4; say "0.7"; sleep 0.3; say "1"; sleep 1; say "2"; sleep 0.5 [16:27] Xliff, rakudo-moar 1801a5aa3: OUTPUT: «start␤0.2␤0.5␤0.6␤0.7␤0.7␤0.8␤0.9␤1␤1␤1.1␤1.2␤1.3␤1.4␤1.5␤1.6␤1.7␤1.8␤2␤1.9␤2␤2.1␤2.2␤2.3␤» [16:29] Supply.interval(0.1).delayed(0.5).tap({ say 0.1 * $_ + 0.5 }); say "start"; sleep 0.2; say "0.2"; sleep 0.4; say "0.7"; sleep 0.3; say "1"; sleep 1; say "2"; sleep 0.5 [16:29] Xliff, rakudo-moar 1801a5aa3: OUTPUT: «start␤0.2␤0.5␤0.6␤0.7␤0.7␤0.8␤0.9␤1␤1␤1.1␤1.2␤1.3␤1.4␤1.5␤1.6␤1.7␤1.8␤1.9␤2␤2␤2.1␤2.2␤2.3␤2.4␤» [16:41] *** b2gills left [17:05] Xliff: can;t see the forest for the trees... is there an issue there ? [17:07] No. Was just testing something. [17:08] It would be interesting if I could get the argument from the interval and the delay into the tap handler. [17:08] you know you can privmsg cameila [17:09] Yes. I know. And yet others use it like this just as often if not more so. [17:10] my $interval = 0.1; my $delayed = 0.5; Supply.interval($interval).delayed($delayed).tap: { say $interval, $delayed } ) # Xliff [17:11] Xliff: ah, but you don't know how many more people privmsg camelia :-) [17:11] That is irrelevant. [17:11] oki :-) [17:12] Thank you for your example. It was already considered and not what I meant. I'm assuming that there's no way to do it without the lexicals? [17:12] not that I'm aware of [17:13] OK. Thanks anyways! :) [17:13] I guess using dynamic variables [17:14] I would worry that they would get eaten by scope changes. [17:14] However that might only be when I run then through NativeCall. [17:14] Dynamics hate NativeCall. [17:14] ah, I didn't know [17:15] ¯\_(ツ)_/¯ [17:30] ¦ rakudo/emit-on-empty: cb8eb68a92 | (Elizabeth Mattijsen)++ | src/core.c/Supply-coercers.pm6 [17:30] ¦ rakudo/emit-on-empty: Add :emit-(once-)on-empty to Suppy.batch(:$seconds) [17:30] ¦ rakudo/emit-on-empty: [17:30] ¦ rakudo/emit-on-empty: With :emit-on-empty, you *will* get an emit even if the batch is empty. [17:30] ¦ rakudo/emit-on-empty: So that means you will get at least 1 emit for every $seconds. [17:30] ¦ rakudo/emit-on-empty: [17:30] ¦ rakudo/emit-on-empty: With :emit-once-on-empty, you will get an emit once if the batch is [17:30] ¦ rakudo/emit-on-empty: empyty, and no further emits until more values have been received. [17:30] ¦ rakudo/emit-on-empty: review: https://github.com/rakudo/rakudo/commit/cb8eb68a92 [17:30] ¦ rakudo: lizmat++ created pull request #4060: Add :emit-(once-)on-empty to Suppy.batch(:$seconds) [17:30] ¦ rakudo: review: https://github.com/rakudo/rakudo/pull/4060 [17:34] ¦ roast: bee06324a0 | (Nicholas Clark)++ | S32-io/utf16.t [17:34] ¦ roast: :enc(utf16) assumes host byte order if there is no BOM, so test accordingly. [17:34] ¦ roast: [17:34] ¦ roast: The test had always used 'sample-UTF-16LE.txt' when testing :enc(utf16), but [17:34] ¦ roast: that is only appropriate on little endian systems. For big endian systems, [17:34] ¦ roast: we need to test with 'sample-UTF-16BE.txt' instead. [17:34] ¦ roast: [17:34] ¦ roast: Fixes #693 [17:34] ¦ roast: review: https://github.com/Raku/roast/commit/bee06324a0 [17:34] ROAST#693 [closed]: https://github.com/Raku/roast/pull/693 :enc(utf16) assumes host byte order if there is no BOM, so test accordingly. [18:02] ¦ rakudo/emit-on-empty: 492651ea48 | (Elizabeth Mattijsen)++ | src/core.c/Supply-coercers.pm6 [18:02] ¦ rakudo/emit-on-empty: Add :emit-timed to Supply.batch(:$seconds) [18:02] ¦ rakudo/emit-on-empty: [18:02] ¦ rakudo/emit-on-empty: When :emit-timed is specified, a timer will be running emitting [18:02] ¦ rakudo/emit-on-empty: whatever is in the batch every given number of seconds *if* there [18:02] ¦ rakudo/emit-on-empty: is something in the batch. The default is to only emit if a new [18:02] ¦ rakudo/emit-on-empty: value is received and it arrives in a new period. [18:02] ¦ rakudo/emit-on-empty: [18:02] ¦ rakudo/emit-on-empty: This removes the previous proposal for :emit-on-empty and :emit-once-on-empty. [18:02] ¦ rakudo/emit-on-empty: review: https://github.com/rakudo/rakudo/commit/492651ea48 [18:10] *** MasterDuke left [18:12] *** morayj left [18:26] *** domidumont left [19:01] *** domidumont joined [19:01] *** domidumont left [19:26] : class A { }; say A.^lookup("elems").gist [19:26] m: class A { }; say A.^lookup("elems").gist [19:26] rakudo-moar 1801a5aa3: OUTPUT: «Method+{is-nodal}.new␤» [19:26] Is .elems now a global method? [19:28] m: Any.^lookup("elems").gist.say # .elems now on Any [19:28] rakudo-moar 1801a5aa3: OUTPUT: «Method+{is-nodal}.new␤» [19:29] bisectable: bisect Any.^lookup("elems").gist.say [19:29] Xliff, Will bisect the whole range automagically because no endpoints were provided, hang tight [19:29] Xliff, ¦6c (49 commits): «04===SORRY!04=== Error while compiling /tmp/SNBfIGlai7␤Undeclared routine:␤ bisect used at line 1␤␤ «exit code = 1»» [19:29] Xliff, Nothing to bisect! [19:29] bisectable: Any.^lookup("elems").gist.say [19:29] Xliff, Will bisect the whole range automagically because no endpoints were provided, hang tight [19:30] Xliff, More than 4 changes to bisect, please try a narrower range like old=2017.09 new=HEAD [19:30] Xliff, Output on all releases: https://gist.github.com/f7f4d84f5291b1006a18cc3955c50561 [19:52] *** MasterDuke joined [20:12] *** sena_kun joined [20:13] *** Altai-man left [21:41] *** sena_kun left [22:33] *** MasterDuke left [23:08] *** MasterDuke joined