🦋 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: ... | Logs available at irclogs.raku.org/raku-dev/live.html | For MoarVM see #moarvm
Set by lizmat on 8 June 2022.
05:14 hurufu joined 05:52 finanalyst joined
Geth nqp/profile_sql_output_split_more_stuff: 33460348c4 | (Timo Paulssen)++ | src/vm/moar/HLL/Backend.nqp
Refactor sql output, split more of the statements we can output

  nine++ tested sql profiler output with core setting compilation using
RakuAST, and the resulting profile had an "allocations" insert statement that was 221 million characters long, which sqlite3 didn't like parsing as a single statement.
This patch also has some attempts for re-using lists more.
07:19
nqp/profile_sql_output_split_more_stuff: 47313b7a80 | (Timo Paulssen)++ | src/vm/moar/HLL/Backend.nqp
profiler sql: also split routines insert statements
timo (just a rebase)
the nqp azure pipeline doesn't seem quite right 07:20
Geth rakudo/main: 8695c143eb | (Elizabeth Mattijsen)++ (committed using GitHub Web editor) | src/main.nqp
Make RAKUDO_RAKUAST=0 *not* activate the RakUAST logic (#6214)

Spotted by timo++
08:25
08:37 finanalyst left
Geth nqp/main: 4ff5ad7197 | (Timo Paulssen)++ (committed by timo) | src/vm/moar/HLL/Backend.nqp
Refactor sql output, split more of the statements we can output

  nine++ tested sql profiler output with core setting compilation using
RakuAST, and the resulting profile had an "allocations" insert statement that was 221 million characters long, which sqlite3 didn't like parsing as a single statement.
This patch also has some attempts for re-using lists more.
08:43
nqp/main: 4043d6253b | (Timo Paulssen)++ (committed by timo) | src/vm/moar/HLL/Backend.nqp
profiler sql: also split routines insert statements
09:45 finanalyst joined
Geth rakudo/main: c15ee3dacf | (Elizabeth Mattijsen)++ | 12 files
Change all TWEAK methods to submethods

To prevent them from being called more than once if a subclass is instantiated.
A special note about IO::Pipe: $.nl-out.list needed to be replaced with self.nl-out.list because the virtual $.nl-out attribute call ... (6 more lines)
09:50
09:52 finanalyst left
Geth rakudo/main: c46a0f13f7 | (Elizabeth Mattijsen)++ | tools/templates/NQP_REVISION
Bump NQP to get SQL output refactor fix, timo++
10:04
10:04 lizmat left 10:14 lizmat joined 10:35 hurufu left 12:04 finanalyst joined 12:21 MasterDuke joined 12:54 MasterDuke left 14:14 librasteve_ joined
lizmat bisectable6: old=2026.04 my @a; @a[1]=1; say @a.fmt 15:21
bisectable6 lizmat, Problem with c46a0f1 commit: Commit exists, but an executable could not be built for it
lizmat bisectable6: old=2026.03 my @a; @a[1]=1; say @a.fmt
bisectable6 lizmat, Problem with c46a0f1 commit: Commit exists, but an executable could not be built for it
lizmat bisectable6: old=2026.03 new=c15ee3dacf5 my @a; @a[1]=1; say @a.fmt 15:22
bisectable6 lizmat, On both starting points (old=2026.03 new=c15ee3d) the exit code is 0, exit signal is 11 (SIGSEGV) and the output is identical as well
lizmat, Output on both points: «»
lizmat bisectable6: old=2025.01 new=c15ee3dacf5 my @a; @a[1]=1; say @a.fmt 15:23
bisectable6 lizmat, On both starting points (old=2025.01 new=c15ee3d) the exit code is 0, exit signal is 11 (SIGSEGV) and the output is identical as well
lizmat, Output on both points: «»
lizmat wow
bisectable6: old=2023.01 new=c15ee3dacf5 my @a; @a[1]=1; say @a.fmt
bisectable6 lizmat, Cannot find revision “2023.01” (did you mean “2026.01”?)
lizmat bisectable6: old=2023.02 new=c15ee3dacf5 my @a; @a[1]=1; say @a.fmt
bisectable6 lizmat, Bisecting by exit signal (old=2023.02 new=c15ee3d). Old exit signal: 0 (None)
lizmat bisectable6: help 15:27
oh dear, I kiilled bisectable6
15:28 bisectable6 left
Geth rakudo/main: 890f00c752 | (Nick Logan)++ (committed using GitHub Web editor) | 8 files
RakuAST: handle custom package declarators like legacy does

  `stub-package` mapped only the seven built-in declarators (`package`,
  `role`, `class`, `module`, `grammar`, `knowhow`, `native`) to their
  `RakuAST::Package` subclasses and fell back to bare `RakuAST::Package`
otherwise. Custom declarators registered via `EXPORTHOW::DECLARE`
  (the way `OO::Monitors` adds `monitor`) became bare `RakuAST::Package`,
... (25 more lines)
15:31
15:45 greppable6 left, evalable6 left, shareable6 left, bloatable6 left, linkable6 left, benchable6 left 15:46 tellable6 left, coverable6 left, nativecallable6 left, releasable6 left, huggable6 left, sourceable6 left 15:48 evalable6 joined, unicodable6__ joined, benchable6 joined, linkable6 joined, quotable6 left, notable6 left 15:49 shareable6 joined, sourceable6 joined, unicodable6 left, committable6 left, greppable6 joined, finanalyst left, committable6 joined 15:50 releasable6 joined, bloatable6 joined, bisectable6 joined, coverable6 joined 15:51 notable6 joined, nativecallable6 joined, tellable6 joined, quotable6 joined 15:52 huggable6 joined
lizmat looks like github.com/rakudo/rakudo/issues/6241 is exposing a whole class of issues :-( 16:01
m: my @a is default(42); @a[1] = 666; dd @a.shift
camelia Nil = Nil 16:02
lizmat m: my @a is default(42); @a[1] = 666; dd @a[0]; @a.shift
camelia element of @a[0] = 42
lizmat m: my @a is default(42); @a[1] = 666; dd @a[0]; dd @a.shift
camelia element of @a[0] = 42
Nil = Nil
lizmat m: my @a is default(42); my $b := @a[0]; @a[1] = 666; dd @a[0]; dd @a.shift 16:04
camelia element of @a[0] = 42
Nil = Nil
17:09 finanalyst joined
Geth rakudo/main: 7cb5a1939d | (Elizabeth Mattijsen)++ | src/core.c/Array.rakumod
Create Array.fmt candidates with more precise handling

Specifically of uninitialized elements in the array, as show in
  github.com/rakudo/rakudo/issues/6241 . It looks like
1617881dc2 introduced a shortcut that is fine for Lists, but are less then ideal for Arrays, which can have type constraints and default values.
This at least prevents the segfault. However the underlying NQP code that allowed for the segfault to happen, is *not* fixed by this: this will require scrutiny of NQP and/or MoarVM.
18:00
18:41 finanalyst left
lizmat m: my @a; @a[1]=1; @a.pop; @a.pop # variation on a theme 18:56
camelia (signal SEGV) 18:57
Geth rakudo/main: 415fa4b069 | (Elizabeth Mattijsen)++ | src/core.c/Array.rakumod
Fix Array.pop on holes in arrays

The code "my @a; @a[1]=1; @a.pop; @a.pop" would actually segfault because of the hole in the array returning an nqp::null. And this somehow triggered a segfault handling in nqp::null in HLL land.
This commit makes sure that the default value for the array is being returned (either from a type constraint, or the "is default" trait.
19:43
rakudo/lizmat-11: f05f154491 | (Elizabeth Mattijsen)++ | src/core.c/Array.rakumod
Fix Array.shift on holes in arrays

Unlike the needed Array.pop fix in 415fa4b069 to prevent a segfault, Array.shift was already guarded against returning an nqp::null.
However, it was set to return Nil, rather than the default value of the array. This commit changes that to be more in line with ... (10 more lines)
19:49
rakudo: lizmat++ created pull request #6242:
Fix Array.shift on holes in arrays
19:53 lizmat left 19:54 lizmat joined 20:04 sivoais joined
Geth nqp: ugexe++ created pull request #852:
HLL::Compiler.compile: balance backend per-compile state on early exit
20:10
rakudo: ugexe++ created pull request #6243:
RakuAST: route string EVAL through IMPL-FIXUP and wrap nested EVAL output
21:08
ugexe Those two were exposed by inline perl5 21:28
japhb I wonder if Inline::Perl5 still works with latest perl5 21:34
ugexe mind you inline::perl5 won't actually work without changes to the distribution itself since it uses e.g. $*W
japhb Well that answers that
"No, but not because of not being up to date with perl5 internals" 21:35
lizmat hopes that nine either allows it to become a community module, or helps / adds RakuAST support
japhb Both? Both. Both is good. 22:08
ugexe it also uses a slang 22:18
23:53 librasteve_ left