🦋 Welcome to the MAIN() IRC channel of the Raku Programming Language (raku.org). Log available at irclogs.raku.org/raku/live.html . If you're a beginner, you can also check out the #raku-beginner channel!
Set by lizmat on 6 September 2022.
pingu I could use regex 00:21
but I prefer to make my own
thundergnat Whatever floats our boat. If it works for you and gets the job done, then that's a success. 00:24
*your
rf Is there any official Raku merch? 02:58
raschip Yes, I think lizmat sells plush Camelias 03:08
rf That is excellent 03:20
raschip Sleep now, g'night. 03:26
p6steve exit 08:07
tellable6 2023-01-21T13:53:58Z #raku <ab5tract> p6steve: I to used `.path.path` to get the location of a Resource object
2023-01-21T15:57:29Z #raku <Xliff> p6steve: Thanks!
2023-01-24T19:12:28Z #raku <rf> p6steve: I'd prefer for it to be immutable in my case, but I understand what you mean.
2023-01-25T21:17:23Z #raku <tonyo> p6steve: in what way?
2023-01-25T21:35:02Z #raku <rf> p6steve: It does need to be a .so, in the case of C++ at least
p6steve exit
quit
lizmat PSA: the Rakudo Weekly News will be published tomorrow, on account of me being afk for most of today 09:43
Nemokosch take care ^^ 09:51
grondilu Hi. What's the difference between the "main" and "master" branch of rakudo? "master" is quite a bit behind, will it ever catch up? 12:38
Nemokosch "main" is the new name of "master" because github is being PC, bluntly put 12:40
so no, "master" will never catch up, treat "main" as the new "master" 12:41
grondilu noted 12:44
:(**@rest, *%rest) is there a way to get a specialization of a multi as a sub 15:06
raschip You can have multi subs... multi methods, and multi submethods... And you can call a multi method as a sub. You need to be more specific... 15:10
:(**@rest, *%rest) i have these multi sub f(Str, Str) {} multi sub f(Int, Int) {} and i want to select the f(Int, Int) candidate and turn it into another sub say it is g then g can't accept (Str, Str) 15:15
raschip Yes, there is a way, but I don't remember how. Let me have a look. 15:17
:(**@rest, *%rest) i guess the only way is to do this``` sub g(Int $, Int $) { f(@_); }
raschip call .candidates on the Method, it will return a list of candidates and you can use the one that you want 15:18
:(**@rest, *%rest) then i can index a candidate by using a capture?
Nemokosch oh .cando can help here 15:19
because .cando gives candidates that could fulfill your given arguments
raschip You'd need to smartmatch against a Signature. But .cando seems better. 15:20
Nemokosch &f.cando(Int, Int) will give you exactly one candidate
:(**@rest, *%rest) so my &g = &f.cando(Int, Int) smth like that
Nemokosch it's a List I think
so you'd need to take the first and only element
:(**@rest, *%rest) about this multi sub f(Any $a, Any $b) { #`(...) } my &g = &f.cando(Int, Int); does &g type checks arguments to be Int, Int? 15:24
or it just doesn't care which types are being fed 15:25
Nemokosch Pretty sure it doesn't 15:26
:(**@rest, *%rest) so i have to do this sub g(Int $, Int $) { f(|@_, |%_); } 15:27
does it work
Nemokosch I wonder if the following works: 15:28
sub g(|c = (Int $, Int $)) { f(c); } 15:29
I hooope I have the syntax right...
cannot bet my life on it
we have talked about Captures - here, the idea would be to really just give the same capture to the other function 15:30
:(**@rest, *%rest) but you are giving a capture as a value? 15:31
should be f(|c) 15:32
Nemokosch I think it has slurpy-like looks, not a real sigil
again, not sure, you can be right
first off: I had the syntax wrong 15:33
it's not "assignment" but just plain parens
and yes, you are right, it will need to be unwrapped
:(**@rest, *%rest) |c(Int $, Int $)? 15:34
Nemokosch yep
and with f(|c)
:(**@rest, *%rest) i think this is coercion syntax for captures or its own syntax 15:40
Nemokosch I think this is kind of like pattern matching 15:43
m: sub lol(@triplet (Int $, Str $, Num $)) { dd @triplet }; lol([1, 'foo', pi]); 15:45
it needed the whitespace between @triplet and its interpretation 15:46
this is the infamous "subsignature"
this is the infamous "subsignature" 15:47
pretty cool feature, could work a bit better around the edges
nine main vs. master has nothing to do with Github 15:51
Nemokosch github gave it a big push tbh 15:52
[Coke] ah, the old "PC" complaint, much like the new "woke". If find if you replace it with "treating people with respect", it's more clear.
(it == either PC or woke)
Nemokosch well that's at least as biased for a description 15:52
nine Again main vs. master has nothing to do with Github
It's biased towards the truth. Which is just about the only bias that is ok. 15:53
Nemokosch Nope, this is just the usual ignorance towards anything that doesn't fit into the narrative 15:54
[Coke] Yes, there's definitely some usual ignorance involved.
Nemokosch Anyway, let's not start this over. We're having it your way, that should be enough in my opinion. 15:55
nine It's not a matter of opinion or narrative. I happen to _know_ the motivation of the people who decided to make that change. And I was one of them. It is, indeed about treating people with respect and has nothing to do with Github. 15:57
[Coke] windows question: is there any chance of emitting highlighted text that works in all of cmd, powershell and git bash? 15:59
(bold in specific for my use case)
nine Can cmd do that at all? 16:00
Nemokosch well, then what can I say, not sure you are always right in your judgement 16:01
nine I can help you there: of course I am not always right in my judgement. No one is. 16:02
The alternative however is to not act at all and that surely won't lead to improvements anywhere.
Nemokosch not all actions support the right kind of people 16:03
nine Point in case: half the time I'm working on RakuAST I don't know what I'm doing and just guessing how things are supposed to be. Nevertheless we pass half our test suite now.
Nemokosch anyway, scratch the whole thing; it just really tests one's patience when opinions on certain matters are routinely posed as facts 16:04
nine Who would be the authority on my personal motivation if not I? 16:06
Nemokosch your personal motivation doesn't convert into objective truth, noone's does really 16:08
nine That I want X is a fact. That does not say anything about whether I achieve X or whether X is good or bad. But my motivation being that I want X is fact. 16:10
rf [Coke]: I'm not sure the semantics but you may have to resort to color codes 16:15
Nemokosch I didn't mean your motivation, I meant the communication around "master" and "main" and anything that has certain trigger words in it. 16:17
:(**@rest, *%rest) nine: can you elaborate about how master is such an offensive word that github avoids it? 16:20
nine What communication exactly? The only announcement of that change that I'm aware of was in the weekly and that just said: "... RakuAST branch up-to-date with the master branch, and renaming it to “main”, and making that the default Rakudo branch from now on."
If you want to know why Github does something or not, you need to ask Github people. While I'm certainly the authority on my personal motivation, I cannot attest to why a huge organization like Microsoft does something. 16:21
:(**@rest, *%rest) apparently master references slavery tho i admit they go a bit overboard there are non-slavery contexts where there is the word master 16:27
Nemokosch sssh, there have been discussions about this, to death, I got suspended for a week for "keeping arguing after being told to finish" or something 16:28
raschip In this context, it was ans specific reference to slavery, because 'master' was paired with 'slave' 16:29
nine Apparently I missed that. Can't say I'm sorry :)
Anyway, "main" is also shorter and even more explicit. Would have been a good choice from the start. 16:30
Nemokosch Not gonna lie, even ignoring the personal factor, it seems kinda sad that this is what the people who should make this community prospering, use most of their energy to things like this...
but that is not my problem, not here to chase heretics 16:32
nine Which people are you talking about?
:(**@rest, *%rest) those people who are advocating changing master to main 16:33
i think so 16:34
nine That would e.g. be me. Do you honestly claim that this is where I spend most of my energy? Have you ever looked at github.com/rakudo/rakudo/commits/main? 16:35
Nemokosch No, that's just not what I meant. By the way, then I assume you are not a member of the CAT? 16:37
El_Che This discussion has little sense except antagonising about something trivial. Development moved to main 1110 commits ago. 16:38
nine I am in fact a member of the CAT
Fun fact: this discussion here has been longer than the one that actually lead to the change in question. 16:40
Nemokosch it's not even "antagonising", this time all that happened is that apparently one isn't allowed to point out that the general rebranding of "master" is an adaptation of PC terms because... that's a maleficient observation or something? I don't know 16:42
Skarsnik Nine should spend less time arguing this and more time aswnering my NC issue ! x) 16:43
Nemokosch what is NC?
Skarsnik NativeCall
Nemokosch ohh
tbh Nine should be cloned, way too much dependencies on him 16:44
El_Che PC is a very antagonising term as it includes a judgement. It sounds to me the only use of the term is to antagonise. I may be wrong, but I am already bored about this conversation.
Skarsnik haha true
nine Skarsnik: I'm not aware of any outstanding topic requiring my answer. But then I've been mostly ignoring anything non-RakuAST for the past year. There's only so many things I can keep track of :/
Nemokosch El_Che: what is the... PC term for PC these days?
Skarsnik The issue about adding a type to refert to 'registered' native library to better hide thing 16:45
it's like a 3-4 years old thing x)
:(**@rest, *%rest) tbh main is shorter and more obvious than master so its better whether its for pc or not
Nemokosch I mean, most of my default branches are naturally main because GitHub, not worth the hassle 16:46
nine Skarsnik: oh yes, one of these days I want to give NC a major overhaul.
El_Che Nemokosh: it does not exist, because the contents of the term only exists in the head of people complaining about PC. It's a meta thing.
:(**@rest, *%rest) being respectful towards people
Nemokosch but that also includes a judgement
in fact a much more pretentious and arrogant one
Skarsnik I think it was named master because it was the ref branch for other branch
El_Che there you go: git checkout -b master 16:47
everyone happy?
nine still mourns nom
:(**@rest, *%rest) yeah its a master-slave analogy as raschip pointed out you can see why people are not confortable with that
nine Now _that_ was a branch name! 16:48
:(**@rest, *%rest) root
Nemokosch tbh for me the problem is 1% whether a goddamn git branch is called "master" or "main" and 99% the attitude that presents the existing progressive-leftist normatives as kind of a non-existent straw, while judging everyone from that perspective
which immediately happened here as well, when I used the acronym of "politically correct", lol 16:49
nine I can recommend en.wikipedia.org/wiki/Political_correctness for the history and why the term is so loaded. 16:50
raschip That's not true at all and "progressive-leftist normatives" doesn't describe this community in the least.
Nemokosch the least thing "we", both as in the Raku community, as citizens of certain countries and members of the human race, need, is inquisition of "heretics", that one is for sure 16:51
raschip You have any evidence whatsoever that's not the case? 16:52
nine I'd argue that the last thing we need is actual slavery, or war or fascist dictatorships or the like. But opinions may of course differ and this has become very, very off-topic.
El_Che LOL: "progressive-leftist normatives"
ok, I will do something else, I look stupid laughing while working
:(**@rest, *%rest) oh no, we’ve all become leftists for that name change 1001 commits ago 😭 16:54
raschip Nemokosch: just drop this discussion, you don't know the community enough to do such generalizations. 16:55
tellable6 raschip, I'll pass your message to Nemokosch
Nemokosch That one I don't think you can judge well
Actually I'd rather advise against such assumptions because I don't want to open up my "file" lol 16:56
nine: ironically, I think radicals are doing really well during inquisitions so these two don't seem that unrelated. But I think I missed your question earlier 17:02
nine Skarsnik: I still have a branch that mostly cleans up NC's memory management, i.e. lets it cover all the possible cases for how ownership of some memory may be transferred. A part of it will benefit from RakuAST. I hope I can recover that branch at some point :)
Nemokosch RSC activity seems to be rather lacking. In the light of that, it is kind of a "weird flex" that mainly the same people are quite active when it's about CAT. 17:04
nine What RSC activity are you missing/ 17:05
?
:(**@rest, *%rest) what is CAT 17:06
nine Community Affairs Team
:(**@rest, *%rest) of github? 17:07
nine Of the Raku community.
:(**@rest, *%rest) ok 17:08
Nemokosch there are many unaddressed problems, to name a few: adoptation of modules, getting a working doc site, planning releases or language versions at least, Problem-solving and consequently language design is basically dead, some plans on getting brains on particular problems (like GSOC was), marketing overall 17:11
rf Better start addressing them! 17:12
Nemokosch I'm not even saying highly nuanced stuff like the relation of Rakudo and Raku in practice, or stricter guarantees that code that worked at a point, will continue to work (e.g "known bugs"), documentation versioning, ... 17:13
nine It seems to me there's a misunderstanding about the RSC here. The RSC is _not_ responsible for any of that. To quote raku.github.io/Raku-Steering-Counc...uncil_Code "The council has broad authority, which they seek to exercise as rarely as possible"
Nemokosch Then I think the structure under it is severely lacking 17:14
coleman Nemo how come you're always poopin in the middle of the pool
rf ^^^
coleman dropping absolute stinky deuces
:(**@rest, *%rest) why is a capture called capture instead of say ArgumentList 17:15
Nemokosch coleman: how come you always say this when there are important issues to solve
nine The "structure under it" is really the community of volunteers. And yes, we really need more people just about everywhere.
I think just because it captures the arguments. Probably argument list was already taken for something else but related. Or maybe it's just because Capture is shorter
Nemokosch If the RSC is not competent in these issues, perhaps it would be good to delegate more permissions to pretty much everybody? 17:16
nine But everybody _has_ those permissions!?
Nemokosch a simple example: it took me about a month to get access to uploading community modules 17:17
nine github.com/Raku/problem-solving/ details the problem solving process, including how to get actively involved with it.
Nemokosch when I just DM'd the de facto steering council, a.k.a liz
nine And now you can. And if we find more people who like dealing with that kind of administrative issue, then things will be faster in the future.
Nemokosch my point is that something needs to be done about that, it won't just magically happen 17:18
really, tell me to go around in all Raku places, trying to contact everybody "hi, would you like to participate in XY, it's so cool because PQR", and I will do that 17:19
rf I didn't even ask and I got to work on the new doc website 17:19
Nemokosch probably not the most effective way but that's basically what I can offer, besides actually trying to look up issues and sort them, sometimes solve them
rf :^)
Nemokosch rf: you are a pleasant surprise indeed 17:20
among the 5 people who first come to mind for a squashathon reborn
nine If you think, you can contribute, then please do so! Don't wait for someone to tell you to. We don't have that someone.
Nemokosch the thing is that I also feel there is more I would need to do than what I can actually do 17:21
nine I don't think any of the active contributors got told to do anything. That's just not how the community works. Someone sees a need (often their very own) and does something about it.
We all feel that we. We all do.
rf Tbh, most projects are so simple you'd be suprised. This goes for 99% of FOSS stuff i've worked on. 17:22
Nemokosch nine: and let me tell you that I definitely don't mean you when I say "the steering council is not steering". If everybody contributed as much as you do, the situation would be completely different
rf nine: Are you the person behind Inline::Perl5? If so, thanks for that :D 17:24
nine I contribute a lot of code (but am not even sure I've made it into the top 3 yet). liz does a looooot of "boring" administrative stuff. ugexe _is_ zef and everything around it. I don't even know most of what people in the community do. Basically docs "magically" appeared for me... 17:25
I am, yes
rf nine: Inline::Perl5 is what got me into Raku about 5 months ago, so I guess I have you to thank :D 17:26
nine Cool :) Thanks for telling 17:27
coleman 8 months ago a call-for-docs volunteer went out in the newsletter and that's how i got involved 17:28
there was a flurry of initial activity, then none for a while, and now we're really doing it
The lack of activity in that middle period is indeed partially attributable to the ambiguities Nemo is always complaining about 17:29
nine Yeah, the struggle for any effort is always to survive the slump after the initial excitement
coleman I think they're real issues, fwiw. But I dunno. Chillax?
Nemokosch that's really good news. Yesterday finanalyst joined our little rituale - Raku Study Group SF, every second sunday 13pm west coast time iirc - that was a pleasant surprise 17:30
rf I got 3 people trying out Raku tomorrow at a hackathon with me
nine Btw. the best way to guarantee that code that used to work will keep working is to write spec tests. We do have a very extensive test suite but it's by far not complete. So we have to resort to running published module's test suites as well before a release. But those can fail due to unrelated issues, so it's not water tight either. 17:31
coleman nine: over the next few weeks take notes on that stuff. I'd like to work on CI for core stuff after docs is done 17:32
I'm unfamiliar with how/where stuff runs, beyond JJ's Azure account and whatever GH Actions this or that repo is using.
I'm confident we can design something fast and effective and not commit to huge monies. :) 17:33
rf I really like SparrowCI by melezhik, its good stuff :D
And he's fronting the costs like a gentleman
coleman I like it, too. I think it will be in the mix.
Nemokosch yes, that can definitely go to the killer feature list 17:34
coleman Most open source projects have a mix of CI; often there's fast stuff on GH Actions and then more chonky integration tests on dedicated infra
One project of fairly high complexity that I'd point to is the LXD project 17:35
ugexe there is a running grant for our CI - the Raku CI Bot Grant
coleman they have a fairly nice CI setup
Nemokosch melezhik is also among the people who did more than one can keep track of. There was a Rakudo bug test environment as well, for example
coleman ugexe: that is great to know; can you link to it?
I saw a repo for a bot but didn't know what it was
coleman ugexe: I'll tag you on an issue 17:37
ugexe coleman: www.perlfoundation.org/running-grants.html its the second item on the list
coleman ty 17:39
nine Ah, ugexe beat me to pointing that out :) 17:45
patrickb: people are curious about the Raku CI integration bot! 17:48
tonyo . 17:51
Nemokosch Patrick is cool 18:01
there is also something that one has to plan for... the formal breakup. There might be a day when the Perl5 folks ultimately say, "we are Perl, and Raku is not bringing anything to our table" 18:04
tonyo lizmat must've thought many times of that 18:09
Nemokosch from what I know, one can donate specifically to Perl vs Raku development for YAS. Curious about the numbers... 18:11
rf I would buy 100+ Camelia stickers if they were available 18:37
Mainly to give out at events :) 18:38
[Coke] I'm pretty sure the formal breakup already happened at some point in the last 20 years. 18:51
Not sure what would be left other than perhaps the non-profit group (which is for the two separate things) 18:52
tonyo TPF site is still in use, no? 18:55
Nemokosch not to imply that Raku core development was very prospering financially but still, I'd think it does make a difference if the Perl part of "The Perl and Raku Foundation" just disappeared from the back of the Raku community completely 18:56
[Coke] Ok, but do you think that's happening? 18:57
As a former member of the TPF on the Grants Committee, I've been pleasantly surprised with the TPF's willingness to also support Raku as a distinct thing, esp. with the recent naming changes. 18:58
Obviating the need for separate legal infrastructure (like we had for a while with the Parrot Foundation) 19:00
Nemokosch I don't know anything about that. It just hit me that the Perl macroverse has still more to offer for Raku than vice versa. I'm not even saying that this is the fault of the language or the people working on it, simply it seems that "we" have nothing to offer to them that they could use 19:01
rf We have Raku to offer them. 19:02
Nemokosch They have long made up their minds that backwards compatibility is "the killer feature" of Perl
[Coke] (sadface: wikipedia removed the page for Parrot Foundation)
Nemokosch Methinks backwards compatibility is indeed the feature that killed Perl 😂 🙊 19:04
cfa some folks just prefer perl to raku, and that's okay too
Nemokosch But yeah, joke aside, the main thing Raku could offer is all the concepts worked out into a language and ecosystem. And that's exactly what Perl won't take. 19:06
cfa but perl did borrow much from raku / p6
some thing more successfully than others
things* 19:07
Nemokosch probably you have a point but we could also say that with some things (like typing, function signatures, rich control structures), there was like natural convergence that one could hardly "trigger" just by the charm of Perl6/Raku 19:10
rf No rakudo news today? 19:11
raschip lizmat said she will publish tomorrow
Nemokosch lizmat announced that she would be away for most of today 19:12
rf Must have missed that, thanks!
p6steve conf.raku.org just got posted to reddit 19:59
raschip Posted by u/liztormato Rakoon 🇺🇦 🕊🌻 11 hours ago 20:12
I don't mean to correct you, just wondering why did it take 11 hours to hit the website... 20:14
El_Che raschip: filteeing on best instead of new 20:18
raschip right, it takes some time to reach the top. My other thought was that it was posted to other communities besides r/rakulang 20:19
El_Che I saw it hours ago 20:20
tonyo just release fez:ver<40> - this should fix a lot of the bundling hanging/etc
raschip www.reddit.com/r/perl/comments/10m..._variable/ --> should we tell them?
El_Che the rfc? 20:23
raschip 🎉🎉🎉🎉🎉 Yay! New fez release
Is there a bot that takes notes for the weekly still? 20:24
They are looking for Raku
El_Che _weeky: without the underscore
raschip weekly: new fez release 20:25
notable6 raschip, Noted! (weekly)
raschip tonyo++
rf tonyo++ 20:27
p6steve ahh - sorry - 'just' is subjective 20:28
ahh - sorry - 'just' is subjective 20:29
Nemokosch yeah it's "just" for me as well, not really following reddit 20:52
p6steve can't perlers go grep( {$^a =~ /1/} ,@array), then 21:05
Bareword found where operator expected at -e line 1, near "$^a" (Missing operator before a?) 21:07
no matter how much perl tries to claw back from raku (and I heartily encourage that) it will never get close 21:08
tonyo next version is going to start dist management 21:15
Nemokosch tonyo++ 22:39
rf Hey folks, I've been working fairly hard to add more features to Humming-Bird, the newest are in this PR github.com/rawleyfowler/Humming-Bird/pull/31, if anyone has spare time I don't want to merge this big of a change without some eyes seeing it. Thanks :D 23:24
without another set of eyes* 23:25
Nemokosch sorry for my ignorance but what is the use case of advices? 23:29
rf Sometimes you need EOL hooks for auditing, logging etc of requests 23:30
Like for example, if you want to see how many times there was a 500, it would be best to add it as an advice
Or, say you want to run a job or append a header to every response 23:31
Definetley not as useful as middleware, but I find most frameworks have this mechanism. 23:33
tonyo .seen jonathanstowe 23:35
tellable6 tonyo, I haven't seen jonathanstowe around
tonyo i thought jonathan was in here once a moon cycle 23:36
Nemokosch 👍 23:40
not sure if this is "review worthy" observation but did you know that method calls can be interpolated to a string without a block as well? The parens can give it away for the parser. 23:41
also, it seems that the new entries in META6.json have extra indentation; is that intentional? 23:43
rf I don't see extra indentation 23:58
Also I did not no that, thanks!
know*