| 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 | |