🦋 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.
00:02 reportable6 joined 00:36 MasterDuke joined 03:18 MasterDuke left 06:00 reportable6 left 06:02 reportable6 joined 08:10 sena_kun joined 08:11 finanalyst joined
ab5tract [Coke]: why not? (genuine question as I don't know whether its a complicated process) 08:17
lizmat .tell lizmat hello 08:54
tellable6 lizmat, I'll pass that message to your doctor
tellable6_ lizmat, I'll pass that message to your doctor
lizmat hmmm
08:55 ChanServ sets mode: +o lizmat, ChanServ sets mode: -o lizmat 09:18 sena_kun left
finanalyst .tell [Coke] I've answered your question about PR #364. Hoping for a review. 09:50
tellable6 finanalyst, I'll pass your message to [Coke]
09:55 finanalyst left
patrickb jdv: Release build is done. 10:03
ab5tract thanks patrickb++! 11:53
12:00 reportable6 left
ab5tract m: use nqp; my $Block := nqp::unipropcode("Block"); say "with space: " ~ nqp::unipvalcode($Block, "Basic Latin"); say "w/o space: " ~ nqp::unipvalcode($Block, "Basic_Latin"); 12:02
camelia with space: 0
w/o space: 1
12:03 reportable6 joined
ab5tract it's interesting that the nqp version of unipvalcode has signature (int, str) but the MVM one has (int, int) 12:03
m: use nqp; my $a = nqp::unipropcode("Basic Latin"), my $b = nqp::unipropcode("Basic_Latin"), $a == $b ==> say() 12:06
camelia (0 6 False)
ab5tract I actually have no idea how the spaced-version is working :)
lizmat m: my int $a; my str $b = "42"; $a = $b; say $a 12:07
camelia 42
lizmat if the native string coerces ok, it is automagically converted
only works with natives
m: sub a(int $a) { dd $a }; a my str $ = "42" 12:08
camelia ===SORRY!=== Error while compiling <tmp>
Calling a(str) will never work with declared signature (int $a)
at <tmp>:1
------> sub a(int $a) { dd $a }; ⏏a my str $ = "42"
lizmat m: sub a(int $a) { dd $a }; a(my str $ = "42")
camelia ===SORRY!=== Error while compiling <tmp>
Calling a(str) will never work with declared signature (int $a)
at <tmp>:1
------> sub a(int $a) { dd $a }; ⏏a(my str $ = "42")
lizmat pretty sure with optimization off that would work :-) 12:09
ab5tract ah, sorry, I meant I don't understand how "a" ~~ /<:Block("Basic Latin")>/ is working. `DELEGATE-ACCEPTS` gets "Basic Latin" as the property name and the target, but I can't see how the MAST operations are returning "Basic Latin" instead of "Basic_Latin" 12:15
it's actually irrelevant in the long run, just a bit of confusion that my mind would rather see resolved :) 12:16
Geth rakudo/r5486: d27303a6b8 | ab5tract++ | 2 files
Add name check and exception to General_Category uasge

Add a check that we should actually be bothering with General_Category lookups at all.
By doing so, we are able to add a targeted exception in the case where an unknown Unicode General_Category ... (5 more lines)
12:18
ab5tract nine & lizmat, let me know if you still approve of R#5555 and N#820 -- I've added exceptions for when unknown categories and category/property pairs are provided. 12:23
linkable6 R#5555 [open]: github.com/rakudo/rakudo/pull/5555 Add lookup for translating General_Category longnames
N#820 [open]: github.com/Raku/nqp/pull/820 Add lookup for translating General_Category longnames
12:24 linkable6_ left 12:26 linkable6_ joined
ab5tract dang, I thought I had t/12-rakuast/regex-assertion.rakutest fixed.. hold off on review for now 12:27
lizmat too late :-) 12:28
ab5tract :)
but yeah, basically what seems weird to me is that `nqp::unipvalcode(nqp::unipropcode($category), $constraint-property)` doesn't work for Block and "Basic Latin" 12:29
lizmat is this in Raku or NQP ? 12:30
ab5tract I could solve this with a .subst call on $constraint-property, but wasn't sure how heavy that would be 12:31
this call is coming from Raku
lizmat so what is the failing case? 12:32
ab5tract Subtest: Character property with expression assertion works \n # / <+:Block("Basic Latin")>/ 12:34
but.. from the CLI this works: `set-rakuast; r ' "As" ~~ / <+:Block("Basic Latin")> / ==> say()'` 12:35
🙃
ah, I think I see what's going wrong 12:37
from some debug: :constraint-property("Basic Latin") \n :target("Supplemental Symbols and Pictographs") 12:38
hmm, but how to fix it.. 12:43
\o/ 12:53
but I did have to resort to .subst(' ', '_', :g) 12:56
except something is still up.. new tests failing that hadn't failed before 12:59
Okay, one more chance and then I'm abandoning this as an exception site. It would probably be cleaner to do this in RakuAST anyway... 13:09
I think this whole section of regex's could use a revisit 13:15
TIL that 'bc' is a valid "category" 13:16
Geth rakudo/r5486: 6a7171d565 | ab5tract++ | src/core.c/Match.rakumod
Add lookup for translating General_Category longnames

