🦋 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. |
|||
Voldenet | There is something I don't get though | 00:02 | |
00:02
Maylay joined
|
|||
Voldenet | m: my %a = :4both, :only-a; my %b = :8both, :only-b; say %a >>+>> %b; | 00:02 | |
camelia | {both => 12, only-a => 1} | ||
Voldenet | only-a becomes "1" in this case, but it shouldn't get anything on the other side | ||
m: my %a = :4both, :only-a; my %b = :8both, :only-b; sub hyper-right(%a, %b, &op) { %a.map({ .key => .key (elem) %b.keys ?? op(.value, %b{.key}) !! .value }).Hash; }; say hyper-right(%a, %b, * + *) | 00:03 | ||
camelia | {both => 12, only-a => True} | ||
Voldenet | I'd expect something like this | 00:04 | |
but what I got is this: | 00:07 | ||
m: my %a = :4both, :only-a; my %b = :8both, :only-b; sub hyper-right(%a, %b, &op) { %a.map({ .key => op(.value, %b{.key}) }).Hash; }; say hyper-right(%a, %b, * + *); | |||
camelia | Use of uninitialized value of type Any in numeric context {both => 12, only-a => 1} in block at <tmp> line 1 |
||
00:07
reportable6 left,
Maylay left
00:08
reportable6 joined
00:11
Maylay joined
00:17
Heptite left
|
|||
Nemokosch | yes, it kinda seems that it's a silenced addition | 00:17 | |
I tried to point this one out - the operator call happens even for the elements that aren't present on both sides | 00:19 | ||
Tbh I'm not unhappy with this behavior, the docs kinda contradict though | |||
Voldenet | it's worrying to me that it seems like it's using `quietly` somewhere | 00:21 | |
m: my %a = :4both, :only-a; my %b = :8both, :only-b; say %a >>|>> %b; | |||
camelia | {both => any(4, 8), only-a => any(True, (Any))} | ||
Voldenet | not all operators and methods will expect this | ||
m: my %a is default("a") = :4both, :only-a; my %b is default("b") = :8both, :only-b; say %a >>|>> %b | 00:32 | ||
camelia | {both => any(4, 8), only-a => any(True, b)} | ||
Voldenet | No idea if that should that behave like union | 00:33 | |
though I'm pretty sure that most things and methods won't work properly without both parameters | 00:38 | ||
01:03
nebuchadnezzar left
01:41
razetime joined
01:48
epony joined
02:14
Guest9 joined,
Guest9 left
02:34
bigdata left
02:38
razetime left
02:39
razetime joined
03:39
statisfiable6 left,
reportable6 left,
greppable6 left,
benchable6 left,
notable6 left,
evalable6 left,
squashable6 left,
unicodable6 left,
nativecallable6 left,
bisectable6 left,
coverable6 left,
releasable6 left,
bloatable6 left,
sourceable6 left,
tellable6 left,
shareable6 left,
committable6 left,
quotable6 left,
linkable6 left,
quotable6 joined,
releasable6 joined
03:40
evalable6 joined,
shareable6 joined,
committable6 joined,
notable6 joined,
greppable6 joined,
coverable6 joined,
linkable6 joined
03:41
unicodable6 joined,
tellable6 joined,
reportable6 joined,
bisectable6 joined,
sourceable6 joined
03:42
squashable6 joined,
benchable6 joined,
nativecallable6 joined,
bloatable6 joined,
statisfiable6 joined
04:38
bigdata joined
|
|||
Geth | rakudoc: mujo-hash++ created pull request #15: Remove failing test |
04:54 | |
05:38
evalable6 left,
linkable6 left
05:39
evalable6 joined
05:41
linkable6 joined
06:07
reportable6 left
06:08
reportable6 joined
07:08
statisfiable6 left,
bloatable6 left,
committable6 left,
coverable6 left,
evalable6 left,
benchable6 left,
squashable6 left,
quotable6 left,
sourceable6 left,
greppable6 left,
notable6 left,
reportable6 left,
bisectable6 left,
nativecallable6 left,
releasable6 left,
unicodable6 left,
linkable6 left,
shareable6 left,
linkable6 joined
07:09
nativecallable6 joined,
notable6 joined,
unicodable6 joined,
releasable6 joined,
shareable6 joined,
committable6 joined,
sourceable6 joined,
quotable6 joined,
squashable6 joined
07:10
bisectable6 joined,
statisfiable6 joined,
coverable6 joined,
reportable6 joined
07:11
greppable6 joined,
benchable6 joined,
bloatable6 joined,
evalable6 joined
07:46
xinming left
08:35
MoC joined
08:37
Sgeo left
08:51
jjido joined
08:59
frost joined
09:01
sena_kun joined
09:02
frost left
09:05
frost joined
09:10
Colere left
09:11
Colere joined
09:13
xinming joined,
Furor joined
09:16
Colere left
10:16
coverable6 left,
greppable6 left,
sourceable6 left,
linkable6 left,
nativecallable6 left,
squashable6 left,
quotable6 left,
unicodable6 left,
notable6 left,
shareable6 left,
committable6 left,
evalable6 left,
statisfiable6 left,
bisectable6 left,
bloatable6 left,
benchable6 left,
tellable6 left,
releasable6 left,
reportable6 left
10:17
greppable6 joined,
bisectable6 joined,
bloatable6 joined,
unicodable6 joined,
nativecallable6 joined,
sourceable6 joined
10:18
benchable6 joined,
quotable6 joined,
releasable6 joined,
tellable6 joined,
squashable6 joined
10:19
coverable6 joined,
reportable6 joined,
committable6 joined,
shareable6 joined
|
|||
p6steve | using Build.pm I got <<Died with the exception: Failed to spawn process Proc<6021553250912>: no such file or directory (error code -2)>> | 10:19 | |
10:19
evalable6 joined,
statisfiable6 joined,
linkable6 joined,
notable6 joined
|
|||
the code is <<my $proc = Proc::Async.new: run <cargo build>;$proc.bind-stdout($*ERR);my $promise = $proc.start;await $promise;>> | 10:21 | ||
wondering what the "file or dir" refers to ...? or any other hint for what is going on (maybe permissions?) please | |||
lizmat | p6steve: you're creating a Proc::Async object with the Promise returned by "run" ? | 10:23 | |
tellable6 | lizmat, I'll pass your message to p6steve | ||
p6steve | lizmat: sorry that's over my head a bit | 10:27 | |
lizmat | my $proc = Proc::Async.new: run <cargo build> | 10:28 | |
tellable6 | 2022-09-15T22:14:19Z #raku <melezhik> lizmat and finally this one - ci.sparrowhub.io | ||
lizmat | p6steve: that feels wrong: Proc::Async.new: run | 10:29 | |
tellable6 | lizmat, I'll pass your message to p6steve | ||
lizmat | actually run returns a Proc object, not a Promise, my bad | ||
Voldenet | consider this: my $proc = Proc::Async.new: <cargo build>;$proc.bind-stdout($*ERR);my $promise = $proc.start;await $promise; | 10:30 | |
lizmat | Voldenet: that feels more natural :-) | ||
Voldenet | `Proc<6021553250912>` is what result of run gets converted to… | 10:31 | |
p6steve | well I want to go <<cargo build>> on the command line in the async process so that I can bind the STD-ERR | ||
voldenet: yes that makes sense - I will try it - thanks! | |||
10:38
razetime left
|
|||
voldenet: I tried your version and got a linking error ('cargo build' is making an so, | 10:44 | ||
looked like that was going ok) | |||
if I understand your advice is just to drop the 'run' and go with 'my $proc = Proc::Async.new: <cargo build>;' (otherwise same as my original code)? | |||
Voldenet | the task failed successfully 👌 | ||
yes, just drop that run, the result will get coerced into string and stop making sense | 10:45 | ||
p6steve | ha! a different failure is always progress! | 10:46 | |
oh look, I found this in the string error msg 'note: /usr/bin/ld: final link failed: No space left on device' | |||
Voldenet | no wonder, the name of the command says `cargo` after all ;) | 10:47 | |
p6steve | ok will have to take a break ... but this looks promising | 10:48 | |
thanks! | |||
11:21
Furor is now known as Colere
|
|||
[Coke] | how to say "optional dependency" in META6.json? | 12:05 | |
tellable6 | 2022-09-16T22:45:33Z #raku <tbrowder> [Coke] ^^^ | ||
12:07
reportable6 left,
reportable6 joined
|
|||
lizmat | [Coke]: afaik, you can't | 12:35 | |
ugexe ^^ | |||
[Coke] | ok. Makes some sense, as optional dependency is kind of an oxymoron. Just documented it instead. | 12:38 | |
Alzo, moved zef-deps to its own repo and just uploaded a pre-1.0 version with fez. | 12:39 | ||
12:49
bigdata left
|
|||
[Coke] | notable6: github.com/coke/raku-zef-deps , maybe? | 13:04 | |
notable6 | [Coke], I cannot recognize this command. See wiki for some examples: github.com/Raku/whateverable/wiki/Notable | ||
[Coke] | notable6: weekly github.com/coke/raku-zef-deps , maybe? | 13:05 | |
notable6 | [Coke], Noted! (weekly) | ||
13:34
jjido left
|
|||
lizmat | [Coke]: just weekly: is enough | 13:36 | |
14:15
lichtkind joined
|
|||
ugexe | you can | 14:23 | |
{"any": ["Bar", ""]} | |||
for an optional Bar dependency | 14:24 | ||
14:35
razetime joined
14:48
sena_kun left
14:49
sena_kun joined
14:55
jjido joined
|
|||
ugexe | it would still attempt to install Bar though, so it might not be optional in the sense you want | 15:10 | |
but you could have something like `perl:ver<...>:from<bin>` or some such that doesn't fail when it cant find a perl binary but wants to declare it | 15:12 | ||
15:12
dogbert17 joined
15:13
Heptite joined
15:15
razetime left
15:18
razetime joined
15:31
jjido left
15:33
razetime left,
razetime_ joined
15:40
razetime_ left,
razetime joined
15:56
abraxxa-home joined
15:59
razetime left,
sena_kun left
16:02
razetime joined
|
|||
jaguart | maybe an optional-dependency is like a recommends... | 16:05 | |
16:19
[Coke]_ joined
16:20
[Coke] left
16:27
jjido joined
|
|||
jaguart | Do folks here keep POD and README.md in sync? Do you use a tool? | 16:32 | |
lizmat | I use App::Mi6, which generates a README from the pod of a distribution | 16:39 | |
jaguart | Ah ha - thanks - here I am starting to use mi6 and updating the README.md by hand :0 | 16:40 | |
Nemokosch | How does mi6 work? I honestly couldn't really figure it out what it does and how | 16:41 | |
only noticed that it reformats META6.json some way which is annoying | |||
jaguart | lol - but then so does the META6 class - though I know that work is afoot to make this JSON prettier :) | 16:45 | |
Nemokosch | I don't know what the META6 class is | 16:52 | |
jdv | iirc its kinda like distzilla from the perl world | 16:56 | |
tellable6 | 2022-08-30T19:09:02Z #raku <melezhik> jdv  looks like you need to upgrade glibc to make blin work , you can borrow my code - github.com/melezhik/sparrow-plugin.../task.bash | ||
jdv | .tell melezhik i tried a few ways and no joy | 16:57 | |
tellable6 | jdv, I'll pass your message to melezhik | ||
16:59
Sgeo joined
17:07
razetime left
|
|||
Nemokosch | www.youtube.com/watch?v=b8bLIhN04eY I'm watching this video, maybe it helps things clear up | 17:21 | |
17:26
Heptite left
|
|||
ugexe | github.com/rakudo/rakudo/issues/4907 probably should block any release anyway | 17:28 | |
well, i guess we have a release with that issue anyway so i guess it doesnt technically have to block | 17:29 | ||
but still, a pretty big regression since e.g. debian packagers can no longer package new distros | |||
s/distros/distributions/ | |||
lizmat | somehow that one escaped my attention: I'll have a stab at fixing that tomorrow, unless someone beats me to it | 17:30 | |
17:34
frost left
|
|||
ugexe | doh i was wrong, you cant use an empty string dependency with `any` | 17:35 | |
"depends" : [ "NativeCall:ver<6.c+>", {"name" : { "by-distro.name" : { "" : "" } } } ] | 17:37 | ||
it would have to be like that | |||
"by-distro.name" -> $*DISTRO.name, which doesn't match any of the entries inside the block (in this case ""), which chooses an empty string dependency | 17:38 | ||
"depends" : [ "NativeCall:ver<6.c+>", {"name" : { "by-distro.name" : { "" : "Foo" } } } ] -- this would always install Foo for example | |||
because $*DISTRO.name will never == "" | 17:39 | ||
and you can use an empty sring for a dependency here because it might make sense to only install some dependency on Windows but not linux | |||
all that being said, its not intended/designed to be used for optional depends. it just happens to be able to work as such | 17:40 | ||
er, so to make an optional dependency that is never downloaded but shows up in depends | 17:46 | ||
{"name" : { "by-distro.name" : { "xxx" : "Optional::Dependency" } } } | |||
{"name" : { "by-distro.name" : { "xxx" : "Optional::Dependency", "":"" } } } | 17:48 | ||
Nemokosch | Thankfully mi6 itself seems to be maintained by mi6 | ||
17:48
epony left
|
|||
that's instantly one up-to-date example 😄 | 17:48 | ||
17:52
MoC left
|
|||
Kaiepi | notable6, gist.github.com/Kaiepi/3859a7a8032...9dd8300929 | 17:54 | |
notable6 | Kaiepi, I cannot recognize this command. See wiki for some examples: github.com/Raku/whateverable/wiki/Notable | ||
Kaiepi | notable6: weekly gist.github.com/Kaiepi/3859a7a8032...9dd8300929 | ||
notable6 | Kaiepi, Noted! (weekly) | ||
18:06
reportable6 left
18:07
bigdata joined
18:08
reportable6 joined
18:44
epony joined
19:19
ad-absurdum joined
|
|||
ad-absurdum | I just updated to moar-2022.07, built zef, and installed Linenoise using rakubrew. I got a testing failure which didn't make a lot of sense to me. These seem to be the relevant lines: | 19:26 | |
===> Testing: Win32::Registry:ver<0.0.6>:auth<zef:sdondley> | 19:27 | ||
[Win32::Registry] ===SORRY!=== Error while compiling /tmp/.zef/6d41b9c45ec18ae014e60587ea89c529f356c8f5.tar.gz/Win32-Registry-0.0.6/t/xt/Author-Tests.rakutest | |||
===> Testing [FAIL]: Win32::Registry:ver<0.0.6>:auth<zef:sdondley> | |||
Aborting due to test failure: Win32::Registry:ver<0.0.6>:auth<zef:sdondley> (use --force-test to override) | |||
I did $ zef install Linenoise --force-test, and this seemed to work. I am on Linux, and I don't know why Testing::Win32 would be needed, but am I missing something here? | 19:28 | ||
Oops, I meant, I don't know why Win32::Registry would be needed on my Linux system ;) | 19:31 | ||
19:31
sena_kun joined
|
|||
ugexe | because the author of that distribution listed it as a dependency | 19:32 | |
ad-absurdum | ugexe -- right, but is it needed for a Linux build? Is my build broken now? Is the installation process broken for Linenoise on Linux? | 19:35 | |
ugexe | if the code does `use Win32::Registry` then yes its still needed, if not then no | 19:36 | |
i dont see Win32::Registry listed as a dependency of Linenoise | 19:41 | ||
ad-absurdum | ugexe -- when I ran zef install Linenoise it searched for dependencies and appeared to find them all before testing commenced. The final dependency was Win32::Registry: | 19:45 | |
===> Searching for missing dependencies: Win32::Registry | |||
===> Building [OK] for Linenoise:ver<0.1.2>:auth<zef:raku-community-modules> | |||
===> Testing: Win32::Registry:ver<0.0.6>:auth<zef:sdondley> | |||
[Win32::Registry] ===SORRY!=== Error while compiling /tmp/.zef/6d41b9c45ec18ae014e60587ea89 | |||
19:52
jjido left
|
|||
ugexe | thats weird | 19:52 | |
can you post the full output with `--debug` | |||
ah the repo github.com/raku-community-modules/...META6.json isnt the same one on fez | 19:57 | ||
ad-absurdum | ugexe -- I can; I was thinking about opening a Github issue at raku-community-modules/Linenoise, or would it be better to open at ugexe/zef? Or would it be better just to post a link to output here? | ||
ugexe | zef depends Linenoise --debug indeed shows it as a depends | ||
it would be a linenoise issue, but i dont know where the repo is | |||
ad-absurdum | ugexe -- you think that the issue originates at antirez/linenoise? | 20:00 | |
ugexe | i see | ||
it depends on LibraryMake, which depends on Shell::Command, which depends on File::Which, which depends on Win32::Registry | 20:01 | ||
so you should open an issue on File::Which and tell them to declare a windows-only dependency like github.com/ugexe/zef/blob/main/t/d...st#L19-L29 | 20:02 | ||
`"depends" : [ {"name" : { "by-distro.name" : { "win32" : "Win32::Registry", "" : "" } } } ]` should probably look like that | 20:04 | ||
ad-absurdum | ugexe -- My Raku is remedial at best; to me it is an interesting language that I check in on from time to time. There was a merged pull request a couple of days ago that looks like it may be the culprit: github.com/azawawi/perl6-file-whic...f3d6fb6ae7 | 20:13 | |
I'm not confident enough to try to create a new pull request on this, but if this looks like the issue I'll raise an issue there. | 20:14 | ||
ugexe | id make an issue on File::Which suggesting that Win32::Registry not be installed on non-windows systems, and then paste my example above | 20:20 | |
ad-absurdum | ugexe -- It looks like someone opened an issue yesterday about this, but there wasn't much detail. I added a comment to that issue rather than raising a new one: github.com/azawawi/perl6-file-which/issues/21 | 20:31 | |
Thanks for all of the help tracking this down ;) | |||
ugexe -- Let me just add that one of the things that I have always liked about Raku is the community which has been built around it; keep fighting the good fight | 20:50 | ||
20:52
linkable6 left,
evalable6 left
20:53
evalable6 joined,
linkable6 joined
|
|||
ugexe | github.com/azawawi/perl6-file-which/pull/22 should fix it | 21:22 | |
21:34
ad-absurdum left
21:40
sena_kun left
21:44
abraxxa-home left
22:01
habere-et-disper joined
|
|||
habere-et-disper | The documentation say we can make multi-line comments using "Only the paired characters (), {}, [], and <> are valid for bounding comment blocks." | 22:04 | |
It appears we can use 「」 as well? | |||
m: #`ï½¢ Comment ï½£ | |||
camelia | ( no output ) | ||
22:06
guifa left
22:07
guifa joined
22:12
habere-et-disper left
22:23
TieUpYourCamel left
22:27
Heptite joined
22:34
TieUpYourCamel joined
22:37
lichtkind left
23:11
[Coke] joined
|
|||
[Coke] | ugexe: thanks for the optional path - I think it makes sense to leave it off for now and make it obvious to the user they have to install it if they want the functionality it would provide. | 23:13 | |
ugexe: also, thanks for the Zef::Client suggestion, incorporated in 0.9.1 of zef-deps | |||
23:13
[Coke]_ left,
lichtkind joined
23:21
human_blip left
23:22
human_blip joined
23:30
lichtkind left
23:37
bigdata left
|