🦋 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:08 vasko4 joined 01:38 hulk joined 01:40 kylese left 02:15 hulk left, kylese joined 03:21 arkiuat left 03:23 arkiuat joined 03:27 ACfromTX left, vasko4 left 03:30 arkiuat left, vasko4 joined 03:44 Aedil joined 03:45 kylese left 03:48 kylese joined 03:59 arkiuat joined 04:04 arkiuat left 04:34 arkiuat joined 04:39 arkiuat left 04:55 ACfromTX joined 05:03 arkiuat joined 05:08 arkiuat left 05:37 arkiuat joined 05:42 arkiuat left 05:49 deoac left 06:04 arkiuat joined 06:09 arkiuat left 06:37 arkiuat joined 06:40 jjido joined
Geth docker: bed71ea87f | (Anton Oks)++ (committed using GitHub Web editor) | .github/workflows/test-docker-image.yml
test-docker-image.yml: Add workflow_dispatch
06:41
06:41 Sgeo left 06:43 arkiuat left
Geth docker: 32e739badc | (Anton Oks)++ (committed using GitHub Web editor) | .github/workflows/test-docker-image.yml
test-docker-image.yml: Extend the "VERSION" for patch releases
06:46
07:05 arkiuat joined 07:10 arkiuat left 07:17 lichtkind joined 07:39 arkiuat joined 07:43 arkiuat left 07:56 wayland76 joined, jjido left 08:06 dakkar joined, arkiuat joined 08:11 arkiuat left 08:41 arkiuat joined 08:49 arkiuat left 09:01 arkiuat joined 09:12 arkiuat left 09:40 arkiuat joined 09:45 arkiuat left 10:07 swaggboi left 10:08 swaggboi joined, arkiuat joined 10:13 arkiuat left
wayland76 Where do I report it if the YouTube playlist for Raku is so out-of-date that it's still called Perl 6? 10:37
10:42 arkiuat joined
lizmat which one are we talking about ? 10:45
10:47 arkiuat left 10:52 arkiuat joined 10:57 arkiuat left 11:03 human-blip left 11:05 human-blip joined 11:10 melezhik joined 11:11 MoC joined 11:20 arkiuat joined 11:24 arkiuat left
SmokeMachine Hi! I have a module that makes it easier to "validate" if a type has a set of methods (raku.land/zef:FCO/Protocol) it's just a different way to create a subset of Any with a where clause validating if all the yada methods you created exists on the value. Now I was thinking if it would be possible to "add methods" on all types that has a set of modules... I replaced a subset with coerce. It creates a class and that class has 11:37
a coerce method that returns a coerce type, and now it's looking like this: glot.io/snippets/h9aps9opnn on the example I create a Protocol called FormattableKeysProtocol that is just a class and it has a `coerce` method that returns the coerce type that should be used... I could not create the Coerce type directly because CoercionHOW does not have the methods I need... I'd like to know if anyone can see a way to avoid
needing to call .coerce to do that... I was thinking if there is any way of on ^compose do something to replace the type with the given name to be the coerce type... is something like that possible?
11:53 arkiuat joined 11:58 arkiuat left 12:04 merp left 12:20 arkiuat joined 12:24 arkiuat left 12:26 merp joined
timo i don't think a ^compose call can do something like that, but maybe ^parameterize can? 12:38
12:39 Sampersand joined 12:48 jjido joined 12:53 Sampersand left, arkiuat joined
SmokeMachine timo: but, in that case I would need to do Protocol[$a-parameter] to make that work? Or I could just call ^parameterize on ^compose? 12:55
12:57 arkiuat left 12:59 Sampersand joined
disbot3 <librasteve> weekly: github.com/Raku/problem-solving/is...3082221796 13:00
13:01 jjido left 13:14 jjido joined 13:18 Sampersand left 13:19 jjido left
SmokeMachine timo: thanks! That worked!!! glot.io/snippets/h9au5jxtkl but I need now to use MyProtocol[“something”]… MyProtocol[] does not work… :( any idea for not need the parameter? (I suppose not because it is using something called ^parameterize…) 13:24
Even it ^parameterize expects no arguments besides the type, it’s not called with an empty []… 13:26
13:26 arkiuat joined 13:30 melezhik left, MoC left 13:31 arkiuat left
jdv lizmat: think the search dates aren't working on the logs site 13:31
13:32 jjido joined
lizmat there's a known issue with the range being improperly initialized, could that be it ? 13:32
jdv i searched for my nick from 6/1 - today and it only showed july but 6/1-6/30 and i see jun's
lizmat which channel?
jdv this one 13:33
actually now that i scroll it includes may and july
fun:)
lizmat *that* is a feature 13:34
irclogs.raku.org/search.html?query...2025-07-01 13:35
seems to work ok for me?
jdv oh, maybe it was just me. can't repro it now. so from and until are just the viewport? 13:40
not that that bit matters much
lizmat yes
there are some issues with the date selectors,
13:40 jjido left
timo SmokeMachine: sorry i didn't have very much time free in between work calls to actually think deeply about the issue 13:40
lizmat but that lives in JS land, would welcome any fixes there :-) 13:41
SmokeMachine timo: no, thanks for your help! :)
s/no/np/
jdv thanks
SmokeMachine lizmat: hi! Do you know how I could make a class call ^parameterize without passing any parameter? Should an empty [] call ^parameterize? On this example (glot.io/snippets/h9au5jxtkl) for instance, if you remove the 1 from inside the [], it does not call it… any idea? (Sorry for interrupting) 13:46
lizmat I've run into that one time as well: looks like parameterization is not done in that case 13:47
not sure whether that's a bug or not
SmokeMachine I would assume that if you passed [], you was assuming calling .^parameterize with no arguments… but it may be too deep for me to have an opinion… 13:49
lizmat well.. maybe that's not an assumption one core dev once made :) 13:50
SmokeMachine If that wand intentional, right?
S/wand/was/ 13:51
lizmat parameterizations are cached at the VM level.
I'm not sure it would be able to see a difference between [] and no parameterization at all 13:52
or it could be simply a grammar issue
13:52 arkiuat joined
SmokeMachine I was supposing it would be a grammar issue… but knowing now about the VM cache… I’m losing my hope to be able to “fix” that (if that’s an issue) 13:53
lizmat m: say Q|role A [*@a] { }; class B does A { }|.AST # meh 13:54
camelia ===SORRY!=== Error while compiling EVAL_0
Could not instantiate role 'A'; exception details:

