🦋 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 rakudo: vrurg++ created pull request #4698:
Additional fixes and improvements of smartmatch optimizations
03:50
roast: vrurg++ created pull request #782:
Adjust some smartmatch and given/when tests
04:05
lizmat Files=1351, Tests=117886, 321 wallclock secs (35.67 usr 9.76 sys + 4518.70 cusr 357.20 csys = 4921.33 CPU) 10:33
Geth rakudo: c56c578cb4 | Moonchild++ | 3 files
disallow creating Uni with out-of-range codepoints
10:40
rakudo: 6a265eab87 | (Elizabeth Mattijsen)++ (committed using GitHub Web editor) | 3 files
Merge pull request #4511 from moon-chilled/master

Disallow creating Uni with out-of-range codepoints
rakudo/rat-upgrade-class: 816 commits pushed by 36 authors
review: github.com/rakudo/rakudo/compare/0...3de6c730a1
11:24
Geth rakudo/rat-upgrade-class: fe73a61911 | (Elizabeth Mattijsen)++ | 2 files
Rename to $*RAT-OVERFLOW
11:48
rakudo: ef35db0624 | (Elizabeth Mattijsen)++ | src/core.c/Uni.pm6
Fix off-by-one error
11:56
rakudo: f737b0801c | (Elizabeth Mattijsen)++ (committed using GitHub Web editor) | 5 files
Introducing $*RAT-UPGRADE-CLASS (#4299)

Introducing $*RAT-OVERFLOW
This dynamic variable indicates the *class* in which an UPGRADE-RAT method will be called whenever a Rat has a denominator that does not fit in a 64bit native integer. ... (26 more lines)
12:03
lizmat hmmm... I thought I'd fixed the title :-(
$*RAT-OVERFLOW it is
sena_kun I'm pretty sure github.com/rakudo/rakudo/pull/4447 can be merged. 12:34
Geth rakudo: c9b2e0b4a7 | (Elizabeth Mattijsen)++ | src/core.c/Uni.pm6
Revert "Fix off-by-one error"

This reverts commit ef35db062446b04a7171f70b028c7badd7154c23.
Turns out, the test was actually wrong, after consulting with our resident Unicode guru Samantha McVey.
12:37
roast: f096695fa3 | (Elizabeth Mattijsen)++ | 2 files
Fix problem in test generation

0xd800 is *not* a surrogate. Didn't run the generation script again as that depends on now too new Unicode data files.
12:39
rakudo: 36af7d0efd | Altai-man++ (committed using GitHub Web editor) | t/05-messages/03-errors.t
Add two tests for proper error messages (#4447)

One is for printing something to a close handle. Two is for a weird case of adverbing.
12:40
moon-child clearly, I never make off-by-one errors :) 12:41
lizmat moon-child++ 12:44
Geth rakudo: 4b2fc66fce | (Elizabeth Mattijsen)++ (committed using GitHub Web editor) | src/core.c/Cool.pm6
Add Cool.Order "coercer" (#4473)

Convert a Cool value to the associated Order enum:
  - < 0 -> Less
  - 0 -> Same
  - > 0 -> More
The only other way to currently do this, is by basically writing the ORDER (implementation-detail) subroutine again, or just do a call to ORDER. This allows syntactic sugar to not have to do it like that.
12:51
MasterDuke lizmat: while you're on a roll, www.nntp.perl.org/group/perl.perl6...10343.html seems sort of up your alley 12:57
moon-child hmm. Str case should obviously be handled. Float is harder. Should it truncate and then divide, or divide and then truncate? 12:58
MasterDuke i haven't looked into it enough to know, perhaps the answer is that current situation is correct 12:59
lizmat yeah, I'll wait for someone to make an issue / PR for that :-) 13:06
I'm just going through stale PRs atm 13:07
Geth rakudo/sparse-array-raku: 687 commits pushed by 30 authors
review: github.com/rakudo/rakudo/compare/4...01f0375fac
13:27
Geth rakudo/master: 15 commits pushed by (Jonathan Worthington)++
review: github.com/rakudo/rakudo/compare/4...fde77d2a08
13:42
Geth rakudo: 026c51a045 | (Elizabeth Mattijsen)++ (committed using GitHub Web editor) | src/core.c/Pair.pm6
Fix the behaviour of Pair ~~ Pair (#4671)

Apparently, this was borked since d8f7e8b8d6ea25b about 6 years ago.
See discussion at logs.liz.nl/moarvm/2021-12-15.html#16:32-0003
This breaks test #177 of t/spec/S02-types/pair.t
13:43
lizmat hmmm... looks like IRC::Client ping / msg handling still needs some tweaking -( 13:50
Geth roast: 0a5c36a90e | (Elizabeth Mattijsen)++ | S02-types/pair.t
Adapt to correct behaviour of Pair.ACCEPTS(Pair)
13:54
Geth rakudo: 586f2f3cc7 | (Elizabeth Mattijsen)++ | src/core.c/Complex.pm6
Make Complex.new about 30x as fast

Turned out, !SET-SELF was not inlineable. By doing the dirty work inside .new (and some new candidates), it *is* all inlineable and that in turn, makes things a *lot* faster!
15:30
MasterDuke aren't methods with conversion types a lot faster now after new-disp? could those last two multi's be one with Num:D(Real:D)? 15:36
nine I wonder why SET-SELF is not inlineable? 15:42
lizmat scrolls back 15:45
target has a :noinline instruction - ins: sp_assertparamcheck
MasterDuke m: multi foo(Num:D(Real:D) $a = 0) { $a + 2e1 }; my $b = 1_000_000.rand; say foo($b)    # didn't expect this 15:59
camelia Ambiguous call to 'foo(Num)'; these signatures all match:
(Num:D(Real:D):D $a = 0)
(Num:D(Real:D):D $a = 0)
in block <unit> at <tmp> line 1
Geth rakudo: 4f3ff58095 | (Elizabeth Mattijsen)++ | src/core.c/IO/Path.pm6
Scrape off 100 bytes from IO::Path!SET-SELF

Sadly, not enough to get it inlined just yet
16:00
rakudo: efdc1a9e85 | (Elizabeth Mattijsen)++ | src/core.c/IO/Path.pm6
Get IO::Path!SET-SELF below inlining limit

Sadly, that is not making things a lot faster :-(
16:22
[Tux] Rakudo v2021.12-62-gefdc1a9e8 (v6.d) on MoarVM 2021.12-11-g39e9a6be0
csv-ip5xs0.860 - 0.875
csv-ip5xs-205.337 - 5.361
csv-parser4.109 - 4.246
csv-test-xs-200.414 - 0.423
test6.871 - 6.975
test-t1.668 - 1.694
test-t --race0.967 - 0.976
test-t-2024.532 - 24.626
test-t-20 --race7.244 - 7.407
16:35
Geth rakudo: 03065e2967 | (Martin Kealey)++ (committed using GitHub Web editor) | src/core.c/Complex.pm6
$x ** ±Inf is sometimes 0 (#4226)

inside_unit_circle ** Inf == 0 outside_unit_circle ** -Inf == 0
16:53
Geth rakudo: 2a3f61ef14 | (Vadim Belman)++ | 2 files
Additional fixes and improvements of smartmatch optimizations

  - Better detection of invocations, method calls wrapped into `hllize`
   are considered now.
  - Better detection of possible return value type for an AST node.
  - As a result of the above two items, smartmatches with method calls can
   now be optimized too.
... (15 more lines)
22:55
rakudo: 7b1653bbf9 | (Vadim Belman)++ (committed using GitHub Web editor) | 2 files
Merge pull request #4698 from vrurg/problem-solving-297-1

Additional fixes and improvements of smartmatch optimizations
roast/master: 6 commits pushed by (Vadim Belman)++
rakudo: 1b5c0b9516 | (Daniel Green)++ | src/vm/moar/runner/main.c
Don't use MVM_free if we didn't use MVM_malloc

Since we're likely about to use a new allocator in MoarVM for the MVM_* allocation functions, they have to match up.
23:14