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