🦋 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.
Geth roast: 404b5649ca | (David Warring)++ | S26-documentation/why-trailing.t
add failing test for #4866

the reason this issue wasn't being detected is that calling WHY on the declarand fixes the Pod link back to the declarand. Add an earlier check on $=pod, which exposes the issue.
00:05
roast: 404b5649ca | (David Warring)++ | S26-documentation/why-trailing.t
add failing test for #4866

the reason this issue wasn't being detected is that calling WHY on the declarand fixes the Pod link back to the declarand. Add an earlier check on $=pod, which exposes the issue.
00:06
lizmat Files=1353, Tests=117134, 290 wallclock secs (36.58 usr 9.93 sys + 4043.11 cusr 335.21 csys = 4424.83 CPU) 07:36
Geth rakudo/CATCH-at-start: 83 commits pushed by (Elizabeth Mattijsen)++, (Daniel Green)++, (Nick Logan)++, (Vadim Belman)++, (Justin DeVuyst)++, MasterDuke17++
review: github.com/rakudo/rakudo/compare/6...22384a9062
07:39
rakudo: ce86a7dbdf | (Elizabeth Mattijsen)++ (committed using GitHub Web editor) | 2 files
Update the meta info of the core (#4856)

  - in Compiler, auth to Yet Another Society, the official name of TPF
  - in install-core-dist.raku, use the info from Compiler
Mostly because it felt better to have the info in the META match what is in Compiler, and to be more specific in Compiler now that there is no Perl in the name anymore.
07:40
Geth rakudo: add767e22d | (Elizabeth Mattijsen)++ (committed using GitHub Web editor) | 6 files
Rename CompUnit::PrecompilationStore::File -> FileSystem

To make naming consistent with CompUnit::Repository::FileSystem
07:41
rakudo: ca5cfed826 | (Elizabeth Mattijsen)++ (committed using GitHub Web editor) | src/Perl6/bootstrap.c/BOOTSTRAP.nqp
Turn some else/if sequences into elsifs in binder

Probably not very important, but since the binder is pretty hot code I thought it might be worthwhile.
07:42
rakudo: 0e55e9ff3d | (Elizabeth Mattijsen)++ (committed using GitHub Web editor) | src/Perl6/World.nqp
Do JS backend check only once

Use compile time preprocessing directives, nine++
07:43
rakudo: 36bdd01aae | (Elizabeth Mattijsen)++ (committed using GitHub Web editor) | 2 files
Make compiler config related info more constant

For better performance
07:44
Geth rakudo/lizmat-Failure-coercer: 17 commits pushed by (Elizabeth Mattijsen)++, (Justin DeVuyst)++, (Daniel Green)++, MasterDuke17++
review: github.com/rakudo/rakudo/compare/4...d2004fa1e1
07:45
rakudo: 636c805e30 | (Elizabeth Mattijsen)++ (committed using GitHub Web editor) | src/core.c/CompUnit/PrecompilationRepository.pm6
Fix unneeded dependency check (#4901)

Commit 199888abedfe843996 in March 2020 borked the setting of the repo-id. This caused unneeded dependency checking for installed modules, and a slowdown of e.g. loading NativeCall of about 80 msecs.
Now, the slowdown will only occur the first time after installation, when the repo-id is now updated correctly so that a subsequent loading will not have to do dependency checks.
Spotted by nine++ after looking into github.com/rakudo/rakudo/issues/4900
Geth rakudo: bf979d081e | (Elizabeth Mattijsen)++ (committed using GitHub Web editor) | src/core.c/CompUnit/Loader.pm6
Reinstate CATCH versus LEAVE

Alhough the code with LEAVE is much simpler and clearer, it *does* impose the overhead of having to execute a phaser on the most common execution path. And since both a CATCH block or a LEAVE phaser will inhibit inlining of a block, from a performance point of view a CATCH is better, as that will only be executed when something actually goes wrong (which hopefully is not the most common execution path).
07:46
Geth rakudo: 9f8eea4161 | (Elizabeth Mattijsen)++ (committed using GitHub Web editor) | 23 files
Put CATCH blocks at the start of the scope

CATCH blocks affect the **entire** scope they're in. So they should be as close to the start of the scope they're in, so that you realize that they can fire well before you think they'd might fire.
This did not change the Rakudo::Internals::JSON class, as that is being kept in sync with JSON::Fast.
08:06
rakudo/lizmat-Failure-coercer: 4 commits pushed by (Elizabeth Mattijsen)++ 08:09
rakudo: 20fd4f0454 | (Daniel Sockwell)++ (committed using GitHub Web editor) | 2 files
Allow optional : on LHS of signature binding declaration

When using signature binding during variable declaration, the normal syntax is
   my ($a, $b) := (42, 47);
... (80 more lines)
08:11
rakudo: 175e716fcf | (Daniel Sockwell)++ (committed using GitHub Web editor) | src/core.c/Any-iterable-methods.pm6
Make &[max] and &[min] return RHS for ties

  &[max] and &[min] both have List associativity, which means that
   $a max $b max $c
should be the same as ... (18 more lines)
08:12
rakudo: 50025c1a48 | (Elizabeth Mattijsen)++ (committed using GitHub Web editor) | lib/CompUnit/Repository/Staging.rakumod
Add CUR::Staging.candidates method

The candidates should *also* take into account any candidates from the CURI repository it is shadowing. Spotted by ugexe++
Also add :replace attribute to CURS. When specified, the CURS will completely replace the parent CURI in both the registration by name, as well as in the $*REPO chain. Calling .self-destruct will restore the original CURI by name and in the $*REPO chain.
08:14
rakudo: 1c04360de3 | (Elizabeth Mattijsen)++ (committed using GitHub Web editor) | src/core.c/traits.pm6
Make handles on attribute of type object more natural

Instead of dying with: "Cannot look up attributes in a Foo type object". The error message is confusing, take this example:
   class A { has Int $.foo handles <Str> }; (my A $a).Str
... (13 more lines)
08:16
lizmat notable6: weekly 09:06
notable6 lizmat, 8 notes: gist.github.com/8c78dfc383f840073f...58682c8e29
lizmat notable6: weekly reset 09:35
notable6 lizmat, Moved existing notes to “weekly_2022-04-25T09:35:15Z”
Geth rakudo: 51c00fddd3 | (Elizabeth Mattijsen)++ (committed using GitHub Web editor) | 46 files
Introduce (Exception|Cool).Failure coercer

The main reason for this, is to reduce the bytecode of scopes where a Failure needs to be returned. This reduces the bytecode by 12 bytes for every change from "Failure.new(foo)" to "foo.Failure", making these scopes more likely to get inlined.
... (5 more lines)
09:46
problem-solving/JJ-patch-1: 84e555ee96 | (Juan Julián Merelo Guervós)++ (committed using GitHub Web editor) | .github/CODEOWNERS
Remove self as owner of that section

I can no longer claim responsibility for the documentation repo *de facto*. It's only sensible to remove myself from here too.
09:48
problem-solving: JJ++ created pull request #322:
Remove self as owner of that section
lizmat and yet another Rakudo Weekly News hits the Net: rakudoweekly.blog/2022/04/25/2022-...inrelease/ 12:10
|Tux| Rakudo v2022.04-18-g51c00fddd (v6.d) on MoarVM 2022.04-1-g4e2eab056
csv-ip5xs0.784 - 0.789
csv-ip5xs-204.910 - 4.947
csv-parser3.554 - 3.927
csv-test-xs-200.405 - 0.407
test6.663 - 6.679
test-t1.394 - 1.558
test-t --race0.840 - 0.938
test-t-2021.120 - 21.427
test-t-20 --race6.374 - 8.199
14:02
nine Looks like we're gonna need a point release :/ 19:14
[Coke] uhoh 19:17
bartolin just saw test failures in S32-num/stress.t ("Numeric underflow" after 1500 of 3500 tests) 19:32
lizmat confirmed 19:37
bartolin that seems to be from github.com/rakudo/rakudo/commit/6f6fd1f76f 19:40
lizmat test 2 dies, but oddly enough. if you take out test #1 it passed
lizmat builds 19:41
indeed, with that commit reverted, the test passes 19:43
MasterDuke huh (also, it should now use the new .Failure on the exception) 19:45
what is the problematic value? 19:46
lizmat not sure... if you reverse the test, the test passes, so I don't think it's that cut and clear
lizmat goes afk& 19:47
bartolin m: say -10**(2*-10) 19:52
camelia -1e-20
bartolin If I'm not mistaken that's where current HEAD gives a "Numeric overflow" 19:54
-10**(-19) works, but -10**(-20) blows up. -10**(-20.1) works, though 20:00
(but scratch the last part, that's a different multi sub) 20:05
MasterDuke hm. wonder why i thought UINT64_UPPER was the limit where underflow was going to happen 20:07
m: say -10**(-323) 20:10
camelia -1e-323
MasterDuke m: say -10**(-324)
camelia Numeric underflow
in block <unit> at <tmp> line 1
MasterDuke afk for a bit, might not be able to get back to this until tomorrow. bartolin++ for the spot 20:11