00:34 rmv left 00:47 leppard left 01:56 tonyo joined 01:59 hulk joined 02:00 kylese left 02:03 tonyo left 02:04 guifa left 02:15 hulk left, kylese joined 02:42 guifa joined 03:09 guifa left 03:22 lichtkind_ joined 03:24 lichtkind left 03:56 elcaro joined 05:36 abraxxa joined 05:45 abraxxa left 05:46 abraxxa joined 06:22 rmv joined, rmv left, rmv joined 06:27 rmv left 07:09 Sgeo left 07:23 rmv joined, rmv left, rmv joined
lizmat wayland76: could you make a PR for that change? 07:28
codeberg.org/RakuFoundation/raku.f...ain...main 07:29
07:46 dakkar joined 08:02 ShimmerFairy left 08:04 ShimmerFairy joined
disbot4 <librasteve> lets do it with class 08:09
<librasteve> The upstream API 360.zef.pm is returning content-length: 0 — the S3 bucket has an empty file looks like zef infra is still down 08:21
<librasteve> I can pause the weekly until tomorrow - or skip the new/recent module section... 08:22
lizmat I suggest just listing the modules that did get updates in the past week 08:58
will just make next week's bigger :-)
09:29 leppard joined 09:30 hurufu joined 10:01 tgt joined 10:03 tgt left 10:04 guifa joined
wayland76 Looks like rui beat me to it. Thanks rui! codeberg.org/RakuFoundation/raku.f...on/pulls/2 10:05
10:09 kelt0m is now known as Guest6722, Guest6722 left, kelt0m joined
wayland76 With my previous comment to guifa, I think I misread him. Let me rescind what I said, and just say guifa++ :) 10:13
guifa Ha I 100% agree the grow the user base is consultant speak that's why I had the smiley haha 10:14
wayland76 It might be consultant-speak, but it's in normalish language, so I'm not against it. It's not like leveraging synergies or whatever :) . 10:15
guifa but also agree that make people sounds strong in English (it sounds much better in other languages, so I'm guessing it's just an innocent cross language thing)
wayland76 Yeah, that's what I figured. 10:16
lizmat
.oO( vee haz vays of making you like Raku :-)
10:19
wayland76 twirls moustache
10:37 librasteve_ joined
librasteve_ notable6: weekly 10:37
notable6 librasteve_, 1 note: 2026-06-16T13:56:46Z <lizmat>: Sparky officially on Rocky Linux now - docs.rockylinux.org/10/guides/auto...g_started/
10:38 kelt0m left, kelt0m joined
librasteve_ notable6: weekly reset 10:41
notable6 librasteve_, Moved existing notes to “weekly_2026-06-22T10:41:26Z”
11:09 tonyo joined 11:17 tonyo left 11:40 kelt0m left, tonyo joined 11:41 wayland joined, wayland76 left 11:44 tonyo left 11:48 rmv left 11:52 rmv joined, rmv left, rmv joined
apogee_ntv wayland / guifa: Maybe 'convince people to'? Less consultant-y, less forceful, more evangelistic/active. 12:01
Plz fix fez 12:02
wayland apogee_ntv: I think the fez people aren't online at the moment. I've seen the reuqest to fix it go to the right people, but they haven't responded yet. 12:06
apogee_ntv With re: foundation document I think just replacing 'user base' with 'community' would do a world of diff re-thinking it. 12:10
wayland: Yeah, sadly has been that way all weekend. Have been trying to publish 3 module updates. 12:11
wayland Oh, that's no good. Hopefully in a year or so we'll have a more reliable setup. 12:15
apogee_ntv Yeah I think it's just a case of setting up some kind of high availability. 12:16
Failover server or something
12:17 tonyo joined
timo .o( anycast ) 12:19
wayland Yeah, hasn't happened yet because of lack of funding I think. That's one of the things the foundation is supposed to fix.
apogee_ntv Happy to help fund it :P
timo it'll surely be easier to have hot standby and switch-over than it is to have multiple active instances that have to not step on each other's toes
apogee_ntv If the right person can tell me what it'll cost 12:20
Either way should work, just need some reconciliation process somewhere that dedupes uploads so a submission is idempotent. 12:21
12:22 kelt0m joined, tonyo left
apogee_ntv And mirroring code, and the fetch needs to check another server if a package isnt found 12:22
wayland apogee_ntv: That'll probably be lizmat. 12:23
apogee_ntv Mirrored repos are a very solved problem tho
rmv wayland: hope you don't mind the PR :) I'm new to the community, what's the usual process to resolve this, wait for a consensus here on IRC? On the PR? Who has the final decision? 12:26
wayland As long as the raku-specific stuff doesn't cause any problems (versioning and authorship, etc).
12:28 tonyo joined
wayland rmv: No, I love it -- see irclogs.raku.org/raku/2026-06-22.html#10:05 :) . Great to have you already involved. The final decision is probably the people marked as "reviewers" on the PR (though librasteve may be empowered for this also -- I'm not sure). 12:32
12:33 tonyo left
wayland And I think stick with the discussion on the PR -- I think it has the best-made points and the most senior people involved in the discussion. 12:33
12:35 tonyo joined
wayland Honestly, if it were me, I'd update the PR with the suggestions from librasteve (no doubt inspired by yours) and apogee taken into account. finanalyst is probably the most senior commenter on the thread, but he doesn't seem as attached to his suggestion. 12:39
[Coke] Which PR? 12:41
wayland codeberg.org/RakuFoundation/raku.f...on/pulls/2 12:44
12:46 librasteve_ left 12:48 tonyo left
[Coke] ah, that's why I couldn't find one on github. :) 12:52
timo github is old and busted! :D 12:54
12:56 tonyo joined
[Coke] deletes a fork he setup on codeberg a year ago 13:10
apogee_ntv Github still has actions, thats the only reason I stay there lol 13:11
Free multiplatform CI runs, free release artifacts
timo I hope codeberg's runners are less of a train wreck than github's actions :) 13:12
and surely we can build re-usable bits for all raku module and application maintainers that do everything they might need ... "small matter of programming", as they say :) 13:13
rmv Never tried codeberg runners. Are they containers or VMs? I like sourcehut.org/ approach to VM runners. They stay on for a while when it fails, so you SSH and debug inside it. 13:19
13:22 tonyo left 13:24 justache left 13:25 justache joined
wayland Oh, that's cool :) . 13:31
Yeah, we need to get our act together on auto-packaging. It's on my list of things to do, but a fair way down. 13:32
13:34 tonyo joined 13:38 tonyo left 13:47 hurufu left
timo I know there's felinebuildservices.org/ from whitequark, but I would expect a big "nope" if asked if rakudo could join based on the amount of AI Coding Agent Assisted Commits™ 14:00
but that's Forgejo Actions with VMs for everything instead of just linux containers, and in the future is meant to support linux, freebsd, windows, and arm64 macos. currently only linux and freebsd. 14:01
but yet again I would like to remind everyone that build.opensuse.org/ exists and is not just for opensuse as the name might make you suspect 14:02
build.opensuse.org/monitor - it may only be different linuces, but there's a boatload of architectures to be seen here, which is interesting in its own right 14:04
14:13 abraxxa left, apogee_ntv left 14:16 tonyo joined, abraxxa joined 14:22 ShimmerFairy left, ShimmerFairy joined 14:54 Pixi` joined 14:55 Pixi left 14:56 xybre joined
xybre \o 14:57
disbot4 <librasteve> hi 15:05
<librasteve> currently raku.foundation lives in codeberg, but CI remains on the github mirror … kudos to anyone who can supply codeberg CI (I have seen woodpecker mentioned … but that needs you to bring your own machine, right?) 15:07
<librasteve> it’s about as simple as CI can get - build an image from Dockerfile and upload to quay.io 15:08
xybre I was looking at Raku's gradual type syntax, and I was trying to find more info about the way that square and curly braces are used, in like hashmap type definitions: `Hash[Num,Int]` vs `Num %foo3{Int}`. What does Raku call these? I would like to read more in the docs 15:11
timo the syntax with [] is for giving roles values to their parameters; the syntax with {} is for adding a type to the key of a hash variable 15:18
putting a `my %foo` is implicitly giving a type of Associative with its default role arguments to the %foo variable
and as you saw putting the type before the % puts it in one slot while putting it in the { } after the variable name puts it in the other 15:21
xybre Okay so the {} syntax is one-off, specific to hashes and isn't used for other things? 15:26
I did see the Roles page, I wasn't sure if it was the same thing, good to know 15:27
timo m: my @foo{Int}; # reserved for future use
camelia ===SORRY!=== Error while compiling <tmp>
The {} shape syntax with the @ sigil is reserved
at <tmp>:1
------> my @foo{Int<HERE>}; # reserved for future use
expecting any of:
statement end
statement modifier
sta…
xybre Gotcha, thanks! 15:33
15:34 abraxxa left 15:36 tonyo left 15:37 Pixi` is now known as Pixi 15:39 tonyo joined 15:42 librasteve_ joined, abraxxa joined 15:46 abraxxa left, abraxxa1 joined 15:47 abraxxa1 left
timo no problem! :) 15:48
15:49 tonyo left
timo @librasteve, just thought I'd mention: `my constant` is actually BEGIN time, not INIT time; INIT is after compilation has finished and happens early at run time of the program (so critically, it should run every time you start the program anew) 15:50
lizmat true, but the current behaviour of @-sigilled constants *is* in many cases currently equivalent to INIT time :-( 15:51
timo I wouldn't say that either; INIT time stuff runs only once per block you put INIT on :P 15:52
the issue we saw is that you're compile-time constructing a lazy list and well, whoever gets values from it will iterate the iterator and fill the iteration target and if multiple threads work on it at the same time, kaboom 15:53
which is contrary to what you would expect from something that is "my constant @xyz"
15:54 tonyo joined
timo as you pointed out, that doesn't feel very "constant", and it's not really obvious to users that "constant" in rakudo kind of just means "compile time evaluated and serialized into the precompilation result" 15:54
lizmat well, as I said, I would argue that it is a bug, and that @-sigilled constants should have an "eager" in their evaluation 15:55
timo yup 15:57
disbot4 <librasteve> I agree that [my] constant @a = 1,2,3 should be [implicitly] eager based on my understanding and it helps clarify to me that constant is evaluated at BEGIN time - thank you 15:59
16:00 tonyo left
disbot4 <librasteve> actually that code is in Cro::WebApp::Form - so I am not the author - don't shoot the maintainer! 16:00
timo no shooting intended 16:01
disbot4 <librasteve> no worries - my understanding is that "compile time constructing a lazy list" means the compiler is making an Iterable object? and the first thread to access @a gets to reify it via the assignment which may not be finishe when thread #2 arrives - is that roughly correct? 16:05
16:05 tonyo joined
timo that's roughly correct, but saying "the assignment" might oversimplify the internals a little bit? i guess it depends on how deep you need to dive to answer any specific question so can't really say in general if it's correct enough :) 16:07
one of the errors, "no such method something-something-something for object of repr VMNull", was caused by one thread nulling out the "reifier" attribute of the lazy list in the exact moment between another thread checking if there is a value in the reifier attribute, and taking the value and calling a method on it. 16:09
16:11 tonyo left 16:14 tonyo joined
librasteve_ rakudoweekly.blog/2026/06/22/2026-25-dutch-art/ 16:35
timo librasteve_: in the heading "Why Sparky and Sparrow for Rocky Linux testing?¶" can you toss out the paragraph symbol? that probably got copied by accident 16:40
tonyo . 16:42
tellable6 2026-06-07T14:24:49Z #raku-dev <guifa> tonyo: eastern
2026-06-20T10:29:51Z #raku <lizmat> tonyo looks like fez is having issues
16:43 dakkar left 16:47 tonyo left 16:53 Geth joined 17:09 tonyo joined
tonyo fez should be back up 17:09
lizmat tonyo++ 17:11
timo thank you tonyo :)
tonyo not sure what is happening with it all of a sudden, it starts paging and then i can't get in to do any diagnostics
lizmat just successfully uploaded a new module 17:15
timo what kind of system is that? there's some things you can do on linux with cgroups and such to get earlier kills instead of endless paging and swap death spiral 17:34
do you happen to have `sar` installed? it might give you some measurements from near the time it exploded 17:35
tonyo: something that can relatively reliably get the system to page itself to death is having a tmpfs and putting infinitely growing data in it. for example if your /tmp is a tmpfs 17:38
tonyo crap.
17:38 wayland left 17:40 wayland joined
timo I have to go AFK for maybe like an hour, but feel free to hit me up if you need advice on this or want to give me a root shell or something ;) 17:40
tonyo we're discussing in the infra about migrating to raku infra
i think it's a fairly easy/straight forward migration
timo oh my irc box recently restarted so I'm no longer in there
18:07 enyc left, sjn left 18:08 sjn joined 18:36 librasteve_ left 18:41 belluzj joined 18:43 vrurg_ joined 18:44 vrurg left 19:34 guifa left
disbot4 <librasteve> tonyo++ 19:36
19:38 librasteve_ joined
librasteve_ timo: I am working on the assumption that the constant @ eager fix will be in 2026.06 - is that realistic, or do we need to patch Cro::WebApp::Form? 19:41
weekly para symbol cut btw 19:44
timo I'm personally not working on implementing that, maybe liz is. it feels like it can be written in not too much time, but would want not just a spectest run but perhaps also a blin run to see if it makes a difference to any ecosystem modules 19:50
ugexe why not just patch cro::webapp::form so users of recent but not the very latest rakudo can still use your module? does not rewriting that line bring that much value to it for that trade off? 19:53
timo I'm not sure. maybe librasteve_ doesn't have push access? 19:54
and/or can't publish it to the ecosystem 19:55
ugexe librasteve_: fyi with 3 of the open PRs to rakudo merged I think Cro::WebApp will install under RAKUDO_RAKUAST=1 19:57
ugexe/return-check-signature-lexical, ugexe/rakuast-typeobject-attr-default, and ugexe/rakuast-begin-time-regex-arg (+ whatever is already on HEAD) 19:58
20:00 belluzj left 20:03 belluzj joined
disbot4 <librasteve> no worries, I will patch and release Cro::WebApp::Form with the eager version shortly (just want to be sure it is not wasted effort and patching a non existent issue ;-) ) 20:05
ugexe i might have missed something, but has whatever buggy behavior you are mentioning been released already? 20:09
lizmat librasteve putting eager in front is a workaround that will continue to work 20:16
even if we fixed this
disbot4 <librasteve> it's a rakudo/moarvm bug that came to light from the raku.foundation logs after we had four or five 500 errors on Thursday? morning - a time of peak traffic directly on a Cro::WebApp::Form item on the homepage - since it's a non-deterministic race condition my guess is that this is the first time that this code combination has been under load (the debugging and root cause determination is set out here 20:17
github.com/Raku/infra/issues/122)
lizmat ugexe: basically, @a-sigilled constants may not be constant 20:18
the most extreme case:
m: my constant @a = 1 .. Inf
camelia ( no output )
disbot4 <librasteve> yeah, sure - it's just a faff to patch and release part of Cro and a lazy coder like me prefers to fix the problem once ;-)
lizmat a less extreme example is: 20:19
ugexe i see. but what i was getting as was if this has always been the case then there is value in librasteve fixing that module to work with this always-broken (as well as the future fixed) behavior
disbot4 <librasteve> oh, yeah probably better that Cro::WebApp works with older raku's - good point
lizmat the problem is that a constant List can be frozen with an empty $!reified and an valid $!todo
disbot4 <librasteve> anyway I accept the task 20:20
ugexe librasteve++
lizmat and if multiple threads start reifying, one of them can decide: hey, there's something to reify, and then hit a VMnull because another thread just reified and reset $!todo 20:21
I actually need to check all of my modules for this as well :-( 20:23
ugexe lizmat: there is nothing wrong with testing internal methods in the rakudo test suite 20:28
it isnt the same as the spec test suite
lizmat well, that method doesn't exist anymore
ugexe i dont disagree with removing it, only for one of the reasons you stated 20:29
lizmat ok, fair enough, but it just felt as a wrong test to start with...
ugexe it was a test that literally proved the change in the commit it came with worked as stated. i'm not sure what else you would want from a test :) 20:31
im not agreeing it wasnt a great test. its more to show whoever (if anyone) reviewed the code that it does what it says 20:32
lizmat well, true, but the point of the fix was to fix an issue with smart-matching. the way it got fixed, shouldn't really matter
ugexe good point 20:33
20:34 mehbark left 20:36 mehbark joined 20:43 itaipu joined 20:51 belluzj left
disbot4 <aruniecrisps> i wanted to share this with you guys and see whether there were some gems in here you might find interesting: docs.racket-lang.org/rhombus/index.html 21:42
<aruniecrisps> sort of reminded my of codesection's Raku's really good Lisp impression article
<aruniecrisps> Raku's approach with Slangs is quite similar to the Racket ecosystem of languages 21:43
22:04 Sgeo joined 22:22 guifa joined 22:32 apogee_ntv joined