Unknown compilation input 'qast'
in any IMPL-COMPILE-DYNAMICALLY at src/Raku/ast/code.rakumod line 410
in any at src/Raku/ast/code…
13:57 arkiuat left 14:28 arkiuat joined 14:33 librasteve_ joined 14:34 arkiuat left 14:46 arkiuat joined 14:50 arkiuat left 15:12 arkiuat joined 15:14 jjido joined 15:18 arkiuat left 15:31 arkiuat joined 15:35 arkiuat left 15:58 Sgeo joined 15:59 arkiuat joined 16:10 oodani left 16:11 oodani joined
SmokeMachine That’s not what I wanted, but for now (writing code on my mobile phone) I think it’s good enough. Now I have a multi ^parameterize that if passed the enum value ProtocolClass it returns the class as if there was no ^parameterize call, if passed ProtocolCoerce, it returns the coerce type and if passed ProtocolSubset it returns a subset that validates the methods: glot.io/snippets/h9au5jxtkl 16:12
jdv is coding on a "mobile phone" easy? 16:16
16:17 human-blip left 16:19 human-blip joined 16:21 deoac joined
SmokeMachine Not at all… but I’m waiting my kid’s swimming class to finish… so no other option… :) 16:25
jdv: But glot.io helps a lot… 16:26
jdv cool 16:31
disbot3 <librasteve> lol
16:33 dakkar left
SmokeMachine Any suggestion of a better way to solve this problem? 16:38
timo i need to write that blog post about compiler explorer's raku support :D 16:45
disbot3 <librasteve> timo++ 16:46
16:59 jjido left 17:15 jjido joined 17:42 arkiuat left 17:55 arkiuat joined 17:58 human-blip left 17:59 human-blip joined 18:32 arkiuat left
Voldenet wow, compilerexplorer has raku support :O 18:32
18:42 arkiuat joined 18:47 arkiuat left 18:49 jjido left 18:51 human-blip left 18:52 human-blip joined 18:59 arkiuat joined 19:03 arkiuat left
Geth problem-solving/raku-foundation: 9f49440973 | (Elizabeth Mattijsen)++ | solutions/meta/start-a-raku-foundation.md
Set up solution for #477
19:04
19:05 arkiuat joined
Geth problem-solving: lizmat++ created pull request #487:
Set up solution for #477
19:05
19:09 arkiuat left 19:21 arkiuat joined 19:25 arkiuat left 19:38 arkiuat joined
SmokeMachine timo: I’m looking forward for that blog post… 19:39
19:43 arkiuat left
Geth ecosystem/main: dc245302e1 | (Elizabeth Mattijsen)++ | META.list
Remove "whateverable"

