00:02 lucs_ is now known as lucs 05:41 kjp left 05:46 kjp joined
Geth rakudo/lizmat-59: 81ae3f8048 | (Elizabeth Mattijsen)++ | src/Raku/ast/expressions.rakumod
RakuAST: simplify ::ApplyPrefix.IMPL-RECORD-NATIVE-RETURN-TYPE

Since it didn't matter why the $routine value could not produce a concrete value, wrap all of the checks in a single try.
Also use a proper if structure for: 1. readability 2. no need for return statements
07:04
rakudo/lizmat-59: ecdde5fc3d | (Elizabeth Mattijsen)++ (committed using GitHub Web editor) | 17 files
Merge branch 'main' into lizmat-59
lizmat :q
Geth rakudo/lizmat-59: 1cb953b3b9 | (Elizabeth Mattijsen)++ | src/Raku/ast/expressions.rakumod
RakuAST: add condition that was missed
07:07
rakudo/lizmat-60: 30f89a24c9 | (Elizabeth Mattijsen)++ | 3 files
RakuAST: create ::IfUnless base class

The handling of RakuAST::StatementModifier::If and ::Unless differ only in the nqp op that generates the QAST. Instead ::Unless doing a cat-license of ::If, create a base class ::IfUnless referring to a method that provides the op-name, and make ::If and ::Unless provide the correct op name.
This also allows some conditions /base and /var-loweing to be simplified.
07:19
rakudo: lizmat++ created pull request #6831:
RakuAST: create ::IfUnless base class
08:37 finanalyst left
Geth rakudo/lizmat-61: ca3f4b86fe | (Elizabeth Mattijsen)++ | 4 files
RakuAST: nqp::objprimspec can handle nqp::null

So there is no need to extra guard against this eventuality.
Also slightly re-arrange some if's into ternaries
08:58
roast: 2ee2f513d2 | (Elizabeth Mattijsen)++ | S13-overloading/operators.t
Add test for github.com/rakudo/rakudo/pull/6809
09:08
rakudo: lizmat++ created pull request #6832:
RakuAST: nqp::objprimspec can handle nqp::null
09:32
roast: 7b27845222 | (Elizabeth Mattijsen)++ | S13-overloading/operators.t
Skip test, mark as fixed in RakuAST
11:18
lizmat m: my class A does Callable { has Str $.signature = "foo"; method CALL-ME($b) { "$b $!signature" } }; my constant &prefix:<c> = A.new; say c "hello"; 11:32
camelia ===SORRY!===
This representation (P6str) does not support elems (for type str)
lizmat bisectable6: old=2025.01 my class A does Callable { has Str $.signature = "foo"; method CALL-ME($b) { "$b $!signature" } }; my constant &prefix:<c> = A.new; say c "hello";
bisectable6 lizmat, Bisecting by exit code (old=2025.01 new=0cdbad0). Old exit code: 1
lizmat, bisect log: gist.github.com/3c288afb75a2787617...5a8fb4623a 11:33
lizmat, (2026-09-22) github.com/rakudo/rakudo/commit/f0...b3348dbcb0
lizmat c: HEAD my class A does Callable { has Str $.signature = "foo"; method CALL-ME($b) { "$b $!signature" } }; my constant &prefix:<c> = A.new; say c "hello";
committable6 lizmat, ¦HEAD(0cdbad0): «hello foo␤»
lizmat bisectable6: old=2025.01 new=2026.08 my class A does Callable { has Str $.signature = "foo"; method CALL-ME($b) { "$b $!signature" } }; my constant &prefix:<c> = A.new; say c "hello"; 11:35
bisectable6 lizmat, On both starting points (old=2025.01 new=2026.08) the exit code is 1 and the output is identical as well
lizmat, Output on both points: «===SORRY!===␤This representation (P6str) does not support elems (for type str)␤»
lizmat bisectable6: new=2026.08 my class A does Callable { has Str $.signature = "foo"; method CALL-ME($b) { "$b $!signature" } }; my constant &prefix:<c> = A.new; say c "hello";
bisectable6 lizmat, Bisecting by output (old=2015.12 new=2026.08) because on both starting points the exit code is 1
lizmat, bisect log: gist.github.com/5c34ab485cabb86682...25dfe47df6 11:36
lizmat, (2016-05-12) github.com/rakudo/rakudo/commit/33...d4efe221de
lizmat looking at the bisect log, it looks like it has been in there since Christmas 11:46
Geth nqp/main: 5e40020521 | (Elizabeth Mattijsen)++ | tools/templates/MOAR_REVISION
Bump MoarVM for JITted ops fix, ugexe++
15:30
rakudo/main: d4d0df63cc | (Elizabeth Mattijsen)++ | tools/templates/NQP_REVISION
Bump NQP for JITted ops fix, ugexe++
15:43
nqp/main: 13a9fad534 | (Elizabeth Mattijsen)++ | tools/templates/MOAR_REVISION
Bump MoarVM to fix an issue with spesh, ugexe++
15:48
rakudo/lizmat-62: 3388d045c2 | (Elizabeth Mattijsen)++ | tools/templates/NQP_REVISION
Bump NQP to fix an issue with spesh, ugexe++
16:13
rakudo/lizmat-62: e0ddce3c59 | (Elizabeth Mattijsen)++ | 5 files
RakuAST: remove unnecessary nqp::bindattr_i() calls

