00:57 jjatria left 01:10 jjatria joined 01:44 sjn left 01:45 deoac left 01:46 sjn joined 02:07 toddr left, toddr joined 02:24 sibl joined 02:25 coleman left 02:26 kylese joined, coleman joined 02:27 Guest4062 left, hulk left, Guest693 joined 02:30 sibl left, sibl joined 02:38 bd3i left, bd3i joined 02:56 sibl left 03:09 human_blip left 03:11 human_blip joined 03:15 kylese left, kylese joined 03:28 apogee_ntv joined
apogee_ntv Just pushed 0.2.0 of LLM::Character, I can see it at 360.zef.pm but when I do a zef update it still sees latest as 0.1.3 03:30
What am I forgetting?
nemokosch well, what do you run? 03:31
apogee_ntv zef update && zef install LLM::Character 03:32
No reason to proceed. Use --force-install to continue anyway 03:33
I tried that and still no update
nemokosch it does retrieve 0.2.0 for me but to tell you the truth, I have also had issues like that - even issues where zef would outright claim something is installed and then they would be missing at runtime 03:34
what if you specifically install LLM::Character:ver<0.2.0> ? 03:35
apogee_ntv % zef install LLM::Character:ver<0.2.0> !7591 03:37
zsh: parse error near `\n'
aruniecrisps whats a good website to post snippets? 03:38
i wanna post an error snippet but i forgot the most popular one for a while 03:39
nemokosch apogee_ntv: perhaps you want to use apostrophes
aruniecrisps nvm
got it
nemokosch < > stuff has special meaning for shell probably
apogee_ntv ===> Searching for: LLM::Character:ver<0.2.0>
No candidates found matching identity: LLM::Character:ver<0.2.0>
nemokosch is it reassuring if I say that the problem is on your end? šŸ˜… 03:41
aruniecrisps @SmokeMachine: I was wondering if you ever ran into this issue: pastebin.com/jzckrrSY
I'm currently trying to use UUID ids but I'm running into this weird error 03:42
nemokosch to be honest, no amount of incantations could get me zef 1.0, either, still using 0.22.7 which seems to come with rakubrew and Rakudo 2026.01 03:44
ugexe apogee_ntv: have you tried running zef update again since? when you run `zef update --debug` how many distributions does it show for fez? if you try to curl the url it shows when updating fez what do you see reasonable looking json you curl it (i.e. curl 360.zef.pm)? if the answers to those things look sane, do the contents of ~/.zef/store/fez/fez.json look to be the same as the json from the 03:49
url you curled?
apogee_ntv Zef::Repository::Ecosystems<fez>|6964 03:50
Zef::Repository::Ecosystems<rea>|14031
Zef::Repository::LocalCache |53
ugexe i see Zef::Repository::Ecosystems<fez>|6965 03:51
if you manually curl that url, how many distributions does the json object have?
nemokosch Zef::Repository::Ecosystems<fez>|6965
apogee_ntv How would I count from a curl? 03:52
ugexe curl --silent 360.zef.pm | jq length
apogee_ntv 6965
ugexe hmmm 03:54
my $proc = Zef::zrun-async($cmd, '--silent', '-L', '-z', $save-as.absolute, '-o', $save-as.absolute, $uri);
that is the command zef uses. notable is it uses -z
apogee_ntv If I just curl the URL manually to ~/.zef/store/fez/fez.json would that work? 03:55
aruniecrisps never mind @SmokeMachine got it working it looks like
ugexe yeah, or you can use `zef nuke StoreDir` to delete that whole ~/.zef/store directory. i suspect it works fine when the file doesnt exist
it could be interesting to see what the timestamps look like that curl would be acting this way though 03:56
since it might be worth removing that flag in zef
apogee_ntv Thanks works after nuke StoreDir. I imagine the old timestamps are ~5mo old, I dont use this machine much 03:57
But maybe I did the first update too early
And then got very new timestamp
ugexe shouldn't have been that old, it had all but 1 distribution that i saw
apogee_ntv Yeah that was after the first update though 03:58
About 40 mins ago
ugexe but yeah maybe when doing `zef update` it shouldn't use `-z`. it should maybe only do that optionally when it auto-updates for e.g. `zef install ...`
apogee_ntv According to raku.land I pushed the module 54 mins ago
Whats -z? My brain wants to say thats SSL but I'm guessing its not lol
ugexe -z, --time-cond <time> Transfer based on a time condition 04:00
-z <time|file> / --time-cond <...>: make the request conditional on modification time (ā€œonly if newerā€).
If the remote resource has not changed since the given time, the server may respond 304 Not Modified and curl won’t download the body.
04:05 sibl joined 04:46 Sgeo left 05:19 kst left 05:30 sibl left 05:34 sibl joined 06:05 leah2 left 06:06 leah2 joined 06:26 sp1983 joined
sp1983 . 06:27
06:29 sp1983 left 06:30 Aedil joined 06:32 human_blip left 06:33 human_blip joined 06:53 wayland joined 07:18 abraxxa joined, BooK left, BooK joined 07:36 eseyman left 07:38 manu_ joined 07:39 manu_ is now known as eseyman 08:02 sibl left 08:16 sibl joined 08:52 dakkar joined 09:25 thatonelutenist left, thatonelutenist joined 10:07 sibl left 10:30 atweedie left, atweedie joined 11:59 masayoshi joined 12:00 masayoshi left 12:13 masayoshi joined 12:18 masayoshi left, masayoshi joined 12:27 masayosh1 joined 12:31 librasteve_ joined 12:32 masayoshi left
masayosh1 quit 12:37
lizmat masayosh1: I think you want /quit 12:38
12:38 masayosh1 left 12:48 sibl joined 13:08 summerisle left, summerisle joined 13:18 apogee_ntv left 13:27 greppable6 left, greppable6 joined 13:45 sibl left 13:51 wayland76 joined 13:53 wayland left
librasteve_ notable6: weekly 14:17
notable6 librasteve_, 4 notes: gist.github.com/2c0962f52c4d7d6d8b...f213ac112f
14:43 corwin left 14:44 corwin joined
lizmat wayland76: ping 14:47
librasteve_ rakudoweekly.blog/2026/02/23/2026-...l-adverbs/ 15:15
notable6: weekly reset 15:19
notable6 librasteve_, Moved existing notes to ā€œweekly_2026-02-23T15:19:20Zā€
15:48 hudo left 15:49 hudo joined, derpydoo left 17:08 coleman left, patrickb left, sourceable6 left, simcop2387 left, Geth left, dmvrtx left, leont left, refactus left, erry left, snonux left, sorenson left, dano left, dg left, phogg left, thaewrapt left 17:10 erry joined 17:12 sorenson_ joined, coleman joined, patrickb joined, sourceable6 joined, simcop2387 joined, Geth joined, dmvrtx joined, leont joined, refactus joined, snonux joined, sorenson joined, dano joined, dg joined, phogg joined, thaewrapt joined 17:14 sorenson left, sorenson_ is now known as sorenson 17:29 disbot13 left, disbot14 joined 17:34 dakkar left 18:40 nine left, nine joined 18:49 mc2 joined
mc2 hello rakoons 18:49
lizmat mc2 /o 18:50
librasteve_ hi 18:51
19:31 abraxxa left 19:38 cm left 19:39 cm joined 19:56 GreaseMonkey left, greaser|q joined 20:01 jetchisel left 20:02 jetchisel joined 20:25 mehbark left, mehbark joined
antononcube @marcel249_ 20:33
cdn.discordapp.com/attachments/633...2344a&
20:36 merp left 20:37 merp joined 21:04 constxd left 21:05 constxd joined 21:08 rba left, rba joined 21:12 Sgeo joined
lucs Hash assignement problem: gist.github.com/lucs/0469c42432a12...3defefea3b 21:26
ugexe what if you bind 21:29
lucs Oh, maybe. Trying...
Uh, not sure how to do it, actually. 21:30
ugexe (%h3, %h4) := Moo
lucs :-( Cannot use bind operator with this left-hand side 21:31
nemokosch my (%h3, %h4) := Moo would be a way 21:33
:(%h3, %h4) := Moo; is another, apparently 21:34
lucs Yep, both work. 21:35
21:35 Aedil left
lucs Thanks nemokosch (glad to see you're back). 21:35
nemokosch long time no see for sure 21:36
21:37 jjido joined 21:38 dg left
still, this seems like a workaround at best, doesn't it 21:38
jjido workaround for what? 21:39
lucs Kind of, I guess, but workaround -> works, so there is that.
nemokosch for the lack of a proper destructuring assignment
jjido Ah, do you use a match construct? 21:40
nemokosch gist.github.com/lucs/0469c42432a12...3defefea3b this was the snippet
21:43 dg joined
jjido They are same type so you can do "my Int @pair = Moo" 21:45
lucs jjido: "same type" is thanks to the golfing. My real case has different types. 21:47
jjido ok what did lucs suggest 21:48
lucs nemokosch suggested these working forms: 21:49
my (%h3, %h4) := Moo 21:50
:(%h3, %h4) := Moo
nemokosch the left handside is basically a Signature and the right handside is bound into it
it's certainly better than nothing but binding has different enough semantics from assignment to make this not always a good idea 21:51
lucs And I think there's a problem with binding (try to golf down a demo test). 21:53
nemokosch šŸ‘€
lucs (but maybe not, just want to make sure) 21:54
Nah, looks okay. 21:55
jjido If only given would create binds 21:57
21:57 wayland76 left
nemokosch what do you mean? 21:57
jjido Nothing, your solution looks fine. 22:02
nemokosch just curiosity, I mean, by default given does bind $_ 22:05
jjido yeah I was looking to bind the two values 22:06
nemokosch yeah well, anyway, binding is not always what you'd want. With function return values, it's probably safe. 22:07
22:21 zjmarlow_ left 22:22 zjmarlow_ joined
Voldenet m: sub Moo { my Int %h1 = :1a; my Int %h2 = :2b; return %h1.item, %h2.item }; my Int %h3; my Int %h4; given Moo() { %h3 = .[0]; %h4 = .[1] }; say %h3; say %h4 22:22
camelia {a => 1}
{b => 2}
Voldenet it's not as appealing syntax 22:25
nemokosch this doesn't seem to need .item, at least
Voldenet erm
m: sub Moo { my Int %h1 = :1a; my Int %h2 = :2b; return %h1, %h2 }; my Int %h3; my Int %h4; given Moo() { %h3 = .[0]; %h4 = .[1] }; say %h3; say %h4 22:26
camelia {a => 1}
{b => 2}
Voldenet yes it doesn't
m: sub Moo { my Int %h1 = :1a; my Int %h2 = :2b; return %h1, %h2 }; my Int %h3; my Int %h4; for Moo() { once %h3 = $_; %h4 = $_ }; say %h3; say %h4 # one character shorter
camelia {a => 1}
{b => 2}
Voldenet it may have some caveats
nemokosch 🤣
Voldenet m: sub Moo { my Int %h1 = :1a; my Int %h2 = :2b; return %h1, %h2 }; my Int %h3; my Int %h4; for Moo() { %h3 = %h4; %h4 = $_ }; say %h3; say %h #even shorter 22:29
camelia ===SORRY!=== Error while compiling <tmp>
Variable '%h' is not declared. Perhaps you forgot a 'sub' if this was
intended to be part of a signature?
at <tmp>:1
------> ) { %h3 = %h4; %h4 = $_ }; say %h3; say <HERE>%h #even shorter
Voldenet m: sub Moo { my Int %h1 = :1a; my Int %h2 = :2b; return %h1, %h2 }; my Int %h3; my Int %h4; for Moo() { %h3 = %h4; %h4 = $_ }; say %h3; say %h4 #even shorter
camelia {a => 1}
{b => 2}
jjido Cool. I was trying to do the "given" version
Voldenet (don't actually do the "for" ones)
there's actually one more version that may seem Very Odd 22:31
m: sub Moo { my Int %h1 = :1a; my Int %h2 = :2b; return %h1, %h2 }; my Int %h3; my Int %h4; (%h3, %h4) Z= Moo; say %h3; say %h4 # don't ask what
camelia {a => 1}
{b => 2}
Voldenet it actually zips %h3 with first element, %h4 with second and applies = operator to both, obviously 22:32
nemokosch actually, this is quite clever... what's so odd about it?
lucs FSVO "obviously" :)
Voldenet I would be surprised to see it in the wild :P
jjido Wow that's a winer!
nn 22:33
lucs Yeah, I like that too.
nemokosch I wonder if this can help with swapping arrays
unfortunately not, one will override the other 22:34
Voldenet not in the trivial form yeah
nemokosch it really is quite annoying because ($a, $b) = ($b, $a) works just fine 22:36
jjido I'd want to go through existing code to see where we could use the "zig-zag assignment" operator instead of multiple assignments
Voldenet though you can kinda use non-trivial form, basically allocating storage before the swap 22:41
m: my @a = <a b c>; my @b = <d e f>; say (:@a, :@b); (@a, @b) Z= (@b, my @c = @a); say (:@a, :@b)
camelia (a => [a b c] b => [d e f])
(a => [d e f] b => [a b c])
Voldenet or if that's only one variable 22:42
m: my @a = <a b c>; my @b = <d e f>; say (:@a, :@b); (@a, @b) Z= (@b, @=@a); say (:@a, :@b)
camelia (a => [a b c] b => [d e f])
(a => [d e f] b => [a b c])
Voldenet @=@ operator :>
and only last element has to have this weird operator 22:44
m: my @a = <a b c>; my @b = <d e f>; my @c = <g h i>; say (:@a, :@b, :@c); (@a, @b, @c) Z= (@b, @c, @=@a); say (:@a, :@b, :@c)
camelia (a => [a b c] b => [d e f] c => [g h i])
(a => [d e f] b => [g h i] c => [a b c])
nemokosch xdd
Voldenet but it really is confusing, you have to think of the order of assignment that way, idk if Z guarantees that in this case 22:46
nemokosch I wouldn't be sure, especially if we think in "what is described" rather than "what Rakudo actually does" 22:47
22:49 jjido left
anyway, the moral of the story is really only that the original (%h3, %h4) kind of snippet from lucs boils down to the same behavior 22:50
"list assignment" 22:51
23:29 Voldenet left, _________ left, Voldenet joined 23:33 japhb left 23:36 _________ joined