🦋 Welcome to Raku! raku.org/ | evalbot usage: 'p6: say 3;' or /msg camelia p6: ... | irclog: colabti.org/irclogger/irclogger_log/raku
Set by ChanServ on 14 October 2019.
00:05 pecastro left 00:21 hungrydonkey joined 00:23 hungryd23 joined 00:24 hungryd8 left 00:26 hungrydonkey left 00:55 aborazmeh joined, aborazmeh left, aborazmeh joined 01:22 molaf left, yht joined 01:35 molaf joined 01:42 hungryd23 left 01:43 hungrydonkey joined 01:47 Kaiepi left 02:04 vgrato_ left 02:06 Manifest0 left, aborazmeh left, Manifest0 joined
xinming_ when we use multi MAIN () { } Is there a moduleto make this function supports sub-commands, and options are passed after sub commands? 02:18
Let's say, `command sub-command1 --opt1-for-subcommand` `command subcmd2 --opt2-for-subcommand`
for now, multi MAIN ('sub-command1', Bool :opt1-for-subcommand) { } This code will ask you to put options after the `command`, rather than sub-command1 02:20
02:43 mack85 joined 02:45 mack85 left 02:48 leah2 joined 02:55 mack72 joined
mack72 discovering this language tonight, it seems absolutely brilliant and I'm quickly falling in love 02:56
never seen a compiler be SORRY about anything 02:57
I look forward to learning the way
xinming_ mack72: Yea, It's a bit like people see perl5 in 1990 age. 02:59
mack72 mack72: I'm new to perl altogether, coming from a Swift expertise 03:01
vrurg mack72: welcome to the real world, Neo! 03:08
mack72 Thank you! 03:09
vrurg xinming_: there're some getopt modules on modules.raku.org. But none implementing real git-like subcommanding. 03:10
xinming_: Getopt::Advance could be quite close to what you're looking for. 03:11
And there is Getopt::Subcommands 03:12
03:29 mack72 left 03:58 Black_Ribbon left
xinming_ vrurg: thanks. 04:17
04:50 wamba joined 05:02 gnufr33dom joined
guifa Is there anyway to inline POD? 05:07
like
if I have a multiline command, insert it between any two elements of the command? 05:09
05:14 bocaneri joined 05:21 molaf left 05:28 tobs joined 05:39 yht left 05:40 wamba left
Geth Raku-Steering-Council: jubilatious1++ created pull request #29:
jubilatious1
05:47
05:53 andrzejku joined 06:36 MasterDuke left
Geth Raku-Steering-Council: jubilatious1++ created pull request #30:
update voting-form.md
06:43
06:47 aluaces joined 06:57 Xliff left 07:08 molaf joined 07:24 jmerelo joined 07:31 kylese joined
Geth Raku-Steering-Council/main: bbf07382b2 | jubilatious1++ (committed using GitHub Web editor) | nominations/2020/voting-form.md
Update voting-form.md
07:32
Raku-Steering-Council/main: 83dcab6c3f | jubilatious1++ (committed using GitHub Web editor) | nominations/2020/voting-form.md
Update voting-form.md
Raku-Steering-Council/main: 48499d09c9 | (Juan Julián Merelo Guervós)++ (committed using GitHub Web editor) | nominations/2020/voting-form.md
Merge pull request #30 from jubilatious1/main

