🦋 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.
Geth rakudo/main: b833018251 | (Elizabeth Mattijsen)++ | src/Perl6/Metamodel/RoleToRoleApplier.nqp
Streamline Metamodel::RoleToRoleApplier (Part 5/N)

  - smarter submethod and yada checks
  - replace for by while loops
  - atpos/atkey vs [] and {}
11:04
rakudo/main: 8753b0d9c7 | (Elizabeth Mattijsen)++ | src/Perl6/Metamodel/RoleToRoleApplier.nqp
Streamline Metamodel::RoleToRoleApplier (Part 5/N)

  - multi method collision handling
11:05
lizmat meh, 6/N 11:06
ab5tract lizmat++ 11:19
that module has needed a lot of love :)
lizmat yeah, and the effects on make (spec)test are noticeable 11:20
Geth rakudo/main: b1167851cd | (Elizabeth Mattijsen)++ | src/Perl6/Metamodel/RoleToRoleApplier.nqp
Streamline Metamodel::RoleToRoleApplier (Part 7/N)

  - abstract role/method logic in a Candidate class
  - and use that were appropriate
11:22
lizmat bisectable6: 10.3 mod 3.3 11:59
bisectable6 lizmat, Will bisect the whole range automagically because no endpoints were provided, hang tight
lizmat bisectable6: say 10.3 mod 3.3
bisectable6 lizmat, Output on all releases: gist.github.com/7776812ff93a0f9a12...4bc7fa5382
lizmat, More than 3 changes to bisect, please try a narrower range like old=2024.01 new=HEAD
lizmat, Will bisect the whole range automagically because no endpoints were provided, hang tight
lizmat, Output on all releases: gist.github.com/a000d3cb45e6029ae1...63fbd071e4 12:00
lizmat, More than 3 changes to bisect, please try a narrower range like old=2024.01 new=HEAD
lizmat bisectable6: old=2024.01 say 10.3 mod 3.3 12:01
bisectable6 lizmat, Bisecting by exit code (old=2024.01 new=b116785). Old exit code: 1
lizmat, bisect log: gist.github.com/3e1d7105c7160fa737...c57e65c260
lizmat, (2024-02-04) github.com/rakudo/rakudo/commit/71...7429f88fb7
Geth rakudo/main: 5749812681 | (Elizabeth Mattijsen)++ | src/Perl6/Metamodel/RoleToRoleApplier.nqp
Streamline Metamodel::RoleToRoleApplier (Part 8/N)

Abstract various candidate logic into methods in the Candidate class and adapt code accordingly.
This may possibly create superfluous Candidate instances, but only if the exact same method is introduced from multiple roles. Which isn't very likely.
12:34
13:06 nebuchad` left 13:07 nebuchad` joined
Geth rakudo/main: df5fc0e30f | (Elizabeth Mattijsen)++ | src/Perl6/Metamodel/MultiMethodContainer.nqp
Streamline Metamodel::MultiMethodContainer a bit

  - change scope of helper class and uptimize it
  - streamline a multi method a bit faster
13:09
lizmat bisectable6: dd Pod::Block::Table 13:18
bisectable6 lizmat, Will bisect the whole range automagically because no endpoints were provided, hang tight
lizmat, ¦6c (78 commits): «Pod::Block::Table␤» 13:19
lizmat, Nothing to bisect!
lizmat bisectable6: old=2023.01 dd Pod::Block::Table
bisectable6 lizmat, Cannot find revision “2023.01” (did you mean “2024.01”?)
lizmat bisectable6: old=2023.01 dd Pod::Block::Table
bisectable6 lizmat, Cannot find revision “2023.01” (did you mean “2024.01”?)
lizmat bisectable6: old=2023.02 dd Pod::Block::Table
bisectable6 lizmat, On both starting points (old=2023.02 new=df5fc0e) the exit code is 0 and the output is identical as well
lizmat, Output on both points: «Pod::Block::Table␤»
lizmat hmmm 13:20
Geth rakudo/main: e57d8233d6 | (Elizabeth Mattijsen)++ | src/Perl6/Metamodel/MultiMethodContainer.nqp
Make adding a multi method threadsafe