At object creation, any native integer attributes are created with the value 0, so there is no need to actually bind the value 0 to them.
rakudo: lizmat++ created pull request #6833:
Lizmat 62
16:14
lizmat argh
Geth rakudo/main: 3388d045c2 | (Elizabeth Mattijsen)++ | tools/templates/NQP_REVISION
Bump NQP to fix an issue with spesh, ugexe++
16:16
16:25 MasterDuke joined
MasterDuke ugexe: there are now a *ton* of warnings when compiling MoarVM: `src/jit/graph.c:4119:50: warning: missing initializer for field ‘native_idx’ of ‘MVMJitCallArg’ [-Wmissing-field-initializers] 16:28
 4119 |                                                  { MVM_JIT_DATA_LABEL,  { data_label } }};
      |                                                  ^
src/jit/graph.h:143:14: note: ‘native_idx’ declared here
  143 |     MVMint16 native_idx;
      |              ^~~~~~~~~~`
i didn't notice them at first when building on my laptop, but only on my desktop
lizmat checks 16:29
MasterDuke adding something to the MVMJitCallArg struct means a lot of uses need to change. can the fix be done without needing to add native_idx to MVMJitCallArg?
lizmat MasterDuke: hmm.. your approval was a sign for me to merge, should I rollback ? 16:31
MasterDuke i wouldn't bother just yet. we don't have a release imminent, there's time to see if it can be cleared up without requiring a revert 16:32
lizmat ack
fwiw, I didn't see any warnings on MacOS, but that all makes sense as it doesn't have a JIT
:-(
17:51 MasterDuke left
Geth rakudo/lizmat-63: 761c2e7d74 | (Elizabeth Mattijsen)++ | src/Raku/ast/expressions.rakumod
RakuAST: add base class RakuAST::MetaInfix::CrossZip

The logic of RakuAST::MetaInfix::Cross and RakuAST::MetaInfix::Zip are identical, except for three values:
  - action ('cross with' | 'zip with')
  - metaop ('X' | 'Z')
... (11 more lines)
18:22
rakudo: lizmat++ created pull request #6834:
RakuAST: add base class RakuAST::MetaInfix::CrossZip
18:23
rakudo/lizmat-64: 78784d4d18 | (Elizabeth Mattijsen)++ | 12 files
RakuAST: native int variables don't need := 0 initialization

Native int variables are "born" with the value 0.
This removes this unnecessary initialization from many lexical variables, and also changes some variables to native ints as they're clearly intended to be used as flags.
18:48
rakudo: lizmat++ created pull request #6835:
RakuAST: native int variables don't need := 0 initialization
18:49
rakudo/lizmat-65: e73567213f | (Elizabeth Mattijsen)++ | 3 files
RakuAST: make several lookup tables compile-time

So that they don't need to be initialized every time they are about to be accessed.
19:09
rakudo: lizmat++ created pull request #6836:
RakuAST: make several lookup tables compile-time
19:10
rakudo/lizmat-66: c3a443cb9d | (Elizabeth Mattijsen)++ | src/Raku/ast/expressions.rakumod
RakuAST: replace variable by literal

This variable was only initialized to zero, and then used without being referenced or mutated anywhere else.
19:20
rakudo: lizmat++ created pull request #6837:
RakuAST: replace variable by literal
19:21
rakudo/lizmat-67: b9507910c7 | (Elizabeth Mattijsen)++ | src/Raku/ast/variable-declaration.rakumod
RakuAST: simplify missing initializer test

No need to create intermediate variables
20:00
rakudo: lizmat++ created pull request #6838:
RakuAST: simplify missing initializer test
[Coke] c: 3388d045c2 e 20:06
committable6 [Coke], ¦3388d04: «»
Geth rakudo/lizmat-68: e9359055c4 | (Elizabeth Mattijsen)++ | src/Raku/ast/variable-declaration.rakumod
RakuAST: default native initialize only for strings

Native variables already initialize automatically to their base value, so don't need to have any QAST added for that.
20:35
rakudo: lizmat++ created pull request #6839:
RakuAST: default native initialize only for strings
20:36
22:16 vrurg_ joined 22:17 vrurg left