🦋 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.
hythm calling `.d` on a symlink file that points to a directory returns True. is this correct behavior? 04:03
`raku -e 'say "symlink".IO.d'` # True 04:04
MasterDuke it matches perl. `perl -E 'say -d "symlink"'  # 1` 04:06
hythm I ask because that cause logic like  `.rmdir if .d` to fail with `Failed to rmdir: not a directory` 04:09
ab5tract m: use NativeCall; my Pointer[int32] $p = Pointer[int32].new(42); dd $p # how are you actually supposed to do this? 08:51
camelia Type check failed in assignment to $p; expected NativeCall::Types::Pointer[int32] but got NativeCall::Types::Pointer (NativeCall::Types::P...)
in block <unit> at <tmp> line 1
nemokosch > calling .d on a symlink file that points to a directory returns True. is this correct behavior? 09:01
I don't know if it is correct but I can definitely recall the topic
there might even be an issue for it, idk if you checked hythm 09:02
leont Yes that is correct behavior. 09:26
nemokosch github.com/rakudo/rakudo/issues/5345 09:27
melezhik . 12:23
getting rakudo.org/dl/rakudo/rakudo-moar-2...gcc.tar.gz is EXTREMELY slow for me - gist.github.com/melezhik/95eb50a6d...f2487c2890 12:24
cc andinus coleman
Geth ecosystem/SUPERSEDING: dc5d7934ea | (Elizabeth Mattijsen)++ | SUPERSEDING.list
First stab at providing superseds mapping

This contains all of my modules that lived on PAUSE at some point.
Each line is supposed to consist of two or more "words". The first word is the original module:auth<…> string, and the next words are the module:auth<…> strings that superseded the previous module:auth<…>. ... (5 more lines)
12:49
Geth ecosystem: lizmat++ created pull request #628:
Provide community maintained supersedes mapping
12:50
ecosystem/main: dc5d7934ea | (Elizabeth Mattijsen)++ | SUPERSEDING.list
First stab at providing superseds mapping

This contains all of my modules that lived on PAUSE at some point.
Each line is supposed to consist of two or more "words". The first word is the original module:auth<…> string, and the next words are the module:auth<…> strings that superseded the previous module:auth<…>. ... (5 more lines)
12:53
ecosystem/main: 7f1d82d271 | (Juan Julián Merelo Guervós)++ (committed using GitHub Web editor) | SUPERSEDING.list
Merge pull request #628 from Raku/SUPERSEDING