And also add a "add_multi_methods" to add multiple multi methods sharing the same name in one fell swoop
13:27
ab5tract BTW: I think I found a bug in the optimizer -- github.com/rakudo/rakudo/blob/e57d...r.nqp#L701 13:39
Geth rakudo/main: ece585016a | (Elizabeth Mattijsen)++ | src/Perl6/Metamodel/RoleToRoleApplier.nqp
Streamline Metamodel::RoleToRoleApplier (Part 9/N)

Use the new "add_multi_methods" method
lizmat ab5tract: and what would the bug be? 13:40
ab5tract `while ++$i < $n` isn't valid in NQP, unless I'm mistaken? 13:41
lizmat pretty valid in NQP
ab5tract I mean, it works, but it isn't the semantics you are expecting
lizmat ah? when $i starts at -1, why wouldn't it ?
ab5tract if that's the case, why does every other while loop increment in the loop body? 13:44
lizmat well... I usually wrote them like that in the past
ab5tract anyway, I spent a good while tearing my hair out before when using this syntax
lizmat feel free to change the loop :-)
ab5tract and the loop ony worked as expected when I did a separate increment
lizmat in the past, until I realized that this way you'd always do one increment too many 13:45
especially in the case where the number of elements is 0
so I'm changing them nowadays whenever I run into them 13:46
ab5tract hm, weird. the failure mode I encountered made me think that there was a deeper issue with such expressions, though I couldn't really make sense of what they would be. 13:52
Geth rakudo/main: d442a5baa8 | (Elizabeth Mattijsen)++ | src/Perl6/Metamodel/RoleToRoleApplier.nqp
Streamline Metamodel::RoleToRoleApplier (Part 10/N)

Basically rework the way attributes are beinng registered into object creation. Also rename some variables for readability
14:17
rakudo/main: 4fa4ca5225 | (Elizabeth Mattijsen)++ | src/Perl6/Metamodel/RoleToRoleApplier.nqp
Streamline Metamodel::RoleToRoleApplier (Part 11/N)

Abstract attribute conflict resolution into a method in the attribute registration class.
16:13
rakudo/is-item-redux: 5 commits pushed by ab5tract++ 16:21
nqp/main: 70c1641805 | ab5tract++ | src/vm/jvm/runtime/org/raku/nqp/runtime/Ops.java
[JVM] Fix capturenamedshash to actually include objects

The condition `(flagged & CallSiteDescriptor.ARG_OBJ) != 0` will never be true because ARG_OBJ is defined as 0.
It's not clear when this broke, and it also looks like capturenamedshash is never really called anywhere -- at least my angry debug statements never seemed to be output during the building of CORE.setting.
ab5tract And... `is item` should be done! \o/ 16:26
lizmat great! so, merge time is at hand ?
ab5tract could be, could be.. maybe let's let the dust settle a bit 16:28
lizmat ok :-) 16:34
Geth rakudo/main: 5c27242bb2 | (Elizabeth Mattijsen)++ | src/Perl6/Metamodel/RoleToRoleApplier.nqp
Streamline Metamodel::RoleToRoleApplier (Part 12/N)

Simplify conflict check: the name always matches, so there's no need to check it
17:02
rakudo/main: f4943c9bf2 | (Elizabeth Mattijsen)++ | src/Perl6/Metamodel/RoleToRoleApplier.nqp
Streamline Metamodel::RoleToRoleApplier (Part 13/13)

  - add some more internal documentation
  - fix potential issue with setting array types
  - one else if -> elsif change
18:44
rakudo/main: c6adc333ca | (Elizabeth Mattijsen)++ | src/Perl6/Metamodel/MultiMethodContainer.nqp
Streamline Metamodel::MultiMethodContainer (Part 1/N)

  - make sure only one thread is incorporating at a time
  - for to while loops
  - atpos/atkey instead of [] {}
19:49
21:35 japhb left 21:39 japhb joined 22:52 sena_kun left