Also fix broken shortnames "L", "M", "N", "P", "S", "Z", and "C".
This fixes #5486 and #5372.
The problem this addresses is three-fold: ... (23 more lines)
13:18
ab5tract back to basics :) 13:19
okay, I'm flummoxed now.. I know I ran full spectest successfully with the older proposals 13:23
will have to investigate further later on 13:24
that's what I get for forgetting to `rm ./install/bin/nqp*` 😭 13:28
*phew* 13:31
16:59 sena_kun joined 18:00 reportable6 left, reportable6 joined
ab5tract m: "e".uniprop("Block").say; "e".uniprop("Script").say; "e".uniprop("General_Category").say; "e".uniprop("Uppercase_Letter").say 18:16
camelia Basic Latin
Latin
Ll
Ll
ab5tract I feel like the uni* methods must be some of the earliest pieces of Rakudo... even the method names are a bit more archaic than usual (though`.unicode-property` does feel a bit wordy) 18:19
[Coke] m: "e".uniprop("Random Stuff").say;
camelia 0
tellable6 2024-04-26T09:50:38Z #raku-dev <finanalyst> [Coke] I've answered your question about PR #364. Hoping for a review.
ab5tract m: "e".uniprop("Basic Latin").say 18:20
camelia 0
ab5tract note that it doesn't even roundtrip there
[Coke] Is 0 the right response? Not clear from docs.raku.org/type/Cool#routine_uniprop 18:21
ab5tract I would argue that an exception or failure would be more appropriate 18:23
I think I'll craft a problem-solving ticket for this $sometime 18:25
[Coke] could you write up a sentence as to what cases would return a 0 here for the docs? I'll edit it and add it in 18:33
ab5tract Sure, will get back to you on that 18:44
[Coke] also just found m Stuff").say; 18:45
14:19 < camelia> rakudo-moar 735fc4f3
linkable6 (2024-04-25) github.com/rakudo/rakudo/commit/735fc4f3d1 Merge pull request #5556 from rakudo/release-2024.04
[Coke] er, github.com/Raku/doc/issues/4449
18:46 linkable6_ left 18:48 linkable6_ joined
ab5tract I wonder how muc 18:57
*I wonder how much community fallout there would be from changing 0 to Nil here.. 18:58
I would imagine that there would be very little working code out there that depends on looking up a nonexistent property 19:02
jdv community or ecosystem? 19:09
ab5tract ecosystem 19:11
related, it would be an amazing thing to rework blin to be able to run on a branch commit 19:13
jdv idk if it cant. you can spec a "new" sha iirc 19:15
ab5tract by sending an incantation to buildable? 19:16
my understanding from the code was that could only do what's been buildable'd 19:17
but maybe (probably) I missed something..
jdv i meant blin. itd have to be on gh so a build could be fetched 19:18
yeah.
youre probably right 19:19
it would be cool
i guess the first hurdle would be getting that build in the set on the "mothership" 19:21
one issue is its all run by alexdaniel so its not easy to change 19:22
ab5tract indeed... 19:36
my thought was maybe it could be refactored to take either a capital-B Build as usual or to work with a local path 19:38
jdv the sha would have to in the git tree it looks to 19:40
right now thats gh
point both local maybe 19:41
thats if you want bisecting
ab5tract bisecting is a great feature but for testing a branch just simple verification was the goal I had in mind 19:42
unless its a monster of a branch, I wouldn't expect bisecting to be too important 19:43
jdv yeah
Geth rakudo/main: aee3d2599a | ab5tract++ | src/core.c/unicodey.rakumod
Return '' instead of 0 when a uniprop is not found

The previous behavior seems to be an unintended consequence of setting the "pref" to 'I' when no uniprop is found in codename2proppref.
Using '' here as that is what is returned in the bottom of the nested if's.
20:06
ab5tract ^^ pushed this directly to main so that it can be tested with blin. if there's any issue, I will of course revert it 20:07
m: "e".uniprop("Basic Latin").say 20:13
camelia Nil
ab5tract buildable is fast :) 20:14
Geth rakudo/main: 05dcd08151 | ab5tract++ | src/core.c/unicodey.rakumod
Actually return '' (not Nil) from uniprop
20:20
ab5tract Dang: `WARNING: image platform (linux/amd64) does not match the expected platform (linux/arm64)` 20:44
nine Looks like my grant proposal is up for comments: news.perlfoundation.org/post/sseif...as-apr2024
I'd appreciate feedback :) The committee is voting next weekend
[Coke] nine++ 20:47
# commented
lizmat nine++ .oO( develoer ?? ) 20:49
[Coke] ... they never took away my edit rights, I could fix that typo. :| 20:54
lizmat hehe :-) 20:56
[Coke] .tell Util - hey, can you let Saif know there's a typo "develoer" in news.perlfoundation.org/post/sseif...s-apr2024)
tellable6 [Coke], I'll pass your message to Util
20:57 MasterDuke joined
MasterDuke ab5tract, jdv: i think blin can do branches, assuming they're pushed to the rakudo repo 21:01
since for a while now the whateverable build process builds branch commits also 21:02
ab5tract ah, that should indeed enable it 21:03
MasterDuke heh, "interpreteter" and "interpretter" in the grant proposal 21:05
21:29 sena_kun left
ab5tract nine++ , I really hope you get this 22:27