Provide community maintained supersedes mapping
ugexe yeah im not a fan of that 13:03
lizmat of the idea, or the quick merge ? 13:04
ugexe it deserves a problem-solving at the very least
lizmat well, that's why I made it a PR, so we could discuss it
I'll revert and re-open the PR,, ok ?
ugexe i think its better as a problem solving issue
lizmat ok, I'll open that 13:05
ugexe like there is a problem solving repo to get rid of the Foo:ver<xxx> parsing among other things
but it also makes reasoning about what will get downloaded quite difficult 13:06
lizmat github.com/Raku/problem-solving/issues/394 you mean?
ugexe versions would be effectively pointless as one can use whatever they want as long as they add it to that list 13:07
i'm just having a hard idea finding what it solves that using a single ecosystem and version/api/auth doesnt solve
lizmat well, I would be against forcing to a single ecosystem 13:08
it stifles progress
ugexe its not forced 13:09
but a single ecosystem is the secure way, and being secure by default is what every other ecosystem is moving towards
i'd be interested to hear how it stifles progress as well
lizmat if we wouldn't have allowed multiple ecosystems, PAUSE or zef ecosystems would have never existed 13:11
ugexe you are confusing allowing multiple ecosystems to what is used as a default 13:12
lizmat ah, you mean that the default setting for zef should be zef ecosystem only, and not look at the REA, CPAN or p6c ? 13:13
ugexe it should be an ecosystem that applies policy to namespaces, and zef ecosystem is the only one of those that does that, so yes 13:14
lizmat understood
ugexe but no secure ecosystem can work cooroporatively with another unsecure ecosystem
lizmat ack
ugexe including trying to force how the resolution happens
like mapping one auth to another 13:15
lizmat with regards to keeping supersedes information: do I understand your problem of my ecosystem PR is the format, not the idea?
ugexe there are problems with the idea as is as well 13:16
lizmat ?
ugexe notably but no secure ecosystem can work cooroporatively with another unsecure ecosystem
or rather, a secure ecosystem working cooperatively with an unsecure ecosystem makes them both unsecure 13:17
lizmat having the supersedes list community maintained makes it insecure ? 13:18
ugexe does it mix and match between ecosystems? 13:19
lizmat that's the idea ?
ugexe like i wish you would take a little bit to think of what could be wrong with this, because in my eyes there are so many issues that it seems hard to believe any have been considered
yes im saying that idea is insecure 13:20
like if i pin something to a specific auth/ver/api i want those specific things
ugexe implementing supercedes in the core per s22 could be a step in that direction. it would require much more work to get going, but it is also a more appropriate way of handling this 13:23
lizmat funny you should say that :-)
as I wrote most of that almost 10 years ago now :-) 13:24
ugexe yeah, i often laugh at how much smarter i used to be 10 years ago than i am today 13:25
nemokosch 🙃
lizmat the problem with the idea in S22 is that any author can put a "supersedes" in their META6.json 13:26
ugexe yeah, but that is kind of the point
you can put bad stuff in there sure, but a secure ecosystem wouldn't allow that 13:27
lizmat that's why I like the idea of a community maintained listr
ugexe community defined resolution order just does not seem like a good thin got me
lizmat how would a secure ecosystem know not to allow a "supersedes" ?
ugexe its really not difficult i dont think 13:29
ugexe if someone tries to supersedes a module/distribution that isn't theres, well, it should by default reject it. that is an oversimplification since you could have admin tools to eventually approve it or some such 13:29
lizmat how would it determine it is't theirs ? 13:31
lizmat who would watch the people doing the admin tools ? 13:31
ugexe thats an exercise left to the reader, but there could very easily be ways
as a naive example the zef ecosystem could see if the auth matches 13:32
lizmat yeah, but that's not a common use case 13:33
the common use case is modules moving from p6c / CPAN to zef
how would it match that ?
ugexe again, an exercise for the reader. thinking about it for 10 seconds i think "every rando dashboard can prove i own a given domain" 13:34
so having a user upload something to their cpan for example to prove they own it
lizmat that won't work for p6c 13:35
ugexe that might just have to be too bad
lizmat also: I don't want to upload anything to PAUSE anymore, like ever
Geth ecosystem/SUPERSEDING: e846162797 | (Elizabeth Mattijsen)++ | SUPERSEDING.list
It appears to be a bad idea
13:36
tbrowder__ latest Tiobe shows Perl at 29 and no Raku in top 100
nemokosch for what it's worth, supersedes within the zef ecosystem could (should) get pretty common
usually not for the same author though, that would defeat the purpose
ugexe ok, but should we design supersedes around the fact you dont want to upload anything to pause anymore? like i agree it sucks but if we are targeting the common use case and not an individual use case then it would be fine 13:37
lizmat well, that was the whole idea of "superseded-by"
anyways, I think I'm going to recuse myself from this 13:38
tbrowder__ if i were emperor, raku.land would ignore all but zef archive
ugexe but superseded-by would have required you upload it to cpan
lizmat indeed at one point I would have done that 13:39
ugexe superseded-by is admittedly a bit strange in that regard though
lizmat why? it allows an author to indicate they've given up on a module (whether completely, or in a given ecosystem)
ugexe like by the time you know you want it to be superseded-by something, it is probably already released an in an ecosystem 13:40
tbrowder__ at least ignore those outside zef by the "same" author
lizmat tbrowder__: determining what is "the same author" is basically what's being discussed here 13:41
ugexe actually i guess superseded-by still kind of makes sense like that... author would just release their final version that includes it
lizmat that was the idea, yes
ugexe right. i was thinking of it more like the SUPERCEDING list thing which would effectively inject supersedes into previous releases 13:42
nemokosch sometimes it shouldn't even be "the same author" though
tbrowder__ jjatria and i are discussing same 13:44
Geth ecosystem/main: 8c3c3bf82d | (Elizabeth Mattijsen)++ | SUPERSEDING.list
It appears to be a bad idea (now in the right branch)
13:45
ugexe i also suppose if superceded-by was implementing in the core (in META6.json) that we are still small enough to do manual reviews of what would be theoretically rejected by a secure ecosystem 13:48
i.e. we know lizmat actually owns those cpan distributions, so they could just be marked as allowed
then again we can't upload a auth: cpan:foo to zef ecosystem in the first place, so maybe not 13:49
nemokosch I tend to like this "depends in hash form" suggestion, too 13:51
ugexe could make a good squash-a-thon or whatever (sending PRs changing depends to hash form) 13:53
lizmat returns to regularly scheduled hacking 13:59
lizmat clickbaits rakudoweekly.blog/2023/11/13/2023-...proaching/ 14:16
melezhik .tell tonyo I have an issue with publish distribution with zef over SparrowCI - github.com/tony-o/raku-fez/issues/117 19:31
tellable6 melezhik, I'll pass your message to tonyo
tonyo melezhik: can you update fez and try again? it should tell you what the missing prompt is on the latest version github.com/tony-o/raku-fez/blob/ma...akumod#L25 20:05
tellable6 tonyo, I'll pass your message to melezhik
ugexe my guess is it has to be github.com/tony-o/raku-fez/blob/a4...kumod#L495 21:33
afaict that line is the only code path for `fez upload` that has a prompt 21:35