ugexe | if it was fast enough more people might include it with their CI matrix | 01:18 | |
05:17
Voldenet left
07:18
finanalyst joined
07:24
Voldenet joined
|
|||
ab5tract | ah, on second thought I think it needs to be setup as it currently is, because the trait is applied prior to the call to `!create_dispatch_info` | 07:27 | |
but the jury is still out on which option (pre-filtering the candidates is better or doing it inside the loop) is better for `dispatchers.nqp` | 07:29 | ||
ah, there's a few other touch-ups, and one more question: is getting the required revision via a call to find_method better than getting it through calling dispatch_info? | 07:40 | ||
08:02
sena_kun joined
08:23
sena_kun left
08:45
finanalyst left
09:03
dawids joined
09:37
dawids left
|
|||
Geth | rakudo/splice-is-item-again-twice: f938727324 | ab5tract++ | 7 files [6.e] Provide `is revision-gated("6.x")` trait This trait is primarily intended for allowing multi candidates to be considered for dispatch only when the caller's compiler version is above a certain revision. By applying the trait to the proto at its minimum compatible ... (21 more lines) |
09:45 | |
rakudo/main: de09b60b57 | (Stefan Seifert)++ | 2 files RakuAST: fix lexially scoped multi-part name roles not found at compile time Turns out, there's no need for special handling for implicitly defined role groups. Just run the normal package installation code and it'll do everything we need. Fixes: my role Foo::Bar {}; my constant Foo::Bar $a = Foo::Bar.new; |
|||
ab5tract | Huh, I wonder if that was always possible or if other changes made that workable.. I remember PackageInstaller being quite the bear | 10:27 | |
nine | Every time I encounter a multi-part name package problem, I suddenly find cleaning the appartment or doing book keeping quite attractive | 10:44 | |
10:57
finanalyst joined
|
|||
ab5tract | Lol | 11:30 | |
nine | So, 2023's book keeping is done. Time to pull out the vaccuum :) | 11:33 | |
11:56
finanalyst left
|
|||
timo | hm, are we making initial bits of an || alternation part of LTM? | 12:30 | |
nine | m: use v6.e.PREVIEW; Format.new: "" | 12:38 | |
camelia | ( no output ) | 12:39 | |
nine | so far, so good, but: | ||
timo | the ws token in nqp's grammar is not behaving optimally ... | ||
nine | m: EVAL Q[ use v6.e.PREVIEW; Format.new: "" ] | ||
camelia | ===SORRY!=== Error while compiling /home/camelia/EVAL_0 Undeclared name: Format used at line 1 |
||
nine | Turns out, switching language versions in an EVAL does not load that setting. And how could it? You'd still want the EVAL's outer lexical scope to be visible, too. IMHO it was a mistake to allow switching language versions in EVAL. | 12:40 | |
timo | oh, whew. time for a context sandwich | 12:41 | |
Geth | roast: ea5698910d | (Stefan Seifert)++ | S04-declarations/constant-6.d.t Fix odd number of arguments when assigning to hash error These tests are looking for a compilation error. However a different compiler may run the expected check after the faulty assignment is already done. The test would then fail due to the unexpected error type. Fix the unintersting error in the test code so we're really testing what the test is about. |
12:51 | |
rakudo/main: 4 commits pushed by (Stefan Seifert)++ | |||
nine | 1144 | ||
timo | 1114 | 12:55 | |
nine | ? | 12:56 | |
timo | randomly the line i just had to breakpoind | ||
jdv | it'd be great if we could hold off committing to main for the next few hours. releasings are underway. | ||
timo | thanks for your work jdv :+1: | ||
jdv | my box is slow and so rebuilding and spectesting could be funner:( | 12:57 | |
nine | k | ||
12:57
[Coke] left
|
|||
jdv | thanks | 12:58 | |
13:23
[Coke] joined
|
|||
jdv | 40k commits. woohoo! | 13:28 | |
changelogs are up | 13:35 | ||
lizmat: ^ | |||
i have to do an errand for a bit and then will so the meat of it | 13:36 | ||
did the make test # really go down by 2 or is there a mistake somewhere? | 13:38 | ||
ab5tract | nine: looks like I need to change my commit message :) | 13:39 | |
Let me know if you have any other feedback | 13:40 | ||
nine | Looks to me like the latest version still uses nqp::can and find_method to detect a revision gated routine? | 13:43 | |
And yes, I just realized that it's a bit hypocritical of me to complain, given that I also use find_method for checking CUSTOM-DISPATCHER. Maybe that's also worth fixing. Or maybe my reservations are entirely unfounded after all | 13:44 | ||
ab5tract | nqp::can is only used in the building of dispatch info | 14:32 | |
As I mentioned earlier today, one can’t add to dispatch info from within the trait | 14:33 | ||
That gets run afterwards | |||
I went with find_method because getting dispatch info back out also requires a method check | 14:34 | ||
It seemed like 6 vs half dozen | 14:35 | ||
The candidate checks are sped up by dispatch info, though | 14:36 | ||
nine | My point is that it makes even building up that candidate list more expensive. And that happens once for every callsite of a multi even with newdisp. Raku being Raku this includes all places where an operator is used. That's why I'd prefer a flag in $!flags set by the trait. | 14:41 | |
ab5tract | When you mentioned this before, you said “maybe a flag”. I went with dispatch info and flags were not mentioned again. I’ll change this of course but I wouldn’t mind having an approach be ruled out earlier in the review cycle to avoid wasted effort. | 14:44 | |
nine | Ah, sorry about that. You're right, that could have been clearer. | 14:53 | |
ab5tract | No worries, I’ll flag this up instead | 16:03 | |
Geth | rakudo/release-2024.08: f90979577c | (Justin DeVuyst)++ | 3 files Update changelog + announcement Deliberately not logged: [7ed82490][934e8610][9e1adaee][056c25e7][8fc83b33][6e6ce83a] [5068524f][e2f2641c][1cfdd167][5cfa33aa][233fe99e][fab0ae21] [423ede6f][e1ffa0fe][a9843ca5] |
16:29 | |
17:18
finanalyst joined
|
|||
ab5tract | nine: do you reckon the new constant belongs to the `DISP_` family? or should I start a new strand called `ROUTINE_`? | 17:19 | |
oh, nice. it looks like `nqp::const` values aren't used for Routine flags :S | 17:25 | ||
though, as far as magic numbers go, these are very nice.. why don't other flags use hex when defining themselves? | 17:59 | ||
Geth | nqp/main: 4f2c54dacc | (Justin DeVuyst)++ | tools/templates/MOAR_REVISION [release] Bump MoarVM revision to 2024.08 |
18:02 | |
nqp/main: 684d80d09d | (Justin DeVuyst)++ | VERSION [release] Bump VERSION to 2024.08 |
|||
rakudo/release-2024.08: ae532ff832 | (Justin DeVuyst)++ | tools/templates/NQP_REVISION [release] Bump NQP revision to 2024.08 |
|||
rakudo/release-2024.08: e390ae09e8 | (Justin DeVuyst)++ | VERSION [release] Bump VERSION to 2024.08 |
|||
rakudo: jdv++ created pull request #5634: Release 2024.08 |
18:04 | ||
rakudo/main: 4 commits pushed by (Justin DeVuyst)++ | |||
jdv | releases are all done. thanks! | 18:17 | |
patrickb: the release is done | 18:18 | ||
.tell El_Che the release is done | |||
tellable6 | jdv, I'll pass your message to El_Che | ||
[Coke] | jdv++ | 18:21 | |
error: short object ID 2024 is ambiguous | 18:22 | ||
we miss a tag push? | |||
nope, that's on me. :) | |||
might want a rakubrew option that complains more if you give a weird tag. :) | 18:23 | ||
jdv pushs coke | 18:24 | ||
tag you're it! | |||
afk & | |||
Geth | rakudo/splice-is-item-again-twice: 59d55dd03d | ab5tract++ | 7 files [6.e] Provide `is revision-gated("6.x")` trait This trait is primarily intended for allowing multi candidates to be considered for dispatch only when the caller's compiler version is above a certain revision. By applying the trait to the proto at its minimum compatible ... (15 more lines) |
18:51 | |
ab5tract | now with flag-based goodness. I made some potentially controversial choices (kebab-case, magic number) so just let me know if further changes are needed | 18:52 | |
18:54
finanalyst left
|
|||
ab5tract | now for testing... looks like there is some unexpected fallout to deal with | 19:06 | |
hmm, corekeys and settingskeys | 19:11 | ||
Geth | rakudo/splice-is-item-again-twice: c36730c90b | ab5tract++ | 7 files [6.e] Provide `is revision-gated("6.x")` trait This trait is primarily intended for allowing multi candidates to be considered for dispatch only when the caller's compiler version is above a certain revision. By applying the trait to the proto at its minimum compatible ... (15 more lines) |
19:33 | |
19:41
sena_kun joined
|
|||
ab5tract | Ah, that will be because of the newly introduced $?LANGUAGE-REVISION ... | 19:54 | |
nine | ab5tract: you do realize that you have finally implemented something we have only talked about for 6 or 7 years? Thanks a lot! | 20:15 | |
ab5tract | \o/ | ||
Interestingly, it looks like the branch actually passes one additional test over base: | 20:16 | ||
`t/12-rakuast/signature.rakutest ................................. ok` | |||
nine | That test also passes here | 20:17 | |
Geth | rakudo/splice-is-item-again-twice: 622c0b800a | ab5tract++ | 14 files [6.e] Provide `is revision-gated("6.x")` trait This trait is primarily intended for allowing multi candidates to be considered for dispatch only when the caller's compiler version is above a certain revision. By applying the trait to the proto at its minimum compatible ... (15 more lines) |
||
ab5tract | okay, not sure what was going here, maybe I ran the tests with an older checkout | ||
anyhoo, tests, adjusted for the existence of $?LANGUAGE-REVISION | |||
nine: thanks for helping hammer it into dispatcher-worthy shape, | 20:19 | ||
nine | :) | 20:23 | |
ab5tract | kind of reminds me of my trainer at the gym.. he takes care not to tell me how much weight I'm lifting until after I'm done lifting it :) | 20:33 | |
nine | Sounds like a great strategy :D | ||
[Coke] | heh | 20:34 | |
ab5tract | nine: sorry to bother you yet again, but can you double check that my test adjustments are sane? I mean, I made them pass and all, but sometimes there is more to be considered than that ;) | 20:43 | |
22:24
sena_kun left
|
|||
timo | i wonder what makes gen-cat get a java nio buffer overflow exception in a rakudo build | 22:52 | |
Method 'java.lang.invoke.MutableCallSite@4d2693d9' not found for invocant of class 'Deprecation' | 22:53 | ||
in <anon> (gen/jvm/CORE.c.setting:7815) | |||
[...] | |||
in load_setting (gen/jvm/World.nqp:922) | |||
in comp_unit_stage1 (gen/jvm/World.nqp:675) | 22:54 | ||
that seems like a slightly strange thing to do while compiling the core setting? | |||
oh this is the core.d.setting though | |||
# A fatal error has been detected by the Java Runtime Environment: | 22:59 | ||
# | |||
# SIGSEGV (0xb) at pc=0x00007f032c6f6434, pid=2154019, tid=2154020 | |||
woof. | |||
ab5tract | timo: which JDK? | 23:21 | |
20+ is known to be broken, though I can’t recall if it’s because of that exc exception or not | 23:22 | ||
I truly hope that the JDK implementation doesn’t matter, but it might be useful information regardless | 23:23 | ||
timo | ah, i have openjdk 22.0.2 | 23:53 | |
ab5tract | That’ll do it | 23:55 | |
github.com/rakudo/rakudo/issues/5476 | 23:59 |