🦋 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
|