Geth nqp: ugexe++ created pull request #870:
Fix ignoremark and escape handling in character classes
01:20
rakudo: ugexe++ created pull request #6642:
RakuAST: Fold character class entries after assembling them
roast: ugexe++ created pull request #908:
Test escapes and combining characters in character classes
01:23
[Coke] github.com/coke/raku-blin-release-results last run, already did the redo, left with two failures: github.com/coke/raku-blin-release-results 01:54
github.com/coke/raku-blin-release-...ailures.md 01:55
ugexe github.com/lizmat/Needle-Compile/pull/1 03:11
github.com/antononcube/Raku-Lingua...ese/pull/1
Geth rakudo: ugexe++ created pull request #6643:
Take apart only an index or coercion on the right of but and does
03:41
07:56 rnddim joined 07:57 ShimmerFairy left, rnddim left 07:58 rnddim joined 08:02 rnddim left, rnddim joined 08:16 lizmat joined 08:18 lizmat left 08:19 lizmat joined 08:40 finanalyst left
lizmat ugexe: thanks for the Needle::Compile PR, will fix the module in the next few days (and definitely before the 2026.09 release) 09:12
afk&
09:13 lizmat left, rnddim left 09:14 rnddim joined, rnddim is now known as ShimmerFairy
ab5tract ugexe: so do I understand correctly that your MoarVM patch is superseded by the recent Rakudo PRs? 14:42
I went looking for said patch but could not find it :/ 14:44
ugexe no 15:23
github.com/ugexe/MoarVM/tree/ugexe...possession
ab5tract thanks 15:25
LTA: passing 'given' a block who's signature is not '$_' silently uses the next lexical '$_' 15:39
ofc there might be reasonable use cases that I haven't considered 15:42
ugexe i can't really think of any 15:43
we should probably do something like when a when or default statement resolves $_, look at the nearest enclosing block that declares parameters and if that blick is the direct body of a topicalizing statement and its signature does not bind $_, worry 15:46
could arguably be made broader though 15:50
for @rows { # $_ is the row 15:51
for .cells -> $cell { # named param so $_ is NOT clobbered
say "{.name}: $cell"; # .name is the row's name
}
}
that is the reasonable use case claude puts forward (since for shares the same $_ behavior)
although if that was a compile time error i don't think it would be that big of a deal since you'd just quickly rewrite it 15:52
ab5tract yeah, for given/when the most reasonable case I could come up with is similar: given -> $x { given .on-outer($x) {...} }\ 15:54
but even that feels a little to clever/Perlish for my taste 15:55
I don't think I've ever used a 'when' block outside of a 'given', so my first conceptual pass was just rejecting a non-topic signature to 'given' 15:57
or at least worrying about it
sub native-when() { 16:18
sub native-when() {
my uint \ok = 12;
given \ok {
when uint { "caught by uint" }
when Int { "caught by Int" } 16:19
Type check failed in binding; expected uint but got Int (12)
arg 16:20
ah, good, it still fails the same way with 'given ok'
ok, nevermind, I'm still way too jetlagged apparently 16:21
sub native-when() { 16:28
my uint $ok = 12;
do given $ok {
when uint { "caught by uint" }
when Int { "caught by Int" }
}
}
# "caught by Int"
ugexe uint/UInt handling in general is not great 16:29
like moarvm doesn't have uint ops for everything 16:31
there is bindpos_u and atpos_u, but no push_u, pop_u, shift_u, unshift_u
and UInt doesn't carry any signedness, its just subset UInt of Int where * >= 0 16:32
ab5tract at least I guess I wouldn't expect UInt to carry a signedness on an object level. Even if it were a proper class (which would at least give it a constructor), isn't the point that the signedness is encoded in the type itself? 16:36
funny enough, this is exactly the point of contention claude is having with my Kotlin+Truffle revival
ugexe m: my UInt $x = 1; say $x.WHAT 16:46
camelia (Int)
ab5tract aahhh 16:50
that's unfortunate. the HLL object is less comprehensive than the native one :S 16:54
would providing a mechanism for subsets to have a REPR be useful outside of this case? 16:58
subset class UInt of Int where * > 0 { ... } 16:59
subset class UInt of Int where * > 0 { method to-native { state uint $n = +self } } 17:01
forgot the //= but I expect you caught the gist 17:02
[Coke] lovely. another merge commit showing up in whateverable that isn't actually a commit? 17:30
+ Merge pull request #6614 from ugexe/ugexe/sort-homogeneous-fast-compare [9c07b320] 17:31
github.com/rakudo/rakudo/commit/9c07b320 - doesn't exist
Looks like it's really github.com/rakudo/rakudo/commit/a35b0af00 17:32
[Coke] gives up on the commit log for today 17:34
... I went back thinking I can do all the merge commits that map at least... and as I removed each one from the releasble list... they are now all gone. wtf. 18:26
anyway, changelog draft is up to date with about 160 commits
ab5tract [Coke]++ 18:45
18:56 finanalyst joined 20:37 finanalyst left 20:39 notable6 left 20:41 notable6 joined