🦋 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.
Nemokosch Apple can always underperform my ever-so-low expectations of them 06:45
Coke: thank you for the JSON link, I finally got to it 07:05
Is there an exposed <number> token somewhere? For matching numbers in a regular expression 08:55
I found it in Rakudo, then NQP, then HLL but I wouldn't want to copypaste it to an own script
Re: lifting ! negation over junctions - how do I express "if at least one element is not an Array"? 11:53
lizmat m: dd ([],[],[]).are ~~ Array 12:13
camelia Bool::True
lizmat m: dd ([],[],()).are ~~ Array
camelia Bool::False
lizmat Nemokosch ^^
lizmat sadly not documented yet 12:14
.are returns the type that is common to all values given
Nemokosch oh wow 13:06
thank you
El_Che p6steve: you should give podman a go. You can run the same setup on mac, win and linux and no root needed on Linux to run the containers 13:23
tellable6 El_Che, I'll pass your message to p6steve
tonyo Podman++ 15:08
Doesn't eat 30gb of ram to run a 512mb container either
El_Che when developing I put my external services like keycloak and mysql in containers to run "author tests" 15:55
using podman make this very portable
ugexe i'm soliciting ideas for for a zef-focused tpf grant. i was thinking maybe lockfile support, but that doesn't do much good unless we can change/disable the default repos (such that a script can be run using *only* an external repo, i.e. no site repo) 17:49
change/disable the default repos *in raku*
lizmat there's Zef::Configuration that allows you to do that
ugexe no, that can change zef configuration, not what repositories a raku implementation uses 17:50
`raku -I inst#whatever my-script.raku` will always include the site/home/vendor repos
which makes a lockfile mostly pointless 17:51
lizmat ah, ok :)
ugexe basically $*REPO.repo-chain should be settable via some ENV var 17:52
like entirely settable, not just additive
patrickb ugexe: There is the use case of rakubrew which I'd like to prevent installation into the installation repos, but into the home dir one (or one entirely separate). I think write protecting the repo dirs would word but is non portable. Some way to cleanly and transparently making the rakubrew installed zef do that would be nice. There might already be a related bug report. 17:53
ugexe then one can do `MY_ONLY_REPO=inst#foo raku my-scrip.raku` and only use modules in the inst#foo repo
patrickb s/word/work/
ugexe patrickb: there is a zef config to default to home 17:54
github.com/ugexe/zef/blob/6a14c383...ig.json#L5
changing that to 'home' makes it install to 'home'. 'auto' installs to 'site' if it is writable, else 'home'
see: github.com/ugexe/zef/blob/6a14c383...kumod#L408 17:56
El_Che ugexe: If you don't take it as an insult, I would suggest refactoring the cli UI. One of the talks at raku conf described as a wall of text. 17:59
(if you don't take it as constructive criticism, I apologize)
ugexe yeah it sucks, but its a raku problem 18:00
El_Che a grant may provide you some time to work on that front?
Nemokosch well, it can be improved. Maybe not elegantly. 18:04
Confer GetOpt::Long and related attempts
ugexe i guess im more inclined to work on an area i have particular expertise in since i can know beforehand what is possible and the actual scope. i dont know enough about argument parsing to pick up that torch
Nemokosch that's fair enough 18:06
In fact, I suppose anybody with enough time and patience could improve the feedback of failed argument parsing 18:08
El_Che fair enough 18:34
ugexe another thing is using CUR::Staging which means things would only be precompiled once (currently it happens twice; once when testing when they are loaded with a CUR::FileSystem and once when it gets installed to a CUR::Installation). the problem with this is that 1) `zef test .` would need to reinstall the dist in `.` to the temp CUR::Staging repo each time (which also would re-precompile everything, 18:36
something that doesn't happen with CUR::FileSystem) and 2) CUR::Staging workflow doesn't work when installing to repos other than site/home/vendor (i.e. no custom install locations)
patrickb ugexe: I'd love to see you tackle the double precomp behavior. 19:15
tonyo ugexe: something like pyenv/venv? 20:16
tbrowder lizmat: i’m looking at yr Git::Status module seeking good practices. why do you use := here: “my $proc := run <…>, :out”? 20:18
and so on inside the block? anything to do with .precomp? 20:20
tonyo not sure if you saw last night tbrowder but i finally finished the cro tut deathbykeystroke.com/articles/2022...art-b.html 20:23
tbrowder tonyo: you da man! i need to look closer, but it looks like it’s the ultimate cookbook recipe for wannabe website hosts. you really should publish it as a Raku book, or at least part of one. 20:28
tonyo heh, i think it might make more of a pamphlet unless i add in stuff about how to set up DNS and all the other stuff to consider when choosing a host, etc 22:35
but, tyvm