update voting-form.md
07:39 andrzejku left 08:09 aborazmeh joined, aborazmeh left, aborazmeh joined 08:25 sena_kun joined 08:42 gnufr33dom left 08:49 domidumont joined 08:53 hungryd62 joined 08:54 hungrydonkey left
Geth doc: 6b432baf3b | (JJ Merelo)++ | .circleci/config.yml
Test with verbose output #3598
08:54
linkable6 DOC#3598 [open]: github.com/Raku/doc/issues/3598 [build][docs] Bring CircleCI back to life
09:00 domidumont left 09:07 hungrydonkey joined 09:09 hungryd62 left 09:16 hungryd10 joined 09:20 hungrydonkey left
lizmat is cpan only 09:31
09:39 finanalyst joined
Geth doc: 49238f53a0 | (JJ Merelo)++ | .circleci/config.yml
Test use a cache, refs #3598
09:42
linkable6 DOC#3598 [open]: github.com/Raku/doc/issues/3598 [build][docs] Bring CircleCI back to life
09:43 leont joined
Geth doc: d26d14b76e | (JJ Merelo)++ | .circleci/config.yml
Fix script
09:46
doc: 33a1b343f6 | (JJ Merelo)++ | .circleci/config.yml
Testing cache and also uploading of artifacts refs #3598
09:49
linkable6 DOC#3598 [open]: github.com/Raku/doc/issues/3598 [build][docs] Bring CircleCI back to life
10:05 Sgeo left 10:28 hungryd10 left
Geth doc: 1f1d7f5884 | (JJ Merelo)++ | .circleci/config.yml
Testing with folder skipping
10:35
jmerelo Sorry about all the barrage of commits, no other way of testing CircleCI...
10:37 Kaiepi joined
Geth doc: c3a1ad63d9 | (JJ Merelo)++ | .circleci/config.yml
Adds message, eliminates comments, closes #3598
10:42
linkable6 DOC#3598 [closed]: github.com/Raku/doc/issues/3598 [build][docs] Bring CircleCI back to life
10:46 hungrydonkey joined 11:16 rindolf joined 11:22 aborazmeh left 11:36 kylese left 11:39 natrys joined 11:45 Altai-man joined 11:48 sena_kun left
tbrowder i just reread the nominations and wish i could choose more seats :( 12:08
.tell jubilatious1 i don't see yr nomination doc 12:11
tellable6 tbrowder, I haven't seen jubilatious1 around
Geth Raku-Steering-Council/main: 01b67ef31c | jubilatious1++ (committed using GitHub Web editor) | nominations/2020/jubilatious1 (William Michels)
Create jubilatious1 (William Michels)
12:12
Raku-Steering-Council/main: f660f409a4 | (Tom Browder)++ (committed using GitHub Web editor) | nominations/2020/jubilatious1 (William Michels)
Merge pull request #29 from jubilatious1/patch-1

jubilatious1
tbrowder there it is!
does anyone mind if i edit nomination docs to wrap lines to less than 80 chars? 12:14
lizmat the nomination docs feel sensitive to me, no one else but the nominee should edit them, I feel 12:15
or have consent from the nominee to edit them 12:16
you have my consent for my nomination, but I think that's already wrapped at 80 chars
tbrowder agree, but the LONG lines are not easy to read. i thought there was a github setting for the user but i can't find it. 12:17
*user viewer
ah, the problem is docs need to be renamed X.md to get auto line wrap. 12:21
any objection to doing that?
nah, let nominees take care of their own. 12:23
12:23 hungrydonkey left
Geth Raku-Steering-Council/main: f9cb32ef1e | (Elizabeth Mattijsen)++ | 2 files
Mark nomination as markdown
12:26
lizmat indeed :-) 12:27
12:38 hungrydonkey joined
tbrowder but while this grumpy old man is complaing, given all the recent voting changes, couldn't we change to select up to seven nominees? just sayin 12:39
slate is too big and talented to select less than a full house 12:40
at least for long-time observers of the scene 12:41
12:46 jmerelo left 12:48 ponbiki joined 12:49 ponbiki left 12:50 molaf left 13:02 domidumont joined 13:03 molaf joined
codesections weekly: www.codesections.com/blog/weaving-raku/ 13:17
notable6 codesections, Noted! (weekly)
13:23 hungrydonkey left 13:26 aborazmeh joined, aborazmeh left, aborazmeh joined
kawaii Good morning :) I have these two methods, one for adding words to a SetHash, and the other for removing. In the removing hash I use the `:delete` flag to return a value of only the words that were _actually_ removed from the SetHash www.irccloud.com/pastebin/2nQJPMoX/ 13:35
13:35 cpan-raku left
kawaii But I can't see an equivalent for when _adding_ words, there doesn't seem to be a flag that returns only words that were _actually_ added, since duplicates are ignored 13:35
lizmat kawaii: there isn't such a flag 13:36
kawaii lizmat: so perhaps a workaround would to be a pre-pass with the `:exists` flag, and remove those values from my @words array beforehand? :) 13:37
13:37 cpan-raku joined, cpan-raku left, cpan-raku joined
lizmat we could consider a named parameter to SetHash.set 13:37
timotimo why don't we have an AntiSetHash that is tied to a SetHash and gives True for anything that is not in the other SetHash, so deleting something from there actually causes something to be added to the other :D
lizmat kawaii: that would work
isn't there a set operator for that ? 13:38
timotimo ^^ :-)
timotimo yeah, set intersection would do it
oh, you mean for AntiSetHash?
lizmat yeah
timotimo well, we don't have a way to construct The Hash That Has Everything In It
otherwise we could subtract the hash we have from The Everything Hash 13:39
lizmat
.oO( the full set vs the empty set :-)
m: my %h is default(42); dd $h<a>
camelia 5===SORRY!5=== Error while compiling <tmp>
Variable '$h' is not declared. Did you mean '%h'?
at <tmp>:1
------> 3my %h is default(42); dd 7⏏5$h<a>
lizmat m: my %h is default(42); dd %h<a>
camelia Int %h{'a'} = 42
lizmat m: my %h is default(42); dd %h<a>:exists # alas 13:40
camelia Bool::False
codesections I'm kind of surprised that we didn't make Set.add return a Bool. It always returns Nil, which seems like a missed oprotunity
13:40 aborazmeh left
codesections *Set.set 13:40
*SetHash.set
lizmat codesections: I made it return Nil so that we could figure out any reasonable return value
codesections Oh, so we may add a return value later? That's cool 13:41
lizmat I'd prefer SetHash.set not to have to do the extra work to determine which keys were already there
if that info is not needed
timotimo there's arguments for "make it return what you put in" and "make it return whether it was previously there (or in the case of MixHash, how much)
"
kawaii Seems like work which could be handed off to an operator if you didn't want it part of the core function 13:42
codesections and parallel arguments for BagHash.add
13:42 aborazmeh joined, aborazmeh left, aborazmeh joined
lizmat it's now internally just doing a bindkey without checking if its already there 13:43
13:44 natrys left
lizmat which saves on an existskey 13:44
codesections How much work would it be to just return the previous value bound to that key? (It wouldn't need to check if anything was there; it could just return Nil for no key)
lizmat internally, bindkey does a lookup and if it exists, uses that 13:45
codesections: well, internally in Sets, the key is the .WHICH value, and the value is the original key :-)
existence of key means True :-)
13:46 MilkmanDan left, MilkmanDan joined
codesections Right. So I guess that ends up costing the same existskey 13:46
lizmat afaik, rebinding an existing key is only causing some memory churn 13:48
the .WHICH of an object needs to be fetched always anyway
which can be the expensive part
Geth Raku-Steering-Council: tbrowder++ created pull request #31:
rename to indicate a markdown text file
13:51
Raku-Steering-Council/main: a065b8d143 | (Tom Browder)++ | 2 files
rename to indicate a markdown text file
Raku-Steering-Council/main: 028797b3a7 | (Tom Browder)++ (committed using GitHub Web editor) | 2 files
Merge pull request #31 from tbrowder/main