It will soon re-appear as a raku community module
19:50
19:55 arkiuat joined, msiism joined 20:01 coleman left, coleman joined 20:03 coleman left 20:05 coleman joined 20:25 arkiuat left 20:37 arkiuat joined 20:41 arkiuat left
disbot3 <librasteve> marketing.raku.org/ ! 20:50
<librasteve> ^^ forgot about this stuff
20:50 Aedil left 21:10 arkiuat joined 21:20 arkiuat left 21:29 deoac left 21:48 arkiuat joined 21:51 jjido joined 21:52 wayland joined 21:53 wayland76 left, arkiuat left 22:15 arkiuat joined 22:20 arkiuat left 22:33 arkiuat joined
wayland Question: is there a way to get a list of all the tags used in the module system? 22:35
22:45 coleman left
wayland Also, I've just run "zef install File::Find", and it said it installed it, but it still throws a "Could not find File::Find in" error. My suggested partial solution is that zef should say where it installed the module, so that I can feed that info into the script somehow. This is the kind of problem I've been having since I installed rakubrew. 22:46
22:47 coleman joined 22:49 kaskal- left 22:50 lichtkind left
ugexe so run `zef locate File::Find`? 22:50
wayland lizmat: This playlist: www.youtube.com/playlist?list=PLRu...FwobZHdXdK which is linked from the documentation at raku.org/resources/ . I know we're updating the doco website, so I thought better to ask sooner than later (also tagging @librasteve_ ) 22:51
ugexe: Great, thanks! 22:52
So my next question is, why isn't Rakubrew inserting this directory into my path? /home/wayland/.rakubrew/versions/moar-2025.06.1/
ugexe because you do that 22:53
raku has multiple installation repositories by default, so only you the user can figure out what the desired order is
22:55 kst left
wayland Hmm. But shouldn't rakubrew be able to eg. replace $HOME/.rakubrew/versions/moar-2025.04 with $HOME/.rakubrew/versions/moar-2025.06.1 ? At least if requested? 22:57
ugexe well neither of those are bin directories for starters 22:58
those typically end in /bin
however it should be switching those 23:00
the paths you are showing
/Users/nlogan/.rakubrew/versions/moar-2024.09/install/bin
/Users/nlogan/.rakubrew/versions/moar-blead/install/bin 23:01
wayland OK, possibly I've been unclear -- I meant my include path, not my bin path. My mistake.
ugexe each of those is the first item in my $PATH after switching between them with rakubrew
include path for what?
23:02 msiism left
ugexe the raku executable sets up the default include paths... rakubrew doesnt need to do anything 23:02
wayland I'm trying to include the File::Find module. Zef tells me it's at /home/wayland/.rakubrew/versions/moar-2025.06.1/share/perl6/site/sources/EF6255414A67A89A2BFBDCCF155D4E79A2DA2E1F but raku says it can't find it. I presume I need to add something to a list of paths (which I'm, possibly incorrectly, calling an Include path) 23:03
(thanks for the help, btw) 23:04
ugexe presumbly your raku command is not the same raku that zef uses
wayland Hmm. "which raku" gives: ~/.rakubrew/shims/raku 23:05
How do I check what zef is using?
ugexe what does `raku -e 'say $*REPO.repo-chain[1].path-spec'` say
wayland inst#/home/wayland/.rakubrew/versions/moar-2025.06.1/share/perl6/site 23:06
ugexe and `raku -e 'use File::Find;` has that path in the error? 23:07
wayland Oh, I think I've found the problem.
The script is headed $!/usr/bin/raku 23:08
Sorry, #!/usr/bin/raku
OK, that's fixed it.
So, probably (in my opinion) a bug in the rakubrew doco; it should say that you now need to start your scripts with "#!/usr/bin/env raku" now. 23:10
I've put in a bug for it: github.com/Raku/rakubrew.org/issues/21 23:14
ugexe there is so much nuance in shebangs that it is understandable to me if it doesn't direct the user to use any specific one 23:15
indeed i personally wouldn't mention it
rather it is up to the user using shebangs to know what they are doing 23:16
wayland Well, I'm not fussed which one, or even which ones, but there should at least be a section on debugging the "Could not find <modulename> in <directories>" stuff. 23:17
I'm just trying to keep others from wasting the time of you and the community. But it *does* highlight why I don't think rakubrew should be the recommended install method for new users. 23:18
(don't get me wrong, it's great, but I don't think it's the good option for new users).
ugexe i dunno, i find that new users end up wasting even more time installing multiple rakus (on purpose or inadvertently) 23:19
regardless im not the target audience for these docs so i'm not going to see the value in them 23:20
`rakubrew exec --with moar-2024.03 myscript.raku`
if you run your scripts like this though there is no room for ambiguity or issues
wayland I've gotta head to work. Thanks for all your help!
ugexe since that will invoke it with `raku` and not rely on shebang stuff 23:21
wayland I'll review the backlogs though :)
23:21 wayland left
ugexe "i find that new users end up wasting even more time installing multiple rakus" - and i mean users doing this *without* rakubrew 23:21
23:30 deoac joined, kaskal joined