🦋 Welcome to the IRC channel of the core developers of the Raku Programming Language (raku.org #rakulang). This channel is logged for the purpose of history keeping about its development | evalbot usage: 'm: say 3;' or /msg camelia m: ... | log inspection situation still under development | For MoarVM see #moarvm
Set by lizmat on 22 May 2021.
00:02 reportable6 left 00:51 frost joined 00:56 frost left 01:04 reportable6 joined 02:39 frost joined 02:54 frost left 03:54 reportable6 left, linkable6 left, evalable6 left, quotable6 left, squashable6 joined, unicodable6 joined, reportable6 joined 03:55 quotable6 joined, statisfiable6 joined, notable6 joined, greppable6 joined 03:56 tellable6 joined 04:54 releasable6 joined 04:55 evalable6 joined, sourceable6 joined, linkable6 joined, shareable6 joined 04:57 bloatable6 joined 05:54 coverable6 joined 05:55 benchable6 joined 05:56 committable6 joined, bisectable6 joined 06:02 reportable6 left 06:05 reportable6 joined 06:33 Tux__ left
Geth rakudo: Kaiepi++ created pull request #4479:
Enhance signature-signature typechecking
06:51
roast: Kaiepi++ created pull request #752:
Uncomment a test in S03-smartmatch/signature-signature.t
06:52
06:54 nativecallable6 joined 08:50 linkable6 left, evalable6 left, linkable6 joined 09:52 evalable6 joined 09:58 [Tux] left
Geth rakudo/new-disp: 31a70e4d7a | (Jonathan Worthington)++ | src/vm/moar/dispatchers.nqp
Assorted fixes for lastcall

So we now pass S12-methods/lastcall.t in full.
10:11
10:16 [Tux] joined 10:22 Kaipi joined
Geth roast: c07c5b9806 | (Jonathan Worthington)++ | S12-meta/primitives.t
Modify tests to account for method cache changes

Pre-calculated method caches are not a part of new-disp. The built-in meta-objects will stop producing them soon on MoarVM; hopefully, with time, we'll adopt the new-disp approach on JVM too, and can fully deprecate the method caching related functionality in the metamodel primitives class. ... (6 more lines)
10:23
10:24 Kaiepi left
Geth rakudo/new-disp: e6060f7b11 | (Jonathan Worthington)++ | src/core.c/Metamodel/Primitives.pm6
Make MOP primitive method cache setup a no-op

On MoarVM only, since new-disp doesn't use it.
10:47
rakudo/new-disp: 7d3ab533b8 | (Jonathan Worthington)++ | 2 files
Fix nextcallee + wrap interaction

By adopting the same strategy that `master` does for it.
10:53 sena_kun joined
Geth rakudo/new-disp: 9e8a6637e4 | (Jonathan Worthington)++ | src/vm/moar/dispatchers.nqp
"Hide" use of boot-resume for proto onlystar

We use dispatch resumption for the {*} in a proto with a body. This should not count as a resumable dispatch in a user-visible sense, however. Thus make sure if we are asked to resume and cannot in this context, then we report an error, rather than silently giving a Nil.
11:06
12:02 reportable6 left 12:03 reportable6 joined
MasterDuke huh. both `--backend` and `--backends` are accepted 12:24
12:38 rypervenche left 13:38 rypervenche joined 13:56 codesections left 18:02 reportable6 left 18:05 reportable6 joined 18:11 sena_kun left
leont Proc.status() was recently deprecated, but it's replacement isn't complete. exitcode() and signal() expose 15 out of the 16 bits, but coredump(), bit 8, is missing 20:27
Altai-man leont, `status` is implemented in terms of exitcode and signal, is just doing a shift won't do? `($!exitcode +< 8) +| $!signal` is it. 20:31
leont The signal is the lowest 7 bits 20:39
exit code the highest 8
There should be a separate method for bit 8, called something like coredump 20:40
Altai-man leont, sorry, I am 100% sure you know the thing better than I am and alas I fail to comprehend how the method implemented in terms of 2 other methods can be implied "complete" while it's implementation in terms of the two is being "incomplete". Isn't it implemented at github.com/rakudo/rakudo/blob/mast...c.pm6#L213 ? 20:47
leont Yeah looking at that code right now, suspect something else may be involved
This prints 3: raku -e 'say (run «perl -e "kill QUIT, \$\$"»).signal' 20:48
Altai-man leaving wait-for-finish aside, just replacing the method call with `($p.exitcode +< 8) +| $p.signal` should be the same unless I don't account for something.
leont This prints 131 (128 + 3): perl -E 'system q[perl -e "kill QUIT, $$"]; say $?'
That 128 is the bit that I'm missing 20:49
But the raku code doesn't look like it's swallowing it, so it might be moar that's at fault
Altai-man leont, what if you rewrite it with exitcode shifted, will it be correct?
leont status also seems to return the wrong value, so the information has already been lost. Just don't know where 20:51
Altai-man ouch, that's something to bug report then 20:52
but it returns a correct value if you use the deprecated method (it's not removed after all)?
leont No, deprecated method is also wrong apparently 20:53
Altai-man oh, then it's not a deprecation that's wrong. then this is something to report for sure. 20:54
21:25 evalable6 left
raydiak are you sure it isn't packed into the 8th bit of the signal? if it's not there, then I'd bet libuv just doesn't expose it at all (maybe for cross-platform reasons if I had to guess) 21:38
this is as far as I could trace it down so far: docs.libuv.org/en/v1.x/process.html#c.uv_exit_cb 21:39
leont raydiak: yeah, that looks like libuv decided not to expose that information. 21:47
raydiak agreed. I don't see libuv using WCOREDUMP anywhere, just WTERMSIG. and at first glance I don't see it exposing the raw status either (which would kinda violate the point of a cross-platform library, I guess) 21:54
leont It wouldn't be the first time they did this, but I still think it's unfortunate. They could have exposed it and kept it 0 on platforms that don't support it. 21:56
raydiak I was a little surprised that a quick search didn't reveal anybody asking/complaining about the lack of it 21:57
a bit hard to search for though, I kept finding issue results about libuv causing one core dump or another :) 21:59
leont Not exposing the raw status makes enough sense. Recently had to deal with a platform that has exit-code in lower bits, that messed up all sorts of things. 22:02
raydiak heh, fun. what platform is that? 22:07
leont haiku 22:18
22:25 linkable6 left
raydiak wow, I forgot all about that. saw haiku mentioned once in a while on a news site, but haven't really thought about beos since I tried it very briefly a couple decades ago just for fun 22:26
22:28 linkable6 joined, evalable6 joined 23:28 linkable6 left, evalable6 left 23:29 linkable6 joined