[00:00] *** guifa joined [00:02] *** reportable6 left [00:03] *** reportable6 joined [00:15] has anyone tried bundling an executable in the bin/ folder before? I'm thinking about doing it for a module to grab ome basic system stats, but I know on the Mac systems can be ... finicky at best. When zef installs, are they cleared for running normally? (also, does Windows have similar protections?) [00:18] so installing any non-raku script in bin probably doesn't work since the CURI logic for installing those adds a raku wrapper to everything https://github.com/rakudo/rakudo/blob/0de28ae72df824d9314bbbc2239269d69cba1b47/src/core.c/CompUnit/Repository/Installation.pm6#L206-L230 [00:24] *** swaggboi left [00:26] ugexe: ah, I guess what I meant is including something to be used by NativeCall. I guess bin/ actually isn't the directory I wanted then [00:26] oh yay! there's a conference (in the cloud) this week. [00:37] What's the correct place to put a .so to call it with NativeCall? In a normal raku script, it'd be in the same directory, but that doesn't seem to be the case for modules [00:37] * guifa swears he saw an example for this somewhere but can't find it [00:44] put that in resources guifa [00:44] libyaml has something that does it [00:45] guifa: https://github.com/tony-o/perl6-libyaml [00:48] tonyo++ going to try that and see if I can get it to work [00:56] *** swaggboi joined [00:56] tonyo++ that works! Big question now is how badly macOS Is going to complain [00:59] if you are generating a library you probably want to generate e.g. libfoo.so/libfoo.dynlib/foo.dll in `resources/libraries` and have an entry in meta json as `resources/libraries/foo` and access as %?RESOURCES [00:59] that directory means it will translate `foo` into whatever filename it thinks is appropriate for that system [01:00] of course there is no actual `resources/libraries/foo` file, but that %?RESOURCES entry will point to the likely one [01:02] so tony-o could change those 3 entries in the meta6.json to a single `resources/libraries/yamlwrap` and reference them in code like `is native(%?RESOURCES)` [01:04] oooh, that is convenient. I'm assuming there's nothing special about the directory "libraries", I could just as easily put stuff in `resources/my_fancy_native_stuff/foo`, yeah? [01:05] it is special -- that system dependant name mapping only applies to that directory [01:05] if you put those files elsewhere you need to explicitly list each file (libfoo.so, libfoo.dynlib, foo.dll) [01:06] but then in your code you then have to figure out which one of those to use from %?RESOURCES somehow [01:06] Very cool [01:08] In this case, I'll probably just do the explicit one — code will be called from submodules that are very OS-specific (it's a module designed to grab system/user information, so no pretty way around it), but I'll keep in mind the resources/libraries/ trick [01:09] m: say $*VM.platform-library-name("foo".IO).basename [01:09] rakudo-moar 0de28ae72: OUTPUT: «libfoo.so␤» [01:09] (that is the underlying mechanism of the name mapping) [01:11] ugexe++ thanks! [01:56] *** linkable6 left [01:56] *** evalable6 left [01:57] *** linkable6 joined [01:58] *** evalable6 joined [02:00] *** cbk joined [02:04] *** cbk left [03:04] *** evalable6 left [03:04] *** bisectable6 left [03:04] *** reportable6 left [03:04] *** benchable6 left [03:04] *** statisfiable6 left [03:04] *** linkable6 left [03:04] *** unicodable6 left [03:04] *** bloatable6 left [03:04] *** notable6 left [03:04] *** shareable6 left [03:04] *** greppable6 left [03:04] *** quotable6 left [03:04] *** coverable6 left [03:04] *** releasable6 left [03:04] *** committable6 left [03:04] *** sourceable6 left [03:04] *** tellable6 left [03:04] *** squashable6 left [03:04] *** nativecallable6 left [03:05] *** linkable6 joined [03:05] *** reportable6 joined [03:05] *** shareable6 joined [03:05] *** unicodable6 joined [03:05] *** committable6 joined [03:05] *** evalable6 joined [03:05] *** notable6 joined [03:05] *** bisectable6 joined [03:06] *** statisfiable6 joined [03:06] *** coverable6 joined [03:06] *** bloatable6 joined [03:06] *** nativecallable6 joined [03:06] *** greppable6 joined [03:06] *** quotable6 joined [03:06] *** sourceable6 joined [03:06] *** benchable6 joined [03:07] *** squashable6 joined [03:07] *** tellable6 joined [03:07] *** releasable6 joined [04:07] *** linkable6 left [04:07] *** notable6 left [04:07] *** statisfiable6 left [04:07] *** sourceable6 left [04:07] *** squashable6 left [04:07] *** evalable6 left [04:07] *** bloatable6 left [04:07] *** bisectable6 left [04:07] *** quotable6 left [04:07] *** unicodable6 left [04:07] *** releasable6 left [04:07] *** nativecallable6 left [04:07] *** shareable6 left [04:07] *** greppable6 left [04:07] *** coverable6 left [04:07] *** committable6 left [04:07] *** reportable6 left [04:07] *** benchable6 left [04:07] *** tellable6 left [04:08] *** benchable6 joined [04:08] *** coverable6 joined [04:08] *** committable6 joined [04:08] *** tellable6 joined [04:09] *** sourceable6 joined [04:09] *** bisectable6 joined [04:09] *** statisfiable6 joined [04:09] *** releasable6 joined [04:09] *** squashable6 joined [04:10] *** nativecallable6 joined [04:10] *** greppable6 joined [04:10] *** evalable6 joined [04:10] *** notable6 joined [04:10] tonyo / ugexe, after some work getting a fresh machine all ready, I found a dylib passes GateKeeper. I was legitimately a bit surprised, but nice. [04:10] *** quotable6 joined [04:10] *** linkable6 joined [04:10] *** unicodable6 joined [04:10] *** bloatable6 joined [04:11] *** shareable6 joined [04:11] *** reportable6 joined [04:16] *** guifa left [04:32] *** perlbot left [04:34] *** perlbot joined [05:21] *** aca joined [05:21] *** aca left [05:32] *** Doc_Holliwood joined [06:02] *** reportable6 left [06:04] *** reportable6 joined [06:12] *** swaggboi left [06:12] *** swaggboi joined [06:28] *** RaycatWhoDat left [06:28] *** RaycatWhoDat joined [06:35] *** Sgeo left [06:47] *** stoned75 joined [07:13] *** abraxxa joined [07:15] *** stoned75 left [07:15] *** abraxxa left [07:18] *** abraxxa joined [07:20] *** stoned75 joined [07:23] *** abraxxa left [07:23] *** abraxxa joined [08:01] *** Xliff left [08:32] releasable6: status [08:32] xinming, Next release in ≈11 days and ≈10 hours. 1 blocker. 0 out of 7 commits logged [08:32] xinming, Details: https://gist.github.com/4dafd260eaf7065c4d39ba0d7176b9d4 [08:40] *** bartolin left [08:40] *** tinita left [08:40] *** bartolin joined [08:42] *** tinita joined [09:22] *** patrickb joined [09:51] *** sono left [09:53] *** sena_kun left [10:00] Does the/a bot have a search-the-docs plugin? [10:00] *** sena_kun joined [10:01] For some reason I find that less of a mental overhead than googling "raku [subject]" [10:03] do anyone know if its still possible to buy tickets to the conference in the cloud? [10:03] Altreus: yes and no. there's no specific functionality for searching just the docs, but i think (an old version of) the docs repo is searched by greppable [10:50] * lizmat clickbaits https://rakudoweekly.blog/2021/06/07/2021-23-going-funky/ [10:51] deja vu [11:00] *** linkable6 left [11:00] *** evalable6 left [11:02] *** linkable6 joined [11:02] I know now why lizmat's butterfly was broken on twitter :) [11:03] yeah, it was going too fastly :-) [11:03] *** evalable6 joined [11:03] something like that :) [11:03] weird how all is interconnected [11:03] single point of failure is fun [11:04] well, NCD is just an anagram of CDN [11:05] as in No Content Delivery :-) [11:05] *** Doc_Holliwood left [11:10] *** yewscion joined [11:14] *** yewscion left [11:14] *** yewscion joined [11:19] howdy [11:20] i want to pass all args from one signature to a sub signature [11:21] without exhaustively multying it, what form of slurpy wik [11:22] will cover everything? [11:23] something like "(*%) { foo(!%_) }"? [11:23] :(*%aa [11:24] :(*%a) { foo(|%_) } [11:25] or do i need to know more about the original signature? [11:27] *** yewscion left [11:30] lizmat: i'm trying to allow my DateTime child class to instantiate with the normal DateTime new signatures. i think i need to have at least two multi new methods: one with the currently working new signature, and one ideally the catchall for the native DateTime new signatures. [11:37] well, generally, one would do sub a(|c) { b(|c) } where "c" is just a name for a capture, could be anything [11:55] *** sena_kun left [11:55] *** sena_kun joined [11:55] that's what i came to report! it was as simple as adding ", |c" to my new method and then calling self::new(|c) inside, not even a multi needed! [11:57] thanks, docs need a tweak in the subclass area. current descrip is kind of hidden in capture portion, needs to have a simple sample for pluggers with limited memory banks ;-D [12:02] *** reportable6 left [12:03] *** reportable6 joined [13:03] *** committable6 left [13:03] *** quotable6 left [13:03] *** sourceable6 left [13:03] *** greppable6 left [13:03] *** bloatable6 left [13:03] *** notable6 left [13:03] *** tellable6 left [13:03] *** bisectable6 left [13:03] *** coverable6 left [13:03] *** statisfiable6 left [13:03] *** reportable6 left [13:03] *** linkable6 left [13:03] *** unicodable6 left [13:03] *** benchable6 left [13:03] *** squashable6 left [13:03] *** releasable6 left [13:03] *** shareable6 left [13:03] *** nativecallable6 left [13:03] *** evalable6 left [13:04] *** tellable6 joined [13:04] *** unicodable6 joined [13:04] *** reportable6 joined [13:04] *** greppable6 joined [13:04] *** coverable6 joined [13:04] *** committable6 joined [13:05] *** sourceable6 joined [13:05] *** shareable6 joined [13:05] *** notable6 joined [13:05] *** squashable6 joined [13:05] *** bisectable6 joined [13:05] *** releasable6 joined [13:06] *** evalable6 joined [13:06] *** quotable6 joined [13:06] *** bloatable6 joined [13:06] *** linkable6 joined [13:06] *** nativecallable6 joined [13:06] *** benchable6 joined [13:06] *** statisfiable6 joined [13:23] *** b2gills left [13:38] *** guifa joined [13:49] *** b2gills joined [13:59] *** guifa left [14:25] *** dakkar joined [14:37] *** Sgeo joined [14:53] *** AlexDaniel left [14:53] *** CIAvash left [14:53] *** tyil[m] left [14:53] *** ComplYue[m] left [14:53] *** demostanis[m] left [14:53] *** juanfra left [14:53] *** juanfra joined [14:55] *** demostanis[m] joined [14:55] *** AlexDaniel joined [14:55] *** tyil[m] joined [14:55] *** ComplYue[m] joined [14:55] *** CIAvash joined [14:57] *** RandalSchwartz joined [14:57] I forget…. how do you use a unicode variable name in Perl6 if you don't have an extended keyboard?  Can you do something like $\u{…} ? [14:58] *** sena_kun left [14:58] *** sena_kun joined [15:01] RandalSchwartz: depends on your editor, how you insert those characters [15:02] trying to grok https://docs.raku.org/syntax/identifiers [15:02] *** monkey_ joined [15:02] maybe I can say $<\u…> ? [15:04] m: say "\c[WHITE SMILING FACE]" [15:04] rakudo-moar 0de28ae72: OUTPUT: «☺␤» [15:04] like that? [15:05] search unicode on the docs site? [15:06] jdv: that works in values, not (necessarily) in identifiers [15:06] While that gives you something to copy and paste, it does get tedious quickly [15:06] oh i see [15:07] m: my $a = 42; say ::("\$\x61") # RandalSchwartz something like that ? [15:07] rakudo-moar 0de28ae72: OUTPUT: «42␤» [15:08] but really, get a better editor [15:09] m: my $a = 42; say ::("\$\c[LATIN SMALL LETTER A]") # or like this RandalSchwartz [15:09] rakudo-moar 0de28ae72: OUTPUT: «42␤» [15:09] (in emacs, `ucs-utils-ucs-insert` works as a near-last resort) [15:09] that's pretty ugly [15:10] RandalSchwartz: also, it's called Raku nowadays :-) [15:11] m: my $☺; [15:11] rakudo-moar 0de28ae72: OUTPUT: «5===SORRY!5=== Error while compiling ␤Name must begin with alphabetic character␤at :1␤------> 3my $7⏏5☺;␤ expecting any of:␤ constraint␤ infix␤ infix stopper␤ postfix␤ state…» [15:11] m: my $a☺; [15:11] rakudo-moar 0de28ae72: OUTPUT: «5===SORRY!5=== Error while compiling ␤Bogus postfix␤at :1␤------> 3my $a7⏏5☺;␤ expecting any of:␤ constraint␤ infix␤ infix stopper␤ postfix␤ statement end␤ statemen…» [15:11] m: my $a\☺; [15:11] rakudo-moar 0de28ae72: OUTPUT: «5===SORRY!5=== Error while compiling ␤Confused␤at :1␤------> 3my $a\7⏏5☺;␤ expecting any of:␤ postfix␤» [15:11] oh, mine spits out "Confused" [15:11] jdv: emojis are not made of the right unicode elements :-) [15:11] oh there it is - i just can't read [15:12] ha [15:12] but what if i really want a happy variable?! [15:13] Ahh, so it's not any unicode. I mis-membered. [15:16] m: my $Ǣ = 123; say $Ǣ; [15:16] rakudo-moar 0de28ae72: OUTPUT: «123␤» [15:17] haven't had the inkling for unicode in identifiers yet. neat though. [15:19] wow… imagine accurately getting unicode from IRC to a bot and back. :) [15:20] I don't have that kind of brainpower [15:20] *** Scotteh joined [15:35] *** patrickb left [15:40] *** stoned75 left [15:40] *** cbk joined [15:41] m: my $container; constant term:<$☺> := $container; say ++$☺; [15:41] rakudo-moar 0de28ae72: OUTPUT: «1␤» [15:42] gfldex: cheat 😜 [15:42] m: constant term:<$☺> := $; say ++$☺; [15:42] rakudo-moar 0de28ae72: OUTPUT: «1␤» [15:53] RandalSchwartz! \o/ [15:53] RandalSchwartz: I don't think I've ever been in here at the same time with you, so let me just take the chance to say this: I'm a big fan of the Schwartzian transform :+1: [15:54] RandalSchwartz: I hope you are aware that it was made the default in Raku's `.sort` [16:07] now i have to start calling him marlin so his head doesn't get too big masak [16:08] tonyo: the nice thing though is that you can still sort all the heads by size without unnecessary computation [16:12] thank you. [16:13] how is it "the default"? does it cache the key computation somewhere? [16:13] RandalSchwartz++ great books [16:13] yes, .sort accepts a unary function, and then it caches [16:14] I'm all-in on Dart/Flutter these days. Far more practical than (and almost as powerful as) modern Perl and Raku. :) [16:14] https://www.youtube.com/c/RandalLSchwartzonDartandFlutter [16:14] oops… wrong shortcut [16:14] https://developers.google.com/community/experts/directory/profile/profile-randal-l-schwartz [16:15] almost :) [16:16] it's quite a change coding in a strongly typed, sound-null-safety language. [16:16] but i'm liking it. [16:16] it can be really nice. I recognize that feeling from TypeScript. [16:16] And it has the things I admired about Perl6 design…. lazy lists, everything is a real object, etc. [16:17] TypeScript is still only a thin verneer over javascript. [16:17] there are still 7 ways to say true, and 5 to say false. [16:17] ah, you would say that, being a Dart aficionado :) but it does fix many of the same issues, I believe [16:18] not out to prove it to you, though ;) [16:18] In Dart, like Smalltalk before it… there's precisely just "true" and "false", and anything else "used as a boolean" throws. [16:18] that's nice ;) [16:19] in a way, it's great to meet someone who's a convinced Dart user. haven't really done that before [16:19] Hmm if I were going to learn a language with such strong compilation requirements I'd use Rust [16:19] Been using it since the early releases. Even gave a talk on it in 2015. [16:19] Having said that, I have no experience with Dart [16:20] Not even any exposure [16:20] dart.dev is quite thorough. I was going to write Learning Dart, but I didn't want to work for minimum wage again. :) [16:20] Dart doesn't strike me as a language I'd prefer. but I mean that in a "lack of evidence" way, not in an "I know why not" way [16:21] the tooling has something to be said for it. I know they've been toying around with ML-based code completion, for example [16:21] it's an unassuming language. meant to be familar, but also having the goals of efficient conversion to both machine bytes and JavaScript. [16:22] for example, no resumable contexts because JS can't do that. [16:22] I miss that about Smalltalk. [16:22] RandalSchwartz: hm, isn't that a bit of a rewrite of history, though? Dart was launched as an alternative to JavaScript, but it ended up compiling to it just like everything else [16:22] because nothing can kill JavaScript [16:23] <[Coke]> any pointers on sanitizing output from a run() command on windows to avoid Malformed UTF-8 error? [16:23] partly true. the truth is between my story and yours. :) [16:23] the main goal was "how do we get away from Java for GWT" [16:24] because the big Oracle showdown had high risk. [16:24] thankfully now settled by the SCOtUS [16:24] oh, parts of that I didn't know [16:25] It's public, and partially from watching the history for a long time. [16:25] I *am* under an NDA. I can't tell you I've heard internal stories, or what they say. :) [16:25] but... I didn't dream up the leaked memo, and the "secretly, we'll be working on our own language", and that didn't quite pan out that way [16:26] it may also be partly responsible for "why fuchsia" [16:26] as in "can we do android over, and leave out the oracle-fight-inducing parts?" [16:26] [Coke]: no direct pointers, but there totally should be a way to safely decode UTF-8 [16:27] [Coke]: curious -- in your use case, what should be the appropriate action when a decoding error is encountered? [16:28] send an email to the POTUS! [16:29] * masak .oO( well, that escalated quickly ) [16:30] <[Coke]> masak: got there- was just complicated finding the right spot to say "give me the output of this in binary" so I could decode myself. [16:30] at least this president might actually read them! [16:30] Flutter is presumably a framework for Dart? [16:30] RandalSchwartz: Because he is actually literate? [16:30] yes, it's a UI SDK [16:31] [Coke]: great -- we should lobby for a non-complicated solution, though [16:31] <[Coke]> masak: in my case? I really just don't care about the part of the output that's wrong. Trying to get the output from 'nuget list ' to give me the one line I care about, and that one line is fine (and sadly cannot get nuget list to NOT give me too much) [16:31] [Coke]: or if there already is one, work to make it more findable :) [16:31] [Coke]: interesting [16:32] <[Coke]> masak: maybe something like .slurp(:close,:utf8-c8) instead of .slurp(:bin,:close).decode('utf8-c8') [16:32] [Coke]: so it's kind of "just put those `?` thingies on the parts you can't decode" [16:32] <[Coke]> but it's fine, just trying to get this script done so I can do my job. ;) [16:32] :D [16:32] 'night, #raku [16:33] <[Coke]> masak: yup. I'm effectively doing "nuget list packagename" | grep "\bpackagename\b", so I don't care about any other line [16:33] <[Coke]> night. [16:33] <[Coke]> also: hey, RandalSchwartz. [16:33] <[Coke]> also my cat: mao. mao? mao! mao. [16:36] *** b2gills left [16:36] *** b2gills joined [16:41] *** GreaseMonkey left [16:41] *** dg left [16:41] *** tonyo left [16:41] *** ingy left [16:41] *** _________ left [16:41] *** jdv left [16:41] *** jdv_ joined [16:41] *** greaser|q joined [16:41] *** dg joined [16:41] *** _________ joined [16:41] *** tonyo joined [16:41] *** _________ left [16:41] *** _________ joined [16:45] *** monkey_` joined [16:46] *** monkey_` left [16:46] *** monkey_` joined [16:46] *** monkey_ left [16:47] *** monkey_` left [16:48] *** _________ left [16:49] [Coke]: you might try doing the `run` with :bin mode and encoding to utf8 manually [16:49] *** monkey_ joined [16:49] s/encoding/decoding/ [16:50] *** _________ joined [17:06] Altreus: I'm a fan of Rust. imo, it's a good complement to Raku -- I like Raku enough that pretty much the only reason I'd want a different language is if Raku isn't fast enough for the task [17:12] Yeah I really want to be able to work in any language that has sufficient compile-time reasoning that it can tell me I'm being stupid before there's even a binary to test [17:13] moritz: Did the folk at Apress told you they do typesetting? [17:46] *** holly_ left [17:46] *** RaycatWhoDat left [17:46] *** holly_ joined [17:46] *** RaycatWhoDat joined [18:02] *** reportable6 left [18:04] *** reportable6 joined [18:09] *** abraxxa-home joined [18:13] [Coke]: `run` has an `:enc` param you could probably pass 'utf8-c8' [18:26] <[Coke]> ugexe: ah, thanks. it's in the signature in the docs, but not in the body of the docs. [18:27] <[Coke]> Now I'm stuck on conditional formatting in excel. Curses. :) [18:30] *** Doc_Holliwood joined [18:32] *** greaser|q left [18:32] *** greaser|q joined [18:32] *** greaser|q is now known as GreaseMonkey [18:59] *** hankache joined [19:15] *** hankache left [19:17] *** pierrot left [19:18] *** pierrot joined [19:27] *** monkey_ left [19:53] *** codesect` left [19:54] *** codesections joined [19:57] *** sono joined [20:02] *** dakkar left [20:27] *** jdv_ is now known as jdv [20:50] *** monkey_ joined [20:50] *** cbk left [20:54] *** thundergnat_ joined [20:54] . [20:54] 2021-06-03T11:02:08Z #raku-dev thundergnat that looks like a bug, could you make an issue for it? [20:54] 2021-06-03T12:57:44Z #raku-dev thundergnat https://github.com/rakudo/rakudo/commit/89fd8a8df8 tests would be appreciated :-) [20:54] hey thundergnat_, you have a message: https://gist.github.com/a0ff56f709de2c721022e7b9d32a5318 [20:57] bisectable6: old=2020.01 new=HEAD https://gist.github.com/thundergnat/77676d999d06fbf8152ec0e25e55ce92 [20:57] thundergnat_, Bisecting by output (old=2020.01 new=0de28ae) because on both starting points the exit code is 0 [20:58] thundergnat_, bisect log: https://gist.github.com/0c6ab86885a818fa2d3b767c1d4ab394 [20:58] thundergnat_, (2020-01-26) https://github.com/rakudo/rakudo/commit/0c5a7075a92740ce9cc61ace20f9b405f29654bc [21:00] lizmat++ [21:02] .tell masterduke (search Rosettacode) There isn't really an easy way for the general public to do so. I went through and grepped out all the easy Perl 6 references, but a few still linger. [21:02] thundergnat_, I'll pass your message to MasterDuke [21:03] .tell masterduke: especially in the discussion pages. I was very hesitant to modify those as it is rewriting history. [21:03] thundergnat_, I'll pass your message to MasterDuke [21:04] thundergnat_: yeah, i wouldn't change discussion [21:06] *** holly_ left [21:06] did leont just do something like $list.grep(:is-prime)? i lost the slide in my memory. [21:07] *** holly_ joined [21:09] .grep(&is-prime) ? [21:12] i think it had a colon and its why it stuck out to me [21:12] hopefully we'll get slides eventually [21:14] m: say ^100 .grep: &is-prime [21:14] rakudo-moar 0de28ae72: OUTPUT: «(2 3 5 7 11 13 17 19 23 29 31 37 41 43 47 53 59 61 67 71 73 79 83 89 97)␤» [21:16] *** holly_ left [21:16] jdv: there was a syntax error in there though, I should have double checked that. [21:16] It should have been @list((:is-prime)), because otherwise it's a named argument. [21:17] If I had double checked that I probably wouldn't have included it, oh well. [21:17] @list.grep((:is-prime)) [21:18] that still looks odd to me. how is that working then? [21:19] @list.grep((:is-prime)) equals @list.grep(*.is-prime) [21:19] and @list.grep((:!is-prime)) equals @list.grep(!*.is-prime) [21:21] i'm not sure i've seen (:foo) mean *.foo - is that doc'd? [21:21] m: say ^10 .grep: (:is-prime) [21:21] rakudo-moar 0de28ae72: OUTPUT: «(2 3 5 7)␤» [21:21] huh, I didn't know about that syntax. Neat! [21:24] Woah, that's a new one on me too. [21:24] i know! where did it come from?! [21:25] I think the point is that it didn't come from anywhere -- it's not a special case, just a consequence of the smartmatch semantics [21:28] Someone blogged about it recently, I didn't know about it until then either [21:29] i'm not seeing it. [21:29] m: say (:is-prime).ACCEPTS($_) for ^10 [21:29] rakudo-moar 0de28ae72: OUTPUT: «False␤False␤True␤True␤False␤True␤False␤True␤False␤False␤» [21:30] Well I'll be darned. [21:31] Looks like it's here: https://github.com/rakudo/rakudo/blob/master/src/core.c/Pair.pm6#L59 [21:33] ok then:) [21:35] This is the reason: https://docs.raku.org/type/IO::Path#File_test_operators [21:38] <[Coke]> I feel like while it was intended for those specific tests, it was not intended to include arbitrary methods/subs [21:38] One use I can see for that is to make it simpler to do the code behind interfaces where users can choose to include or exclude matches. Because then you can do .grep((:is-prime($include-primes))) [21:38] <[Coke]> Do we have any roast that allows something like :is-prime there instead of :d ? [21:42] lizmat: thanks. now its starting to make sense to me. [21:42] [Coke]: I would be surprised [21:42] fwiw, I think this feature is more on the scale of WAT than DWIM [21:43] still feels like a wat though [21:43] * leont almost left it out, perhaps I should have [21:43] yeah, I think it's a case of premature optimization [21:49] * leont was very content with finding the Euclidian distance example. It's a real life algorithm that showcases 3 different kinds of meta-operators quite well [21:49] sqrt [+] (@a Z- @b)»² [21:51] * jdv just watched the watman thing again - thanks leont [21:54] *** swaggboi left [22:09] <[Coke]> leont: nice. [22:18] *** gfldex left [22:34] *** abraxxa-home left [22:40] *** Doc_Holliwood left [22:44] *** holly_ joined [23:15] *** monkey_ left [23:25] *** lucs joined [23:35] *** gfldex joined [23:53] *** frost joined