🦋 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.
00:00 jpn left
tbrowder hi, is there a way to check github workflows files on one's on PC (at least for the appropriate OS)? 00:18
00:18 lichtkind left
tbrowder s/on/own/ 00:18
timo you're looking for something like "are there obvious errors in the file"?
tbrowder not exactly. i'm getting failures on github for regular raku tests on my local linux box where they work fine. issues with missing deps are easy to see and fix, but others leave me pretty clueless. i've looked at detailed debug logs and sometimes that really helps, but not always. 00:23
and the debug loggs a
*logs are really long
timo grondilu, first thought from looking at a profile, using "fail" may be costing surprisingly much. it creates a Backtrace for every failure object and Backtrace.new takes 350ms out of the 7,598ms total 00:25
ah yes, debugging CI stuff is a difficult and arduous process in general i'm afraid 00:26
i don't know if there is a runner that can run a github actions thing on your own PC
tbrowder thnx 00:34
00:51 jpn joined 00:56 jpn left 01:11 hulk joined 01:12 kylese left 01:13 oodani left 01:17 oodani joined 02:15 hulk left, kylese joined 02:40 jpn joined 02:45 jpn left
Geth docker: 9687c88020 | AntonOks++ | 4 files
Bump to 2025.04 [skip workflow]
03:13
03:20 stanrifkin_ joined 03:23 stanrifkin left 03:32 vrurg left 03:44 oodani left, vrurg joined 03:53 oodani joined 04:18 jpn joined 04:23 jpn left, discord-raku-bot left, discord-raku-bot joined 04:30 kylese left 04:32 kylese joined 04:37 thowe left 04:48 thowe joined 05:09 thowe left 05:30 kylese left, kylese joined 05:44 thowe joined 05:46 eseyman left 05:50 manu_ joined, manu_ is now known as eseyman 05:55 jpn joined 06:00 jpn left
grondilu timo: but it's not normally running though. I don't think I have that many "try" statements. 06:29
grondilu checks 06:32
actually I use quite a few to check that a square index is still on the board 06:33
06:38 wayland joined 06:42 wayland76 joined, wayland left 06:51 jpn joined 06:56 jpn left
grondilu timo: you were right I could gain some perf by removing those try statements. 06:57
07:02 jpn joined
wayland76 Does anyone know of a way of testing what the resources are for a module? I have a module where I thought I'd specified everything in the config, but it's suddenly not working. 07:05
grondilu isn't META6.json the sole authority to specify resources? 07:07
07:07 jpn left
wayland76 Yep, but it doesn't seem to be picking it up. 07:08
The fact that it's in docker may not be helping.
07:12 jpn joined 07:16 stanrifkin_ left 07:17 Aedil joined 07:23 Sgeo_ left 07:26 jpn left
coranila m: mutli infix:<+>(Int $a, $b) { } # LTA 07:35
evalable6 (exit code 1) ===SORRY!=== Error while compilin…
Raku eval Exit code: 1 ===SORRY!=== Error while compiling /home/glot/main.raku Unable to parse expression in argument list; couldn't find final ')' (corresponding starter was at line 1) at /home/glot/main.raku:1 ------> mutli infix:<+>(Int⏏ $a, $b) { } # LTA expecting any of: infix infix stopper
evalable6 coranila, Full output: gist.github.com/d68b6edfd54a5d87b9...4d5c63e753
coranila that's a rakudo issue I think? for clarity: mutli apparently doesn't get caught as a typo 07:36
wayland76 It's at the least a less-than-awesome error message. 07:41
coranila right; but getting the parse failure in the signature seems to imply the parser is also failing in the wrong way? 07:44
as in, we shouldn't be expecting a signature if we don't have a proper routine decl, no?
wayland76 Is it expecting a Signature though? Or is it expecting an argument list for another reason? It could be thinking that, rather than a function declaration, this is instead a function call. 07:46
coranila m: mutli ($x, $y) { ... } # expecting TTIA.. 07:47
evalable6 (exit code 1) ===SORRY!=== Error while compilin…
Raku eval Exit code: 1 ===SORRY!=== Error while compiling /home/glot/main.raku Variable '$x' is not declared. Perhaps you forgot a 'sub' if this was intended to be part of a signature? at /home/glot/main.raku:1 ------> mutli (⏏$x, $y) { ... } # expecting TTIA..
evalable6 coranila, Full output: gist.github.com/6467eae15928943082...1c3c81d8e4
coranila m: mutli ($, $) { .. } # actual TTIA...? 07:48
Raku eval Exit code: 1 ===SORRY!=== Error while compiling /home/glot/main.raku Unexpected block in infix position (missing statement control word before the expression?) at /home/glot/main.raku:1 ------> mutli ($, $)⏏ { .. } # actual TTIA...? expecting any of: infix infix stopper postfix
evalable6 (exit code 1) ===SORRY!=== Error while compilin…
coranila, Full output: gist.github.com/24966a258cb07b8417...0b2b921ea8
wayland76 m: my ($a); my $b; protocho infix:<+>($a, $b) { } 07:49
camelia ===SORRY!=== Error while compiling <tmp>
Unexpected block in infix position (missing statement control word before the expression?)
at <tmp>:1
------> ($a); my $b; protocho infix:<+>($a, $b)<HERE> { }
expecting any of:
infix
coranila well, it seems we agree that it's not particularly transparent what exactly is going on :)
wayland76 Yes. I found that if I removed the "Int" from your original example, it started complaining about $a and $b being not declared. 07:50
So I still think it's trying to call infix:<+> as a function
coranila oh, it gets funnier:
m: mutli ($, $) 07:51
evalable6 (exit code 1) ===SORRY!=== Error while compiling /tmp/8cj03c3Hof
Undeclared routine:
mutli used at line 1
Raku eval Exit code: 1 ===SORRY!=== Error while compiling /home/glot/main.raku Undeclared routine: mutli used at line 1
coranila m: q[mutli ($, $)].AST.say
Raku eval Exit code: 1 ===SORRY!=== Error while compiling Undeclared routine: mutli used at line -1. Did you mean ''?
evalable6 (exit code 1) ===SORRY!=== Error while compiling EVAL_0
Undeclared routine:
mutli used at line 1
grondilu what if someone actually wants to make a mutli sub, though? 07:52
coranila m: sub mutli {}; mutli foo ($, $) {...} # hmm
Raku eval Exit code: 1 ===SORRY!=== Error while compiling /home/glot/main.raku Unexpected block in infix position (missing statement control word before the expression?) at /home/glot/main.raku:1 ------> sub mutli {}; mutli foo ($, $)⏏ {...} # hmm expecting any of: infix infix stopper postfix
evalable6 (exit code 1) ===SORRY!=== Error while compilin…
coranila, Full output: gist.github.com/edd5a8548d45b39396...ccbfa8065b
wayland76 Not sure if grondilu is joking, but that'd be sub mutli(...) {...}
coranila well, I don't know! thanks for the feedback :)
wayland76 You're welcome :) 07:53
coranila locally i get Routine 'mutli' is not declared. Did you mean 'mutli '? btw which is definitely funny
wayland76 Does anyone know how %?RESOURCES gets populated? Because I'm trying to use it in my tests, and I'm wondering if it's somehow not getting populated at all. Or if there's a way to test it? 07:54
Oh, interesting! Maybe a version difference then.
coranila most likely; I'm on 2025.03 via rakubrew! 07:56
08:13 dakkar joined 08:37 melezhik joined 08:38 lichtkind joined
melezhik o/ 08:41
i wonder if someone besides @sergot could look at io::socket::ssl licensing issue? github.com/sergot/io-socket-ssl/issues/26 I would really appreciate that, as me and Alpine linux guys are trying to create apk packages for my Sparky module 08:43
and this license issue blocks the proccess ) 08:46
08:49 donaldh joined
lizmat melezhik: maybe it's time we moved that module to raku-community-modules, and give it an MIT license there ? 08:52
melezhik yeah, maybe I need to clarify if MIT license will work for alpine maintainers ... but that's good idea imho 08:55
08:56 melezhik left
lizmat well, check with the alpine maintainers if MIT would be ok ( I think it would, as it's the most permissive ) 08:56
melezhik. lizmat: yep, just did 09:03
lizmat and it's acceptable to them? 09:06
09:25 jpn joined 09:38 MoC joined
melezhik. Looks like that , asked them to follow up to the gh issue 10:07
They require a license to be in file in the repo so that an alpine Linux matter would pick it up and make it a part of apk archive , that’s an official alpine Linux requirement for packages 10:09
And by the way as a part of Spraky support they are packaging the latest version of Rakudo to be available in the bleed edge of Alpine 10:10
And eventually to be released for Alpine 3.22 10:11
And also this is quite interesting - “think Alpine 3.22 will also be the first version with a MoarVM that uses mimalloc.” 10:12
Any possible implications of this ? Just wonder …
dakkar my gentoo has moarvm 2025.01 compiled with `--has-mimalloc` 10:24
since 2024.10, actually
10:30 melezhik joined, melezhik left 10:46 derpydoo left 11:44 jpn left 11:45 jpn joined 11:50 jpn left 12:21 jpn joined 12:31 jpn left 12:37 jpn joined 12:42 jpn left 12:45 jpn joined 12:50 melezhik joined
melezhik lizmat: can we move io socket ssl to the communtity repo and add licence file ? 12:50
github.com/sergot/io-socket-ssl/issues/26
lizmat we can fork it, and add a license file 12:51
melezhik good 12:52
anything I need to do from this point or you could reply to the gh issue? 12:53
lizmat well, in a little while, you would need to adapt the dependency spec to IO::Socket::SSL perhaps
Geth ecosystem: 2b81172aae | (Elizabeth Mattijsen)++ | META.list
Remove sergots distributions that have been archived
12:55
12:55 jpn left
lizmat I guess we will need to move OpenSSL as well 12:55
12:55 melezhik left 12:56 melezhik joined, jpn joined
lizmat hmmm... maybe ugexe has rights on the IO::Socket::SSL repo 12:56
I'll make a PR
melezhik thanks a lot 12:57
where should I adjust dependency - here? github.com/melezhik/sparky-job-api...6.json#L11
lizmat if the dependency is like that, you don't have to 12:58
melezhik ah, ok
good then
lizmat github.com/sergot/io-socket-ssl/pull/27 13:06
now, if ugexe could merge that, we'd be in business
13:18 melezhik left 13:58 apac joined
lizmat .tell melezhik: IO::Socket::SSL has a LICENSE file 14:33
tellable6 lizmat, I'll pass your message to melezhik
15:09 nine left 15:10 nine joined 15:14 Sgeo joined 15:20 lichtkind left
sergot hi all, just noticed someone is talking about IO::Socket::SSL and others, I can move them under the community modules, would that help? 15:22
hi lizmat <waves> I'd love to get back to maintaining the useragent/ssl modules actively in the future, but in the meantime I believe I can move them under the community repos? how do I do that? 15:24
15:25 jpn left
should I simply 'transfer' the repos to raku-community-modules? 😉 15:29
15:31 sergot joined 15:32 jpn joined 15:33 sergot left, sergot joined
antononcube @sergot I think it is a matter of authorization. The transfer can be done by the people who are maintainers of this repository: github.com/raku-community-modules . 15:44
15:57 sergot left 15:58 jpn left 16:06 apac left 16:15 sorenson left 16:17 sorenson joined 16:34 dakkar left
melezhik. lizmat: after you’ve added the license file , should a new version be released to fez or alpine guys can just package from the main branch in git ? 16:41
tellable6 2025-04-24T14:33:50Z #raku <lizmat> melezhik: IO::Socket::SSL has a LICENSE file
lizmat melezhik: I also bumped the version, it's now raku.land/github:sergot/IO::Socket::SSL 0.0.4 17:27
will check with sergot if they want to move to zef ecosystem (which I can now do for them) 17:28
timo grondilu: do you have a rough estimation of how the perf improves from that? 18:24
18:29 abraxxa-home joined
lizmat sergot you should be able to transfer your modules to raku-community-modules now 18:40
18:56 wayland joined, wayland76 left
melezhik. .tell lizmat: thanks 🙏 for all your help 19:21
tellable6 melezhik., I'll pass your message to lizmat
19:56 MoC left 19:57 MoC joined 19:59 MoC left 21:09 abraxxa-home left 22:18 tejr left 22:42 tejr joined
wayland .tell tbrowder: This is why I've wrapped my github tests in a docker container, so that I can run the container on local when debugging these problems. 23:02
tellable6 wayland, I'll pass your message to tbrowder
wayland Should I expect $?DISTRIBUTION and %?RESOURCES to be available in my tests? Does the module need to be installed, or will it run on my local? Do I need to declare something first (such as "unit module"), or should it just work? 23:07
ugexe the documentation says 23:10
The %?RESOURCES variable is only accessible inside of modules. If you want to access %?RESOURCES outside of a module, you'll need to expose that API yourself. One way to do that is to create a routine in the lib directory to return its value:
your tests are not modules 23:11
wayland Oh! So I make a method on my class that returns a filehandle to the resource?
ugexe or you can make a method that just return $?DISTRIBUTION or %?RESOURCES 23:12
wayland OK, thanks, that helps with that then.
And then, what's used to determine whether I'm "Inside a module"? Does it absolutely require a "unit module" statement, or is it enough to be in a class? 23:13
ugexe if its in a .rakumod file 23:14
anything that would be listed in `provides` of META6.json
wayland OK, that works for me :) 23:15
Thanks!