Geth rakudo/main: 13cfef0892 | (Nick Logan)++ | src/Raku/ast/variable-declaration.rakumod
RakuAST: Guard $!block in TraitTarget::Variable for NULL setting compilation

During CORE setting compilation (--setting=NULL.c), there is no block attach target at the top level because CompUnit only registers as
  'compunit', not 'block'. This causes $!block to be Nil when
TraitTarget::Variable tries to call stubbed-meta-object on it.
... (6 more lines)
01:13
rakudo/main: 4e8a2c0683 | (Nick Logan)++ (committed using GitHub Web editor) | src/Raku/ast/variable-declaration.rakumod
Merge pull request #6123 from ugexe/ugexe/fix-null-setting-compilation

RakuAST: Guard $!block in TraitTarget::Variable for NULL setting compilation
rakudo/main: d72958900b | (Nick Logan)++ | src/Raku/ast/resolver.rakumod
RakuAST: Fix build-exception crash on uncomposed exception type stubs

During CORE setting compilation (or when user code forward-declares an exception class), build-exception could resolve a stubbed exception type like X::Redeclaration that wasn't composed yet. Attempting to mixin X::Comp into the uncomposed stub would die with "cannot inherit from X::Redeclaration because the parent is not composed yet". ... (5 more lines)
01:14
rakudo/main: 8ecf4c4da5 | (Nick Logan)++ (committed using GitHub Web editor) | src/Raku/ast/resolver.rakumod
Merge pull request #6124 from ugexe/ugexe/rakuast-fix-forward-declaration

RakuAST: Fix build-exception crash on uncomposed exception type stubs
rakudo/main: b2489e8d10 | (Nick Logan)++ | src/Perl6/Compiler.nqp
RakuAST: propagate $*COMPILING_CORE_SETTING into QAST stage

  $*COMPILING_CORE_SETTING is declared and set during parse stage, but
the dynvar is not in scope during QAST generation. Several places check it to branch on CORE-compilation behavior, and at least one of those branches matters during CORE setting compilation:
... (14 more lines)
01:17
rakudo/main: 07310601e9 | (Nick Logan)++ (committed using GitHub Web editor) | src/Perl6/Compiler.nqp
Merge pull request #6127 from ugexe/ugexe/rakuast-propogate-comiling-core-setting-into-qast

RakuAST: propagate $*COMPILING_CORE_SETTING into QAST stage
01:18 japhb left
Geth rakudo/main: 768819d60f | (Nick Logan)++ | src/Raku/ast/code.rakumod
RakuAST: avoid pathologically slow Raku dispatch in add-phasers-handling-code

During CORE setting compilation, add-phasers-handling-code runs once per Code object being compiled. Two call sites hit Raku-level dispatch on Sub meta-objects that carry a trait mixin (e.g. Sub+{is-implementation-detail}, Sub+{is-DEPRECATED}). Dispatching .Bool or a regular method on such a mixed-in type is hundreds of times slower than on a plain Sub, and ... (23 more lines)
01:20
rakudo/main: dabe0f4d5a | (Nick Logan)++ (committed using GitHub Web editor) | src/Raku/ast/code.rakumod
Merge pull request #6125 from ugexe/ugexe/rakuast-speedup-add-phasers-handling

RakuAST: avoid pathologically slow Raku dispatch in add-phasers-handling-code
01:22 japhb joined
Geth rakudo/main: 4 commits pushed by (Nick Logan)++ 01:24
rakudo/main: 224aa3d8b9 | (Nick Logan)++ | src/Raku/ast/variable-declaration.rakumod
RakuAST: nominalize default value for definite-constrained variables

Fix spec/S04-declarations/smiley.t failures where `my Int:U $a` would read as
  `Int:U` instead of `Int`.
A variable declared with a definite-constrained type like `Int:U` should keep the wrapped type as its .of constraint but default to the nominalized base ... (10 more lines)
01:25
rakudo/main: b59889e7e0 | (Nick Logan)++ (committed using GitHub Web editor) | src/Raku/ast/variable-declaration.rakumod
Merge pull request #6140 from ugexe/ugexe/fix-spec-s04-declarations-smiley.t

RakuAST: nominalize default value for definite-constrained variables
rakudo/main: 2af7c683f6 | (Nick Logan)++ | src/Raku/ast/statements.rakumod
RakuAST: merge loaded stub package into enclosing same-named class

