[00:02] *** reportable6 left [00:04] *** reportable6 joined [01:16] *** greppable6 left [01:16] *** releasable6 left [01:16] *** statisfiable6 left [01:16] *** coverable6 left [01:16] *** squashable6 left [01:16] *** linkable6 left [01:16] *** evalable6 left [01:16] *** quotable6 left [01:16] *** reportable6 left [01:16] *** bisectable6 left [01:16] *** committable6 left [01:16] *** shareable6 left [01:16] *** notable6 left [01:16] *** unicodable6 left [01:16] *** tellable6 left [01:16] *** nativecallable6 left [01:16] *** benchable6 left [01:16] *** sourceable6 left [01:16] *** bloatable6 left [01:16] *** releasable6 joined [01:16] *** shareable6 joined [01:16] *** bisectable6 joined [01:16] *** tellable6 joined [01:17] *** coverable6 joined [01:17] *** greppable6 joined [01:17] *** evalable6 joined [01:17] *** reportable6 joined [01:17] *** squashable6 joined [01:17] *** sourceable6 joined [01:18] *** quotable6 joined [01:18] *** linkable6 joined [01:18] *** benchable6 joined [01:18] *** committable6 joined [01:18] *** unicodable6 joined [01:19] *** nativecallable6 joined [01:19] *** notable6 joined [01:19] *** statisfiable6 joined [01:19] *** bloatable6 joined [02:19] *** bisectable6 left [02:19] *** linkable6 left [02:19] *** greppable6 left [02:19] *** statisfiable6 left [02:19] *** evalable6 left [02:19] *** releasable6 left [02:19] *** notable6 left [02:19] *** unicodable6 left [02:19] *** benchable6 left [02:19] *** sourceable6 left [02:19] *** tellable6 left [02:19] *** bloatable6 left [02:19] *** reportable6 left [02:19] *** squashable6 left [02:19] *** coverable6 left [02:19] *** quotable6 left [02:19] *** committable6 left [02:19] *** nativecallable6 left [02:19] *** shareable6 left [02:19] *** squashable6 joined [02:19] *** benchable6 joined [02:19] *** bloatable6 joined [02:20] *** statisfiable6 joined [02:20] *** reportable6 joined [02:20] *** releasable6 joined [02:20] *** greppable6 joined [02:20] *** sourceable6 joined [02:20] *** nativecallable6 joined [02:20] *** committable6 joined [02:21] *** bisectable6 joined [02:21] *** tellable6 joined [02:21] *** quotable6 joined [02:21] *** notable6 joined [02:22] *** unicodable6 joined [02:22] *** shareable6 joined [02:22] *** evalable6 joined [02:22] *** coverable6 joined [02:22] *** linkable6 joined [04:08] *** coverable6 left [04:08] *** releasable6 left [04:08] *** evalable6 left [04:08] *** notable6 left [04:08] *** reportable6 left [04:08] *** quotable6 left [04:08] *** shareable6 left [04:08] *** tellable6 left [04:08] *** bloatable6 left [04:08] *** committable6 left [04:08] *** greppable6 left [04:08] *** statisfiable6 left [04:08] *** unicodable6 left [04:08] *** squashable6 left [04:08] *** benchable6 left [04:08] *** nativecallable6 left [04:08] *** bisectable6 left [04:08] *** linkable6 left [04:08] *** sourceable6 left [04:08] *** nativecallable6 joined [04:09] *** quotable6 joined [04:09] *** benchable6 joined [04:09] *** shareable6 joined [04:09] *** notable6 joined [04:09] *** committable6 joined [04:09] *** statisfiable6 joined [04:09] *** reportable6 joined [04:10] *** unicodable6 joined [04:10] *** tellable6 joined [04:10] *** releasable6 joined [04:10] *** greppable6 joined [04:10] *** bloatable6 joined [04:10] *** sourceable6 joined [04:10] *** linkable6 joined [04:10] *** coverable6 joined [04:10] *** evalable6 joined [04:11] *** bisectable6 joined [04:11] *** squashable6 joined [06:02] *** reportable6 left [06:04] *** reportable6 joined [07:27] *** patrickb joined [10:27] *** patrickb left [11:38] *** patrickb joined [11:56] ¦ rakudo: 5ecc8308fc | (Elizabeth Mattijsen)++ | 2 files [11:56] ¦ rakudo: Reduce overhead of loops with phasers by at least 5% [11:56] ¦ rakudo: [11:56] ¦ rakudo: Completely re-imagines the IterateOneWithPhasers iterator: [11:56] ¦ rakudo: - set the FIRST phaser flag in .new [11:56] ¦ rakudo: - check for any iteration in .new, don't bother with much if none [11:56] ¦ rakudo: - keep the next value pulled as an attribute, which simplifies loops [11:56] ¦ rakudo: - add some helper methods to reduce bytecode footprint of the fast path [11:56] ¦ rakudo: - don't use any control statements [11:56] ¦ rakudo: [11:56] ¦ rakudo: Also adds a Block.callable_for_phaser method that will return a Callable [11:56] ¦ rakudo: for the given phaser on the given block, or Nil if there are no phasers. [11:56] ¦ rakudo: review: https://github.com/rakudo/rakudo/commit/5ecc8308fc [12:02] *** reportable6 left [12:05] *** reportable6 joined [12:36] ¦ nqp/new-disp: b76786d4b3 | (Jonathan Worthington)++ | 2 files [12:36] ¦ nqp/new-disp: Stop generating MoarVM if_o and unless_o ops [12:36] ¦ nqp/new-disp: [12:36] ¦ nqp/new-disp: These ops, along with istrue and isfalse, behave according to the [12:36] ¦ nqp/new-disp: object's boolification protocol configuration and may result in a [12:36] ¦ nqp/new-disp: method call. Said method call needs to be performed via the new [12:36] ¦ nqp/new-disp: dispatch mechanism. [12:36] ¦ nqp/new-disp: [12:36] ¦ nqp/new-disp: For now, generate istrue + if_i/unless_i; the istrue will later become a [12:36] ¦ nqp/new-disp: dispatch op, so factor out emitting it in preparation for that. [12:36] ¦ nqp/new-disp: review: https://github.com/Raku/nqp/commit/b76786d4b3 [12:47] ¦ nqp/new-disp: 72c1606a57 | (Jonathan Worthington)++ | src/vm/moar/QAST/QASTOperationsMAST.nqp [12:47] ¦ nqp/new-disp: Compile isfalse using istrue + not_i [12:47] ¦ nqp/new-disp: [12:47] ¦ nqp/new-disp: And also prepare the compilation of istrue to become a compilation into [12:47] ¦ nqp/new-disp: a dispatch op. [12:47] ¦ nqp/new-disp: review: https://github.com/Raku/nqp/commit/72c1606a57 [13:22] *** patrickb left [13:24] *** patrickb joined [13:27] Are there any graphics designers among us? I'd welcome someone to make the two images at https://github.com/patrickbkr/rakudo/tree/msi-installer/tools/build/binary-release/msi/installer-assets more shiny. (Gimp files are located one folder up in `raw-images`). Those are the backgrounds of the new MSI installer. [13:28] ¦ rakudo: a5d8135392 | (Elizabeth Mattijsen)++ | src/core.c/Any-iterable-methods.pm6 [13:28] ¦ rakudo: Fix next/last with Slip as value [13:28] ¦ rakudo: [13:28] ¦ rakudo: The iterator handling loops with phasers would not properly handle [13:28] ¦ rakudo: a Slip passed as a value with next/last if the "pull-one" path was [13:28] ¦ rakudo: taken. Also make sure that the LAST phaser only will get executed [13:28] ¦ rakudo: if there actually was an iteration. [13:28] ¦ rakudo: review: https://github.com/rakudo/rakudo/commit/a5d8135392 [13:28] Please contact me before going at it, there are some conditions that should be met. [14:20] ¦ rakudo/new-disp: 7d45745f6c | (Jonathan Worthington)++ | src/vm/moar/dispatchers.nqp [14:20] ¦ rakudo/new-disp: Use boot-code, not boot-code-constant [14:20] ¦ rakudo/new-disp: [14:20] ¦ rakudo/new-disp: Otherwise closures won't work out properly. [14:20] ¦ rakudo/new-disp: review: https://github.com/rakudo/rakudo/commit/7d45745f6c [14:24] ¦ rakudo/new-disp: e4fe996b86 | (Jonathan Worthington)++ | src/core.c/Routine.pm6 [14:24] ¦ rakudo/new-disp: Always use new-disp based wrap on MoarVM [14:24] ¦ rakudo/new-disp: [14:24] ¦ rakudo/new-disp: Switch to using the conditional compilation to leave the existing [14:24] ¦ rakudo/new-disp: implementation in place for other backends. [14:24] ¦ rakudo/new-disp: review: https://github.com/rakudo/rakudo/commit/e4fe996b86 [14:36] ¦ nqp/new-disp: 89d4f2fba7 | (Jonathan Worthington)++ | 2 files [14:36] ¦ nqp/new-disp: Compile istrue into a dispatch op [14:36] ¦ nqp/new-disp: review: https://github.com/Raku/nqp/commit/89d4f2fba7 [15:32] ¦ nqp/new-disp: b2a385e987 | (Jonathan Worthington)++ | src/vm/moar/QAST/QASTOperationsMAST.nqp [15:32] ¦ nqp/new-disp: Compile chain QAST op using dispatch [15:32] ¦ nqp/new-disp: review: https://github.com/Raku/nqp/commit/b2a385e987 [15:41] ¦ nqp/new-disp: 405d2a095c | (Jonathan Worthington)++ | src/core/dispatchers.nqp [15:41] ¦ nqp/new-disp: Handle Raku methods added to NQP objects [15:41] ¦ nqp/new-disp: review: https://github.com/Raku/nqp/commit/405d2a095c [15:43] ¦ rakudo/new-disp: 083ce6b4d7 | (Jonathan Worthington)++ | src/Perl6/World.nqp [15:43] ¦ rakudo/new-disp: Ensure code object is set on stub [15:43] ¦ rakudo/new-disp: [15:43] ¦ rakudo/new-disp: Didn't matter much before now, but does so with the new dispatcher. [15:43] ¦ rakudo/new-disp: review: https://github.com/rakudo/rakudo/commit/083ce6b4d7 [15:43] ¦ rakudo/new-disp: d6d9bd14c6 | (Jonathan Worthington)++ | src/Perl6/bootstrap.c/BOOTSTRAP.nqp [15:43] ¦ rakudo/new-disp: Use new dispatch op for role group selector [15:43] ¦ rakudo/new-disp: review: https://github.com/rakudo/rakudo/commit/d6d9bd14c6 [16:10] ¦ rakudo: patrickbkr++ created pull request #4448: Extend binary release pipeline to also create an MSI installer [16:10] ¦ rakudo: review: https://github.com/rakudo/rakudo/pull/4448 [16:37] ¦ rakudo/new-disp: 18de797ba2 | (Jonathan Worthington)++ | src/vm/moar/dispatchers.nqp [16:37] ¦ rakudo/new-disp: Handle native refs in new-disp multi dispatcher [16:37] ¦ rakudo/new-disp: review: https://github.com/rakudo/rakudo/commit/18de797ba2 [16:40] getting curried roles to do their thing is a doozy, but things are looking up locally [16:45] *** Voldenet left [16:50] *** Voldenet joined [17:15] m: blob8.new(0,0,0).decode("utf16") [17:15] rakudo-moar 5ecc8308f: OUTPUT: «Malformed UTF-16; odd number of bytes (3)␤ in block at line 1␤␤» [17:16] m: "abc".encode("latin1").decode("utf16") [17:16] rakudo-moar 5ecc8308f: ( no output ) [17:16] m: "aouou".encode("latin1").decode("utf16") [17:16] rakudo-moar 5ecc8308f: ( no output ) [17:17] m: "aoaou".encode("latin1").decode("utf16") [17:17] rakudo-moar 5ecc8308f: OUTPUT: «Unhandled exception: Failed to write 100 bytes to filehandle: No space left on device␤ from SETTING::src/core.c/Exception.pm6:583 (/home/camelia/rakudo-m-inst-1/share/perl6/runtime/CORE.c.setting.moarvm:)␤ from gen/moar/stage2/NQPHLL.nqp:21…» [17:17] m: "aoaou".encode("latin1").decode("utf16") [17:17] rakudo-moar 5ecc8308f: OUTPUT: «Unhandled exception: Failed to write 100 bytes to filehandle: No space left on device␤ at SETTING::src/core.c/Exception.pm6:527 (/home/camelia/rakudo-m-inst-1/share/perl6/runtime/CORE.c.setting.moarvm:print_exception)␤ from gen/moar/stage2/NQPH…» [17:17] uh [17:26] ¦ rakudo/new-disp: 7c58455dd9 | (Jonathan Worthington)++ | src/vm/moar/dispatchers.nqp [17:26] ¦ rakudo/new-disp: hllize values in multi-dispatch type checking [17:26] ¦ rakudo/new-disp: [17:26] ¦ rakudo/new-disp: To make sure that we dispatch properly on values from NQP land. [17:26] ¦ rakudo/new-disp: review: https://github.com/rakudo/rakudo/commit/7c58455dd9 [17:30] Kaiepi: iirc that bot writes to a temp file and then runs it [17:31] m: say "hello" [17:31] rakudo-moar 5ecc8308f: OUTPUT: «hello␤» [17:31] m: "aoaou".encode("latin1").decode("utf16") [17:31] rakudo-moar 5ecc8308f: OUTPUT: «Malformed UTF-16; odd number of bytes (5)␤ in block at line 1␤␤» [18:03] *** reportable6 left [18:03] *** reportable6 joined [18:09] m: "aoaou".encode("latin1").decode("utf16"); CATCH { .backtrace.say } [18:09] rakudo-moar 5ecc8308f: OUTPUT: «Backtrace(2 frames)␤Malformed UTF-16; odd number of bytes (5)␤ in block at line 1␤␤» [18:10] weird, where's the "col 2" coming from? [18:10] for S32-str/encode.t [18:12] oh, todo [18:12] *** notna joined [18:45] *** notna left [18:47] *** notna joined [19:41] sena_kun: Am I right, that you use releasable for your release manager work? [19:49] patrickb, correct. [19:49] patrickb, not sure if the both is meant or the ake script, but both. [19:50] both? What's that? I only knew about the ake file [19:51] releasable6, status [19:51] sena_kun, Next release in ≈13 days and ≈23 hours. 1 blocker. Changelog for this release was not started yet [19:51] sena_kun, Details: https://gist.github.com/b37d20f353565962f830a67cd30eb3ef [19:51] patrickb, :) [19:51] oops, sorry [19:51] the first `both` is `bot` [19:53] Hm. It seems I know little about the release infra. So you don't use the Ake file? [19:53] ah [19:53] only the first :-p [19:54] patrickb, I am using both the bot and the Ake file. [19:55] There was a request to also provide checksums for our release files. I now have a minimal sh script to sign and verify a file to be released. Do you mind if I try to integrate it into that ake file? Is there any thing else that needs to be done? [19:56] Also what's your thoughts on you / the Ake script also doing the precomp release builds? (It's an open question. I'm very willing to continue doing those.) [19:56] patrickb, this can be done, yes. Patch the Ake file, then add another step to the https://github.com/rakudo/rakudo/blob/master/docs/release_guide.pod if we're talking about rakudo (the most optimal way is to have this task under human-3 umbrella (see Ake script), but for documenting purposes. [19:57] patrickb, if you are thinking about moarvm too, then you'll need to add the script somewhere to the repo and update steps from https://github.com/MoarVM/MoarVM/blob/master/docs/release_guide.md [19:57] OK. I'll have a look. [19:57] Btw. The next release will have a shiny new MSI installer on Windows. :-) [19:58] patrickb, can you please elaborate on precomp builds, like what exactly are they, what's required? [19:59] The tar.gz and zip files offered on rakudo.org which contain a readily compiled rakudo + zef. [19:59] ah-ha [20:00] The process to build them is largely automated. One needs to (still manually) start an Azure CI pipeline run, wait 20 minutes, download the resulting files, sign, upload. [20:01] patrickb, ah-ha, makes sense. can it handle building from branches? [20:02] It doesn't build from a repo. It works off of the actual source release. [20:02] When staring the pipeline run, one needs to provide a URL which I usually point to the new source release on rakudo.org. [20:04] good [20:04] patrickb, it all sounds good to me, I don't mind taking this bit on me if it's at least somewhat integrated into the releasable. [20:04] I never tried it, but I guess it would also work when pointing it to one of those GitHub autogenerated branch archives. [20:04] Would be awesome to ease your burden as well. [20:05] I'm not the releaser. So it's more of a more burden on you thing. [20:05] I actually don't mind continuing to do it, but I'd like for someone else to know what's going on. [20:08] patrickb, alright, anything I can be helpful with? [20:10] OK. I'll have a look at that ake file and see if I can integrate the checksuming. [20:10] Can we maybe just do the next release together? Then you can show me how to do a source release technically and I can show how to do the binary stuff. I guess it wouldn't hurt to increase the bus factor in both directions. [20:14] patrickb, sure, I'll ping you about the time [20:14] Sounds good. [20:23] *** notna left [20:26] I'm off for today. 'night everyone! [20:26] patrickb, rest well! [20:27] *** patrickb left [21:25] *** Kaiepi left [21:26] *** Kaiepi joined [21:39] *** Altai-man joined [21:40] ¦ nqp/new-disp: 72588c0bad | (Jonathan Worthington)++ | src/vm/moar/QAST/QASTCompilerMAST.nqp [21:40] ¦ nqp/new-disp: Avoid a potentially large flattening [21:40] ¦ nqp/new-disp: [21:40] ¦ nqp/new-disp: Which also saves rather a lot of copying. [21:40] ¦ nqp/new-disp: review: https://github.com/Raku/nqp/commit/72588c0bad [21:41] *** Altai-man left [21:51] *** Kaipi joined [21:52] *** Kaiepi left [22:25] *** japhb left [22:31] *** japhb joined