[00:00] *** guifa left [00:00] *** swaggboi left [00:00] *** lizmat left [00:00] *** daxim left [00:00] *** perlbot left [00:00] *** Kaipei left [00:00] *** GreaseMonkey left [00:00] *** Util left [00:00] *** Util joined [00:00] *** daxim joined [00:01] *** greaser|q joined [00:01] *** lizmat joined [00:02] *** perlbot joined [00:02] *** swaggboi joined [00:04] *** guifa joined [00:07] *** reportable6 left [00:10] *** reportable6 joined [00:18] *** guifa left [00:53] *** frost joined [00:54] *** swaggboi left [00:55] *** swaggboi joined [00:57] *** thowe left [00:58] *** thowe joined [01:02] *** guifa joined [01:12] *** swaggboi left [01:29] *** swaggboi joined [02:00] *** guifa left [02:10] *** guifa joined [02:19] *** swaggboi left [03:13] *** oodani left [03:13] *** guifa left [03:56] *** oodani joined [04:05] *** swaggboi joined [04:43] *** kjp left [04:56] *** swaggboi left [04:57] *** swaggboi joined [05:56] *** Sgeo left [06:07] *** reportable6 left [06:09] *** reportable6 joined [07:09] *** releasable6 left [07:09] *** linkable6 left [07:09] *** nativecallable6 left [07:09] *** shareable6 left [07:09] *** reportable6 left [07:09] *** committable6 left [07:09] *** benchable6 left [07:09] *** bisectable6 left [07:09] *** bloatable6 left [07:09] *** greppable6 left [07:09] *** evalable6 left [07:09] *** unicodable6 left [07:09] *** notable6 left [07:09] *** coverable6 left [07:09] *** statisfiable6 left [07:09] *** tellable6 left [07:09] *** quotable6 left [07:09] *** sourceable6 left [07:10] *** quotable6 joined [07:10] *** shareable6 joined [07:10] *** notable6 joined [07:10] *** reportable6 joined [07:10] *** nativecallable6 joined [07:10] *** committable6 joined [07:11] *** releasable6 joined [07:11] *** bisectable6 joined [07:11] *** benchable6 joined [07:11] *** bloatable6 joined [07:12] *** unicodable6 joined [07:12] *** linkable6 joined [07:12] *** tellable6 joined [07:12] *** greppable6 joined [07:12] *** coverable6 joined [07:12] *** statisfiable6 joined [07:13] *** sourceable6 joined [07:13] *** evalable6 joined [07:41] *** greaser|q left [07:41] *** greaser|q joined [07:41] *** greaser|q is now known as GreaseMonkey [08:00] *** pierrot joined [08:13] *** human-blip left [09:08] *** Colere left [09:09] *** Colere joined [09:11] *** Furor joined [09:13] *** Colere left [09:21] *** sena_kun joined [09:27] *** dogbert17 left [09:34] *** Furor is now known as Colere [10:26] *** human-blip joined [10:31] *** human-blip left [10:31] *** Guest6291 joined [10:34] *** Guest6291 left [10:39] *** abraxxa-home joined [10:47] *** abraxxa-home left [10:48] *** abraxxa-home joined [10:54] *** human-blip joined [10:59] *** frost left [11:59] *** bisectable6 left [11:59] *** sourceable6 left [11:59] *** reportable6 left [11:59] *** committable6 left [11:59] *** linkable6 left [11:59] *** benchable6 left [11:59] *** tellable6 left [11:59] *** nativecallable6 left [11:59] *** bloatable6 left [11:59] *** statisfiable6 left [11:59] *** shareable6 left [11:59] *** releasable6 left [11:59] *** coverable6 left [11:59] *** greppable6 left [11:59] *** notable6 left [11:59] *** unicodable6 left [11:59] *** quotable6 left [11:59] *** evalable6 left [11:59] *** shareable6 joined [11:59] *** quotable6 joined [11:59] *** releasable6 joined [11:59] *** unicodable6 joined [11:59] *** bisectable6 joined [12:00] *** bloatable6 joined [12:00] *** committable6 joined [12:00] *** reportable6 joined [12:00] *** greppable6 joined [12:00] *** linkable6 joined [12:00] *** notable6 joined [12:00] *** abraxxa-home left [12:01] *** coverable6 joined [12:01] *** sourceable6 joined [12:01] *** evalable6 joined [12:01] *** tellable6 joined [12:01] *** statisfiable6 joined [12:01] *** nativecallable6 joined [12:02] *** benchable6 joined [12:07] *** reportable6 left [12:10] *** reportable6 joined [13:10] *** reportable6 left [13:10] *** committable6 left [13:10] *** benchable6 left [13:10] *** nativecallable6 left [13:10] *** sourceable6 left [13:10] *** evalable6 left [13:10] *** coverable6 left [13:10] *** bloatable6 left [13:10] *** unicodable6 left [13:10] *** shareable6 left [13:10] *** statisfiable6 left [13:10] *** linkable6 left [13:10] *** quotable6 left [13:10] *** bisectable6 left [13:10] *** releasable6 left [13:10] *** tellable6 left [13:10] *** notable6 left [13:10] *** greppable6 left [13:10] *** reportable6 joined [13:10] *** quotable6 joined [13:10] *** unicodable6 joined [13:11] *** linkable6 joined [13:11] *** sourceable6 joined [13:11] *** greppable6 joined [13:11] *** coverable6 joined [13:11] *** bisectable6 joined [13:11] *** nativecallable6 joined [13:11] *** bloatable6 joined [13:12] *** statisfiable6 joined [13:12] *** committable6 joined [13:12] *** releasable6 joined [13:12] *** evalable6 joined [13:12] *** notable6 joined [13:13] *** shareable6 joined [13:13] *** tellable6 joined [13:13] *** benchable6 joined [13:20] "When a binding points at a value, that does not mean it is tied to that value forever. The = operator can be used at any time on existing bindings to disconnect them from their current value and have them point to a new one." [13:20] Reading this JavaScript book, and it seems they use "binding" differently to how it's used in Raku. It seems it's used interchangeably with assignment 🥲 [13:43] Not surprising [13:55] *** n1to joined [13:56] *** gcd left [14:10] *** guifa joined [14:11] * guifa wonders if there could be a way to add a "when" trait [14:12] like `multi sub foo ($,$,$) when $*MODE == 'debug' { … }` [14:12] *** gcd joined [14:13] I guess it could be done with `will run-when{$*MODE eq 'debug'}` and then wrapping the candidate to call the next candidate on fail [14:29] this is nice, except signatures are immutable even when andling traits =\ [14:29] m: multi sub foo(:$ where $*MODE eq 'debug') { say "debug" }; multi sub foo { say "production" }; my $*MODE = 'debug'; foo; $*MODE = 'nodebug'; foo [14:29] rakudo-moar 6dc2f92c9: OUTPUT: «debug␤production␤» [14:35] m: multi sub foo($a, $? where ($*MODE // '') eq 'debug') { say "$a with debug"; }; my $*MODE = 'debug'; foo(42); [14:35] rakudo-moar 6dc2f92c9: OUTPUT: «42 with debug␤» [14:36] you would need a RakuAST macro to turn that into a trait. Right now we can modify signatures at compile time. [14:36] s/can/can't/ [14:36] unless you are willing to .wrap [15:12] *** linkable6 left [15:12] *** evalable6 left [15:13] *** linkable6 joined [15:14] *** evalable6 joined [15:51] Yeah, was hoping to avoid the .wrap [15:52] I was a bit surprised you can do an anonymous named argument but I guess that's Raku for you, strangely consistent [15:57] there's a predefined character class in the docs called , but I'm wondering if it is a mistake in the docs? I found a rosetta code example that uses "hexdigit" and that seems to work where xdigit does not. [15:59] xdigit is a traditional POSIX character class [16:01] phogg: do you know how it differs from ? [16:01] This rosetta code example uses to do what it seems xdigit should do: https://rosettacode.org/wiki/Parse_an_IP_Address#Raku [16:02] but attempting to use in place of doesn't match what it should. Also, is undocumented as far as I can tell and it's got me scratching my head. [16:02] *** sena_kun left [16:04] *** sena_kun joined [16:05] hm, well maybe works and <:hexdigit> works. the ":" might be the difference, not sure what it means [16:05] thowe: I am no authority on this. That said <:hexdigit> looks like a unicode property matcher to me. [16:06] xdigit is 0-9A-Fa-f, so I imagine :hexdigit is at least those codepoints. [16:07] OK, I'll buy that. But this code doesn't define it and it isn't in the docs as far as I can tell. [16:07] unless it is burried someplace the search function can't find it [16:09] I expect you have to read unicode docs. [16:14] :Foo selects a character based on a unicode property [16:15] thowe: It would be nice if https://docs.raku.org/syntax/%3C:property%3E listed every possible property, but even in that example it uses <:Block()> and <:Script()> but doesn't otherwise describe them. [16:15] it does link to the uniprop page, which in turn links ultimately back to https://unicode-org.github.io/icu/userguide/strings/properties.html [16:15] which does document Hex_Digit [16:15] Unicode's hex digits are <0123456789ABCDEFabcdef0123456789ABCDEFabcdef> [16:15] (those are fullwidth forms, no spaces) [16:16] no idea how you would know :hexdigit would work for that, but :Hex_DIgit seems to be the same [16:16] s/I/i/ [16:16] phogg: I was actually just about to say that the underscore is what I would expect [16:16] maybe the underscore is just ignored for those [16:16] "hexdigit" also seems to not be in the Unicode docs... What I'm trying to figure out is how would I ever know to use "hexdigit" if I hadn't seen it in this example? I can't seem to draw that line [16:16] guifa: maybe Raku allows any s/_//g and ignores case? [16:16] phogg: jinx lol [16:17] seems it's something like that [16:18] e.g. ASCII_Hex_Digit works, as does asciihexdigit, and ASCII_Hex_Digit, but not ASCII_HexDigit, or even asciihexdigiT [16:18] <:Hex_Digit> does seem to work in the code, but I couldn't find it when googling "Unicode General Category name" I will look at the docs you posted [16:19] so the original case, strictly lower case, or either without the _ works for unicode proeprties [16:19] thowe: unicode docs are surprisingly hard to google for. Not well-linked, I expect. [16:19] the details are of interest only to a handful of implementers [16:20] Looks like the underscore variants are hard coded [16:20] guifa: found the code in the Raku implementation? [16:20] I wonder if a link from https://docs.raku.org/language/regexes#Unicode_properties would be helpful [16:20] guifa: I would still expect that to be the result of a script. [16:21] thowe: I would say so, but there is a link on the uniprops page linked from there, so it's not too hard to find. [16:21] no, just testing around [16:22] phogg: that link honestly looked like an error to my eye. I should have looked closer. [16:24] when I saw "class Cool" I thought I landed in the wrong place [16:32] well, that was fun. Thanks for the help! [17:04] *** linkable6 left [17:04] *** evalable6 left [17:04] *** linkable6 joined [17:06] *** evalable6 joined [17:06] *** leah2 left [17:18] *** leah2 joined [17:53] *** chikega joined [18:05] *** chikega left [18:06] *** reportable6 left [18:08] *** reportable6 joined [19:08] *** sourceable6 left [19:08] *** benchable6 left [19:08] *** evalable6 left [19:08] *** quotable6 left [19:08] *** greppable6 left [19:08] *** tellable6 left [19:08] *** shareable6 left [19:08] *** bisectable6 left [19:08] *** bloatable6 left [19:08] *** nativecallable6 left [19:08] *** committable6 left [19:08] *** notable6 left [19:08] *** unicodable6 left [19:08] *** coverable6 left [19:08] *** linkable6 left [19:08] *** releasable6 left [19:08] *** reportable6 left [19:08] *** statisfiable6 left [19:09] *** shareable6 joined [19:09] *** sourceable6 joined [19:09] *** unicodable6 joined [19:10] *** coverable6 joined [19:10] *** committable6 joined [19:10] *** nativecallable6 joined [19:10] *** greppable6 joined [19:10] *** statisfiable6 joined [19:10] *** notable6 joined [19:10] *** benchable6 joined [19:11] *** bisectable6 joined [19:11] *** evalable6 joined [19:11] *** reportable6 joined [19:11] *** tellable6 joined [19:11] *** releasable6 joined [19:11] *** quotable6 joined [19:11] *** sena_kun left [19:11] *** linkable6 joined [19:11] *** bloatable6 joined [19:20] *** sena_kun joined [20:15] *** sena_kun left [20:16] *** sena_kun joined [20:46] *** guifa left [20:52] *** leah2 left [20:55] *** simcop2387 left [20:55] *** perlbot left [20:57] *** simcop2387 joined [20:59] *** perlbot joined [21:03] *** leah2 joined [21:11] *** dvadddj joined [21:11] *** dvadddj left [21:32] *** leah2 left [21:48] *** leah2 joined [22:48] *** linkable6 left [22:49] *** evalable6 left [22:50] *** evalable6 joined [22:50] *** linkable6 joined [22:53] *** sena_kun left [23:48] *** n1to left