rename to indicate a markdown text file
13:54 molaf left 13:55 aborazmeh left
kawaii lizmat: `my @added = for @words { if %!badwords{$guild-id}{~$_}:exists { %!badwords{$guild-id}{~$_}:delete } }` still quite new to this, but something like this? 13:57
13:57 aborazmeh joined, aborazmeh left, aborazmeh joined
tbrowder codesections: excellent!! just what i've been looking for. now if we can get raku.org blog site... 13:58
timotimo btw, maybe you'll want to stringify the words earlier than this 13:59
lizmat tbrowder: looking at how blogs.perl.org is fairing on its blogging engine, I'd like to make a *very* informed decision before settling on one
timotimo iirc it was a bunch of match objects
kawaii timotimo: we used comb in the capture to fix that
timotimo: `my @words = $cd.args.comb(/'"' <( <-[\"]>* )> '"'||\w+/);`
timotimo oooh, very good 14:00
in that case you cn actually drop the ~ from ~$_
and then use {@words}:exists:k to get a list of only the words that are in the SetHash, i would assume
lizmat %sh.set( my @added = @words.grep: { !%sh{$_} } ) # kawaii something like this ? 14:01
tbrowder lizmat: agree for sure 14:03
14:20 MasterDuke joined 14:29 hungrydonkey joined 14:37 MilkmanDan left 14:39 MilkmanDan joined 14:41 aborazmeh left
timotimo is there no way with postcircumfix:<{ }> to get "keys of things that weren't in the hash yet"? because :!exists:k throws "unsupported combination" 14:42
lizmat timotimo: interesting idea 14:47
timotimo perhaps there was a good reason why that's not an allowed combination 14:48
lizmat can't think of it right now 14:51
will ponder while being afk for a few hours&
14:51 natrys joined
Altai-man El_Che, hi! Are you around? 14:51
14:54 aborazmeh joined, aborazmeh left, aborazmeh joined
El_Che Altai-man: I have to leave now, bu feel free to leave me a message 14:58
tellable6 2020-09-04T17:54:40Z #raku <Altai-man> El_Che hi! how moarvm test can be failing if it's rakudo profile test that is wrong? I think we need more details gathered somewhere in a single post.
14:59 aborazmeh left
Altai-man .tell El_Che I just looked at rakudo-pkg test failures and I see actual packages for distro are all passing and only relocatable versions are failing. This does not seem like a blocker, does it? I think we can (if you're not already) release actual package releases and make investigation of why relocatable has issues a blocker for the next release. 15:09
tellable6 Altai-man, I'll pass your message to El_Che
15:40 hungryd96 joined 15:41 hungrydonkey left 15:46 sena_kun joined 15:48 Altai-man left 15:52 hungryd96 left 15:59 pecastro joined 16:06 sno left 16:48 aluaces left 16:53 Manifest0 left 16:54 finanalyst left 16:57 finanalyst joined 17:01 Sgeo joined 17:02 Manifest0 joined 17:03 gnufr33dom joined 17:06 aluaces joined, aluaces is now known as alberto, alberto is now known as Guest81564 17:17 gnufr33dom left 17:49 Guest81564 left 17:55 Tirifto joined
tbrowder .tell [Coke] early last year i was able to use module Oauth2::Client::Google to download my email to extract info needed to research msgs for a local computer group. if interested let me know. code is not pretty but it worked for what i needed. i submitted a PR to the module but it wasn't very clearly done and i got sidetracked so it's stuck for now. glad to revisit if it would help. (i need to do that anyway) 18:03
tellable6 tbrowder, I'll pass your message to [Coke]
18:07 aluaces joined 18:22 finanalyst left 18:23 finanalyst joined 18:28 xinming_ left, xinming_ joined 18:40 finanalyst left 18:58 sena_kun left 19:16 domidumont left 19:43 Xliff joined 19:53 oneeggeach joined 20:13 Tirifto left 20:14 go|dfish left 20:15 gordonfish joined 20:16 go|dfish joined
[Coke] I disagree that the vote should be for up to 7. 20:29
tellable6 hey [Coke], you have a message: gist.github.com/2e806642260c0e3921...7b6e229d50
lizmat agrees with [Coke] 20:30
[Coke] (current 5 requires *some* ranking, I feel)
.tell tbrowder - all set, thanks, don't need code atm. 20:33
tellable6 [Coke], I'll pass your message to tbrowder
20:38 mack35 joined
[Coke] only got the two early votes. in future, I would recommend not using "midnight" as it's unclear if we mean beginning or end of day 20:48
but for now, taking it to mean "as soon as possible" and "as late as possible" 20:49
21:02 mack35 left 21:05 rindolf left
gfldex lolibloggedalittle: gfldex.wordpress.com/2020/09/05/ho...zmat-know/ 21:06
21:29 natrys left
codesections gfldex: interesting post :) when you said «Yesterday we had a discussion about where to publish modules.», was that in reference to the discussing tbrowder and I had on here? Or was there another conversation? 21:50
gfldex codesections: you guessed correct 21:51
codesections :) Well, now you're post has me back to being confused. tbrowder just about had me convinced that I should upload all my modules to cpan, but I didn't know about the point you made re: it not really supporting META6 21:52
that _does_ seem like a good reason to build our own ecosystem
tbrowder and i'm all for that, i voted for tony-o's proposal 21:55
tellable6 2020-09-05T20:33:42Z #raku <[Coke]> tbrowder - all set, thanks, don't need code atm.
gfldex codesections: our ecosystem does not support versions well. You have to create a tag in the git repo and modify source-url along with version in the META6.json. Very easy to get wrong or simply forget. 21:57
codesections gfldex: wait, what? That's not in the docs docs.raku.org/language/modules#Upl...ule_to_p6c 21:59
gfldex aye
22:02 Black_Ribbon joined
codesections gfldex: looking at MIME::Base64, and it doesn't look like it updated `source-url` 22:05
(I picked that module somewhat at random/just looking for a widely-used module not on CPAN) 22:06
and Terminal::ANSIColor doesn't have any tags, much less a `source-url` that points to a tag 22:10
github.com/tadzik/Terminal-ANSICol...META6.json
gfldex you don't really need tags. You can refere to the commit directly. But tags can say what you mean.
codesections but my point is that the META6.json file just says «"source-url" : "git://github.com/tadzik/Terminal-ANSIColor.git"» 22:11
isn't that what you were saying wouldn't work? 22:12
gfldex indeed
codesections hmm? So are you saying that everyone who runs `zef install Terminall::ANSIColor` is getting v0.0.1 instead of v0.5 ? 22:13
gfldex zef will keep previous versions that are already installed around. If you want to install a previous version you have to find and checkout the correct commit.
they will get v0.5 but need to get v0.0.1 by hand. 22:14
One of the strong points of CPAN is that you can pin versions for production.
codesections Ohhh, ok, I'm following you now. I thought you were saying that the package _author_ needed to change something when they released a new version. But you were saying that the package _user_ needs to specify a custom src-url to get the right version. Right? 22:15
gfldex if the author doesn't the user must. The ecosystem will keep old versions of the META6.json around, based on the version field. 22:16
But if all version point to HEAD that wont help one who wants to install a specific version of a module. 22:17
codesections wait, I'm still confused. I just looked at Shell::Piping to see how you're saying it's supposed to be done, but it also has a source-url that points at HEAD 22:21
gfldex I am as guilty as any. As you pointed out earlier this stuff is not documented. 22:22
timotimo we don't have a way to specify a tag or branch in the source field, right?
gfldex github allows URLs to contain commit hashes 22:23
timotimo does the way we fetch the source respect those?
gfldex I believe so. zef will just clone.
timotimo ideally, we'd have something that also works on bitbucket or self-hosted whatevers
can github inspect the url - i think the fragment isn't sent to the server normally? - and give you a different default branch based on what you specified? 22:24
or does git perhaps do that itself when it sees a fragment while cloning?
gfldex raw.githubusercontent.com/gfldex/b...-week.raku 22:28
if you replace /master/ with /b773638c72a3a28f733b24ae6b82fb17371e2f3c/ you go 2 commits back
if you want to go back in time for the whole repo, you have to clone and checkout that commit 22:29
If we track META6.json for changes in version (iterating backword commit for commit) we should be able to reconstruct old versions. 22:30
So as long as we got stuff on github, we can manage. For selfhosted whatevers I'm not so sure. 22:31
timotimo oh, you're only talking about the meta.json 22:35
gfldex github allowes to download zip files of any commit. Can zef handle zips? 22:43
22:45 sno joined
codesections gfldex: so, when I search for most distributions with `zef search`, I usually only get one version result (the latest). But for some Distributions, I get many (e.g., `zef search Ddt` gives 7 versions). Is that because those Distributions used git tags? Or for some other reason? 22:45
or is it not tags, but releases? 22:46
gfldex those are on CPAN
codesections nope. I'm talking about ecosystem distributions
modules.raku.org/search/?q=ddt 22:47
gfldex and zef can install from zips. I just installed an older version of Shell::Piping with zef install --force github.com/gfldex/raku-shell-pipin...177932.zip 22:48
the name of the zip-file is just the commit 22:49
codesections (also, the same module shows up multiple times on modules.raku.org without anything to distinguish one version from another. Which is LTA, but seems fixible later)
gfldex But we cant provide that in META6.json when we bump version because we don't know the hash before the commit is done.
codesections I guess there's `git describe` (so long as the git repo has at least one tag) 22:54
git-scm.com/book/en/v2/Distributed...ild_number
Geth ecosystem: codesections++ created pull request #539:
Add Pod::Tangle
23:02
23:25 oneeggeach left
timotimo does it not allow the name of a tag in the archive url thingie? 23:31
23:42 pecastro left 23:48 epony left, epony joined 23:50 gnufr33dom joined