Fix spec/S11-modules/nested.t test 8 ("Main package not shadowed by later loading of nested package"), which fails with X::Parameter::BadType on code like:
   class Foo {
... (20 more lines)
01:26
rakudo/main: d69bb16c1c | (Nick Logan)++ (committed using GitHub Web editor) | src/Raku/ast/statements.rakumod
Merge pull request #6141 from ugexe/ugexe/t-spec-s11-modules-nested.t

RakuAST: merge loaded stub package into enclosing same-named class
rakudo/main: 4f641591e9 | (Nick Logan)++ | src/Raku/ast/package.rakumod
RakuAST: report stubbed grammars, drop misleading is_composed gate

Fix spec/S32-exceptions/misc2.t test 183 ("packages matches (A B)") for code like:
   my class A {...}; my grammar B { ... }
... (24 more lines)
01:28
rakudo/main: 0523e6b2f3 | (Nick Logan)++ (committed using GitHub Web editor) | src/Raku/ast/package.rakumod
Merge pull request #6147 from ugexe/ugexe/fix-rakuast-stubbed-grammar-sorry

RakuAST: report stubbed grammars, drop misleading is_composed gate
japhb Dang, that's an impressive stack of merges! 01:50
Geth rakudo/revert-6147-ugexe/fix-rakuast-stubbed-grammar-sorry: 155528fea3 | (Nick Logan)++ (committed using GitHub Web editor) | src/Raku/ast/package.rakumod
Revert "RakuAST: report stubbed grammars, drop misleading is_composed gate"
02:00
rakudo: ugexe++ created pull request #6151:
Revert "RakuAST: report stubbed grammars, drop misleading is_composed gate"
rakudo/main: 155528fea3 | (Nick Logan)++ (committed using GitHub Web editor) | src/Raku/ast/package.rakumod
Revert "RakuAST: report stubbed grammars, drop misleading is_composed gate"
rakudo/main: ed5ddf8c58 | (Nick Logan)++ (committed using GitHub Web editor) | src/Raku/ast/package.rakumod
Merge pull request #6151 from rakudo/revert-6147-ugexe/fix-rakuast-stubbed-grammar-sorry

Revert "RakuAST: report stubbed grammars, drop misleading is_composed gate"
[Coke] releasable6: next 03:10
releasable6 [Coke], Next release in ā‰ˆ22 days and ā‰ˆ15 hours. There are no known blockers. 38 out of 38 commits logged
[Coke] huh. I don't see, e.g. ed5ddf8c58 in the releasable output. 03:11
linkable6 (2026-04-30) github.com/rakudo/rakudo/commit/ed5ddf8c58 Merge pull request #6151 from rakudo/revert-6147-ugexe/fix-rakuast-stubbed-grammar-sorry
06:15 kurahaupo left 06:28 kurahaupo joined
Geth nqp/main: fadfa22de0 | (Elizabeth Mattijsen)++ | tools/templates/MOAR_REVISION
Bump MoarVM for mimalloc bump, MasterDuke++
11:33
rakudo/main: 71cb699c43 | (Elizabeth Mattijsen)++ | tools/templates/NQP_REVISION
Bump NQP for mimalloc bump, MasterDuke++
11:45
13:05 vrurg_ joined, vrurg left
patrickb indeed, some if not all nqp files of the Raku compiler have the setting as an outer context. 19:42
But there also is no UNIT_MARKER.
timo can you tell from the HLL of a frame that there is a transition that happens? 19:43
maybe the type of the code object in question?
patrickb Oh, so far I haven't looked at the hll API of the debugger... 19:44
timo honestly i'm not sure if the debugger spits out what HLL an object or frame belongs to when you ask it
patrickb ideally I want to be able to tell when the current file context ends and the setting starts before I read all the setting's symbols. 19:45
(Because that takes quite some time)
timo it does, doesn't it 19:48
patrickb take a lot of time? yes
(but it's also pretty epic) 19:49
indeed if you wait for 3 minutes or so in the current debugger, it will put the entire setting in all it's glory fully highlighted on the screen. 19:50
timo right, I was musing about some kind of pagination API being put into the debugger protocol to prevent issues like that 19:56
though, is the sending and decoding the messagepack data relatively fast compared to formatting it for the terminal?
patrickb I can't tell for sure. But I'm pretty sure that in this specific case the highlighting takes most of the time. 19:58
by far
Apart from this corner case (that I will be able to iron out), I'm still a bit worried about the performance. 19:59
Retrieving all symbols in all outer contexts (ignoring the setting) is a multi second process. 20:00
Booting up also takes many seconds whenever the file notification request hits moar before it finished loading the app. It then fires about a hundred times, each hit being followed by a clear breakpoint. 20:02
japhb patrickb: When you say the highlighting takes most of the time, do you mean the highlighting parser takes a long time, or rendering to Terminal::Widgets is the problem? 20:06
patrickb Rainbow is slow 20:07
so parsing the setting is the slowest part.
Hi japhb! o/ Nice reading you! 20:08
japhb Right back atcha! :-) 20:10
timo oooh, i was still thinking of the moar-remote CLI / REPL thing 21:05
can you get the UI to just show the unhighlighted text while rainbow works asynchronously? 21:06
patrickb That's an idea. But it's not as pressing anymore as I won't try to process the full setting source anymore. 21:12
timo yes, that is a bad idea to attempt to do :)
i think it used to be relatively common in code editors to just guess what state the highlighting probably is in at the top of the screen instead of going all the way back to the start of the file when you're near the bottom of a large file? 21:13
patrickb (i.e. I have fixed a missing checksum and source attribute to cause it to reach for the outer setting sources)
vim does that (and it's an anoyance from time to time) 21:14
timo do you have some measurements what parts of the whole process are actually bottle-necking the whole?
patrickb not yet. I'm still in the process of making it work at all (which precedes making it work nicely which precedes making it work fast) 21:15
But I'm getting there.
opening local files, remote files, suspending stepping, resuming, browsing symbols all work now 21:16
and it can retrieve setting code, take it apart and use that. So one can now trivially step into the setting. 21:18
I think this is really nice.
timo yes, that sounds really good 21:20
i'm mostly thinking, is it possible to perform fine without baking something into the debugger protocol to not have to do the things that are slow 21:28
patrickb I have to go to bed. I guess it makes sense thinking about this, once I have some measurements. Possibly I'm just doing things stupidly in optimally. 21:30
I'll get there eventually... 21:31
But now for some sleep. o/
timo well, don't forget to ask questions often and early so I have a chance to keep you from doing things too stupidly for too long :)
21:32 librasteve_ left
Geth rakudo: ugexe++ created pull request #6152:
Fix RakuAST .EVAL at BEGIN time breaking module precompilation
23:07