🦋 Welcome to the MAIN() IRC channel of the Raku Programming Language (raku.org). This channel is logged for the purpose of keeping a history about its development | evalbot usage: 'm: say 3;' or /msg camelia m: ... | Log inspection is getting closer to beta. If you're a beginner, you can also check out the #raku-beginner channel! Set by lizmat on 25 August 2021. |
|||
00:07
reportable6 left
00:09
reportable6 joined
|
|||
thowe | Well, yeah, that's what I was thinking. Will the version denoted be something newer versions will/should be able to understand and execute, or will is the thinking that there will be warnings? | 00:17 | |
00:19
swaggboi joined
|
|||
guifa | yes, the idea is that upon encountering use v.6.c, the interpretation will switch to 6.c mechanics | 00:28 | |
I know there was some issue a while back with changes to one where if you created the "same" core class under 6.c and 6.e guarded code, but I forget the exact details and I think vrurg mostly solved it all | 00:30 | ||
00:33
Skarsnik left
00:44
frost joined,
frost left
01:06
jgaz left
01:40
Colt left
01:41
Colt joined
|
|||
vrurg | The biggest userland problem with 6.e is about roles which are incompatible with 6.c/d classes. Basically it means 'use v6.e; my $v = 42 but role { ... }' is an error now. This restriction can be lifted as the incompatibility is in handling of submethods only, but I would need to get back to it someday later. | 01:58 | |
guifa | vrurg: ah okay. i knew it was something there but didn't want to misidentify the issue | ||
02:12
ggoebel left,
ggoebel joined
|
|||
kybr | is zef just really slow? should i be using zef or is there a different thing now? | 02:42 | |
02:49
japhb joined
|
|||
moon-child | kybr: as far as I know, yes | 02:52 | |
03:00
ggoebel left
03:02
nine left,
nine joined
|
|||
vrurg | kybr: most likely it is not zef itself, but tests which are taking most of the installation time. | 03:54 | |
04:02
linkable6 left,
evalable6 left
|
|||
Xliff | \w | 04:49 | |
What's the best way to rotate an array? So if I have (0...5) and I rotate it 2 steps, I get (2, 3, 4, 5, 0, 1) | |||
moon-child | m: say (0...5).rotate(2) | 04:50 | |
camelia | (2 3 4 5 0 1) | ||
moon-child | Xliff: like that? | ||
Xliff | Oh! LOLOL!! | 04:51 | |
moon-child++ | |||
moon-child | :) | 04:52 | |
guifa | grr | 05:01 | |
"Missing serialize REPR function for REPR MVMContext (BOOTContext)" | |||
05:03
evalable6 joined,
linkable6 joined
|
|||
guifa | seems to be caused by a shaped array | 05:24 | |
(in situations where module A uses module B, and module B has a shaped array in it) | 05:39 | ||
Xliff | github.com/Xliff/p6-GDA/commit/351...c4d7c9ba60 # Thanks, everyone! | 05:40 | |
05:47
frost joined
05:54
qorg11 left
06:06
qorg11 joined
06:08
reportable6 left
06:10
reportable6 joined
06:17
solitario left,
solitario joined
07:16
Colt left,
Colt joined
07:26
synthmeat joined
07:29
seednode left
07:30
seednode joined
08:13
solitario left,
solitario joined
08:17
holyghost joined
08:39
TheAthlete joined
|
|||
holyghost | Hi TheAthlete | 08:40 | |
TheAthlete | Hello! | 08:43 | |
08:54
Sgeo left
08:57
Skarsnik joined
|
|||
Voldenet | m: my @a; %a.push({ :b(1) :c(2) }); %a.push(%( :b(3) :c(4) )); say %a | 09:34 | |
camelia | ===SORRY!=== Error while compiling <tmp> Variable '%a' is not declared. Did you mean '@a'? at <tmp>:1 ------> my @a; ⏏%a.push({ :b(1) :c(2) }); %a.push(%( :b( |
09:35 | |
Voldenet | m: my @a; @a.push({ :b(1) :c(2) }); @a.push(%( :b(3) :c(4) )); say @a | ||
camelia | [{b => 1, c => 2} {b => 3}] | ||
Voldenet | m: my @a; @a.push({ :b(1) :c(2) }); @a.push(%( :b(3), :c(4) )); say @a | ||
camelia | [{b => 1, c => 2} {b => 3, c => 4}] | ||
Voldenet | this behaviour is a little surprising | ||
moon-child | yeah, that definitely seems wrong to me | 09:36 | |
nothing to do with arrays fwiw | 09:37 | ||
Voldenet | m: my @a; @a.push({ :b(1) :c(2) }); @a.push(%( :b(3) :c(4) )); @a.push(( :b(5) :c(6) )); say @a | ||
camelia | [{b => 1, c => 2} {b => 3} (b => 5 c => 6)] | ||
moon-child | m: say %( :3b :4c ) | ||
camelia | {b => 3} | ||
moon-child | the :4c should definitely not be silently dropped | ||
Voldenet | especially puzzling: | 09:40 | |
m: my $l = (:2b :3c); say %$l | |||
camelia | {b => 2, c => 3} | ||
SmokeMachine | m: my @a; my %b = :3b, :4c; @a.push({ :b(1) :c(2) }); @a.push(%b); say @a | 09:54 | |
camelia | [{b => 1, c => 2} {b => 3, c => 4}] | ||
SmokeMachine | m: my @a; @a.push({ :b(1) :c(2) }); @a.push(% = :b(3) :c(4) ); say @a | ||
camelia | [{b => 1, c => 2} {b => 3}] | ||
SmokeMachine | m: my @a; @a.push({ :b(1) :c(2) }); @a.push(% = (:b(3) :c(4)) ); say @a | ||
camelia | [{b => 1, c => 2} {b => 3, c => 4}] | ||
SmokeMachine | m: my @a; @a.push({ :b(1) :c(2) }); @a.push(( :b(3) :c(4) ).Hash); say @a | 09:55 | |
camelia | [{b => 1, c => 2} {b => 3, c => 4}] | ||
SmokeMachine | odd | ||
m: my @a; @a.push({ :b(1) :c(2) }); @a.push(%( :b(3), :c(4) )); say @a | 09:56 | ||
camelia | [{b => 1, c => 2} {b => 3, c => 4}] | ||
SmokeMachine | the comma! | ||
moon-child | yes | 09:57 | |
SmokeMachine | m: say %(:1a :2b); say %(:1a, :2b) | ||
camelia | {a => 1} {a => 1, b => 2} |
||
09:57
linkable6 left,
evalable6 left
|
|||
SmokeMachine | m: say %(:1a :2b :3c :4d); | 09:57 | |
camelia | {a => 1} | ||
moon-child | m: say %(:1a 2b, :3c :4d) | 09:58 | |
camelia | ===SORRY!=== Error while compiling <tmp> Two terms in a row at <tmp>:1 ------> say %(:1a⏏ 2b, :3c :4d) expecting any of: infix infix stopper statement end statement modifier … |
||
10:00
archenoth joined
10:03
Oshawott left
10:29
ggoebel joined
10:32
dakkar joined
|
|||
dakkar | TIL: List instances are not value objects | 10:48 | |
so trying to use lists as keys for a map / hash won't work | |||
lizmat | yeah, sadly so | ||
raku.land/zef:lizmat/Tuple | 10:49 | ||
dakkar | (in addition to the slightly surprising bit where `%hash{@thing}` is interpreted as something like `@thing.map: $hash{$_}`) | 10:50 | |
lizmat | that's just a slice ? | ||
coming from Perl it may be a WAT :-) but that's just Stockholm Syndrome :-) | |||
dakkar | yes, I (now) know | ||
lizmat | the general rule in Raku is that anything between { } is code | 10:51 | |
dakkar | if I want to avoid the slice, I have to pass the list via a scalar container (which still doesn't do what I need because lists aren't values) | 10:52 | |
lizmat | indeed | ||
$@thing | |||
@thing.item # more verbose | |||
dakkar | I keep getting surprised by sensible-in-retrospect choices ☺ | ||
www.thenautilus.net/cgit/media-control/tree/ this is the thing I'm making | 10:54 | ||
it's a (very minimal, very insecure) web ui to lirc + vlc, to control my "home theatre" | |||
10:58
linkable6 joined
|
|||
lizmat | nice! one of my longer term projects is to get rid of Apple TV and replace it with a Raspberry Pi with a Raku app on it | 10:58 | |
where would you be running this ? | 10:59 | ||
10:59
evalable6 joined
|
|||
dakkar | it's running on a microITX fanless pc | 11:04 | |
bit overpowered, maybe, but it makes sense to me ☺ | 11:05 | ||
lizmat | yeah... you gotta work with what you got... :-) | 11:06 | |
dakkar | (a user gets automatically logged in, its .bashrc starts X, which starts vlc) | ||
11:29
abraxxa joined,
abraxxa left
11:49
sena_kun left
11:50
sena_kun joined
12:07
dakkar left
12:08
reportable6 left,
reportable6 joined
|
|||
Geth | doc: 632dc9c197 | (Tom Browder)++ (committed using GitHub Web editor) | doc/Language/classtut.pod6 Change 'method' to 'sunmethod' for TWEAK |
12:39 | |
linkable6 | Link: docs.raku.org/language/classtut | ||
nine | [HTTP::Status] Testing with plugin: Zef::Service::TAP+{<anon|1>} | 12:47 | |
===> Testing [FAIL]: HTTP::Status:ver<0.0.3>:auth<zef:lizmat> | |||
Aborting due to test failure: HTTP::Status:ver<0.0.3>:auth<zef:lizmat> (use --force-test to override) | |||
Is there any way to get more output from zef here? Like the actual test output | |||
lizmat | ugexe ^^ | 12:53 | |
this is why I use my custom test script: it is silent if all ok, but has all the goods (including --ll-exception stacktraces) if it goes wrong | |||
13:08
evalable6 left,
linkable6 left,
evalable6 joined
|
|||
Xliff | nine: Hmmm.... so only output something if a test fails and only output the failure messages or somesuch? | 13:13 | |
nine | Xliff: I'd be happy to see any output at all. Currently on this machine all tests fail with no indication of why. | 13:16 | |
lizmat | gist.github.com/lizmat/a860b3364b6...1e59186394 # typical ok output | ||
gist.github.com/lizmat/2f44864fa90...305de4ec68 # typical failure output | 13:17 | ||
(after adding a "die 'just to show'" statement at the end of the test file | 13:18 | ||
) | |||
sena_kun | jdv, o/ | 13:21 | |
releasable6, status | 13:22 | ||
releasable6 | sena_kun, Next release will happen when it's ready. There are no known blockers. 198 out of 198 commits logged | ||
sena_kun | Just wanted to ensure you know the ignored commits should be specified in the commit message during release. :) | 13:23 | |
13:45
mathias[m] left,
mathias[m] joined
13:53
discord-raku-bot left,
discord-raku-bot joined
14:11
linkable6 joined
14:14
getimiskon joined
14:23
frost left
14:42
monkey_ joined
|
|||
jdv | wut now? | 14:52 | |
sena_kun: oh, i had noticed that somewhere. whether i remember at the actual time, eh... | 14:53 | ||
sena_kun | jdv, like this: github.com/rakudo/rakudo/pull/4529...0267e1dccd | 14:54 | |
here is the PR: github.com/rakudo/rakudo/pull/4529 | |||
when I did it, a nice heuristic is to look at the previous release and monkey see, monkey do it, so the chance of forgetting something is less. | 14:55 | ||
jdv | that's what i've been doing. takes forever but whatever. | ||
there were only 8 ignored commits for you? | |||
14:56
holyghost left
14:58
Sgeo joined
|
|||
sena_kun | jdv, it varies from release to release. | 14:59 | |
more for the next one: github.com/rakudo/rakudo/pull/4585...3bc8ec13cd | |||
jdv | i forget - what it the purpose there? the list is already in the changelog. | 15:02 | |
sena_kun | jdv, AFAIK it is for releasable6 bot to know what commits from the past should not be prompted as "need to log those". It gives you list of commits that are not logged and on release you either have them directly in the changelog or in this form in a commit message. | 15:07 | |
see github.com/Raku/whateverable/blob/...p6#L42-L53 for the implementation | |||
El_Che | if there are no candidates to take over rakudo start, I would suggest making the project less visible (rakudo site) or archived (issues on github). 2c etc | 15:09 | |
lizmat | El_Che: PRs welcome: github.com/Raku/raku.org | 15:10 | |
El_Che | lizmat: no, this is not a technical discussion, but more of a political one, e.g. rsc | 15:11 | |
lizmat | A draft PR is a good source of discussion :-) | ||
MasterDuke | should we consider bundling zef in rakudo releases? | 15:12 | |
jdv | sena_kun: anyway - this is this release's list - gist.github.com/jdv/68a3ae15138eb7...d0053723af | ||
lizmat | MasterDuke: that is definitely an option, at least for me :-) | 15:13 | |
El_Che | MasterDuke: I include it in my packages bacause without it is "no batteries included and we won´t tell which ones you need" :) | ||
MasterDuke | yep, El_Che++ | ||
El_Che | it's less straight forward thant it sounds, though, raku going for the home install | 15:14 | |
lizmat | TIL El_Che's distributions have zef :-) | ||
sena_kun | jdv, looks alright to me. | 15:17 | |
jdv | i mean 93 is a lot more:) | 15:18 | |
cool | |||
i'm honestly not sure why the bot picked up a bunch of those but i didn't look why yet | 15:20 | ||
sena_kun | jdv, I think that's because we skipped 2021.11, so there was more time for people to do changes. | 15:21 | |
jdv | seems buggy as a bunch of the commits don't even exist in my repo or they aren't in master's ancestry | ||
maybe i'll peek later | |||
but, yeah the sheer volume is likely partly cause that | |||
MasterDuke | there was a force push at one point | 15:22 | |
maybe the bot needs a refreshed rakudo clone to work from | |||
lizmat | yeah, there was a force push :-( | 15:23 | |
MasterDuke | or something like `git reset --hard` | ||
jdv | i imagined it was some form of git shenanigan | 15:26 | |
s | |||
lizmat | the shenanigan was all of my making :-( | 15:28 | |
jdv | it made the changelog figuring a challenge:) | 15:38 | |
lizmat | sorry, should have remembered and mentioned it :-( | 15:39 | |
ugexe | nine: you can run --/prove. the prove plugin itself just needs someone to wire zefs --verbose flag up to it | ||
jdv | lizmat: oh there was no missing it, thanks | 15:41 | |
ugexe | nine: oh wait, thats using the TAP::Harness plugin. so `--/prove --/tap-harness` | 15:43 | |
the TAP::Harness plugin could use better integration | |||
15:48
ggoebel left
|
|||
El_Che | lizmat: github.com/rakudo/rakudo.org/pull/75 | 15:50 | |
15:52
mcmillhj joined
|
|||
jdv | for some reason i'm getting t/spec/S12-construction/destruction.t failures. anyone else see that. | 15:53 | |
lizmat | jdv: I've seen them occasionally | 15:54 | |
jdv | odd cause i didn't rebuild since last night - right on head and i swear it was fine | ||
ignoreable? | |||
MasterDuke | that's a flapper | 15:57 | |
mcmillhj | I am trying to update an Array with a response from a sub but it seems like an extra level of `[]` are being added. What's actually going on here so I can understand and avoid in the future: gist.github.com/mcmillhj/3ac9edc27...da89274c7e ? | 15:59 | |
tellable6 | 2021-12-22T17:43:55Z #raku <[Coke]> mcmillhj - it's the parens around ($should-continue, @buffer) - remove the parens and it works as you expect. | ||
2021-12-22T18:14:25Z #raku <SmokeMachine> mcmillhj it seems if you replace the List `()` with a signature `:()` and the `=` with a `:=` you get what you want: glot.io/snippets/g5eg08jvxz | |||
jdv | ok | ||
mcmillhj | SmokeMachine: I am confused as to why that works. What is the difference between the Signature and a normal Capture? | 16:03 | |
16:06
[Coke] left
|
|||
guifa | lizmat: data has been successfully pulled apart. Currently working on deciding the best way API to expose "determine-stuff-based-on-calendrical-inputs" and "determine-stuff-based-on-posix-time-stamp", but I should have that figured out by tonight and integrated back into DateTime::Timezones for your loggable profit. github.com/alabamenhu/TimezonesZoneInfo | 16:09 | |
lizmat | guifa++ | ||
guifa | also advantage of this: I can update the timezone data without needing to update the DateTime::Timezones module anymore (which is basically why I did the same thing with CLDR) | 16:10 | |
lizmat++ for putting the idea in my heda | |||
16:23
kjp left
16:24
monkey_ left,
holyghost joined
16:48
slowtype- joined,
slowtyper left
16:59
kjp joined
17:08
morte_ joined
17:29
mcmillhj left
17:50
mcmillhj joined,
mcmillhj left
18:00
ggoebel joined
18:07
reportable6 left
18:15
holyghost left,
holyghost joined
18:19
holyghost left
18:23
holyghost joined
18:52
holyghost left
18:54
holyghost joined
19:04
holyghost left
19:08
reportable6 joined
20:08
linkable6 left
20:10
linkable6 joined
20:17
holyghost joined
|
|||
Skarsnik | hm, how do I use a 'module' defined in the same file that has a name like 'Foo::MyModule'? | 20:22 | |
tonyo | Skarsnik: if it's already in scope then no need to `use` it | 20:24 | |
also, haven't seen your name in a long time | |||
Skarsnik | pff, obviously trying to insolate a segfault from a big projet into a single file make it not segfault >< | 20:28 | |
I still have one of the weird bug from this code | 20:30 | ||
my %h = (a => 1, b => 2, c => 3, d => 4); for %h.keys -> $k {say $k; if %h{$k} % 2 == 0 {%h<e> = 5; %h{$k}:delete}}. This can output 4 or 5 values | 20:45 | ||
I think it's because we insert and remove in the hash it has issue seeing a change in the hash? | 20:49 | ||
was there a bot to run some code x time? | 20:54 | ||
merryprog | m: say "yup" | 20:55 | |
camelia | yup | ||
merryprog | oh, multiple times | ||
Skarsnik | !help | ||
evalable6, help | |||
evalable6 | Skarsnik, Like this: evalable6: say ‘hello’; say ‘world’ # See wiki for more examples: github.com/Raku/whateverable/wiki/Evalable | ||
merryprog | That'd be github.com/Raku/whateverable/wiki/Benchable | ||
20:56
getimiskon left
|
|||
Skarsnik | m: my $cpt = 0; for 0..20 {my %h = (a => 1, b => 2, c => 3, d => 4); for %h.keys.sort -> $k {$cpt++; if %h{$k} % 2 == 0 {%h<e> = 5; %h{$k}:delete}}}; say $cpt | 21:01 | |
camelia | 84 | ||
Skarsnik | should be like 80 or 100 if this was stable I think | ||
err, need to remove the sort | 21:02 | ||
not even sure why it's always 84 with the sort | 21:03 | ||
oh because 0..20 is 21 loop | 21:04 | ||
SmokeMachine | m: my $cpt = 0; for 0..20 {my %h = (a => 1, b => 2, c => 3, d => 4); for %h.keys -> $k {$cpt++; if %h{$k} % 2 == 0 {%h<e> = 5; %h{$k}:delete}}}; say $cpt | 21:13 | |
camelia | 89 | ||
Skarsnik | m:my $cpt = 0; for ^20 {my %h = (a => 1, b => 2, c => 3, d => 4); for %h.keys -> $k {$cpt++; if %h{$k} % 2 == 0 {%h<e> = 5; %h{$k}:delete}}}; say $cpt | 21:14 | |
evalable6 | 86 | ||
Skarsnik | m:my $cpt = 0; for ^20 {my %h = (a => 1, b => 2, c => 3, d => 4); for %h.keys -> $k {$cpt++; if %h{$k} % 2 == 0 {%h<e> = 5; %h{$k}:delete}}}; say $cpt | ||
evalable6 | 87 | ||
Skarsnik | fun time... | ||
21:14
TheAthlete left
|
|||
Skarsnik | I will fill an issue x) | 21:14 | |
SmokeMachine | m: my %a = :1a, :2b, :3c; for %a.keys { .say; %a<a b c>:delete; say %a } | 21:15 | |
camelia | a {} b {} |
||
SmokeMachine | m: my %a = :1a, :2b, :3c; for %a.keys { .say; %a<d e f> = 1 xx *; say %a } | 21:17 | |
camelia | c {a => 1, b => 2, c => 3, d => 1, e => 1, f => 1} b {a => 1, b => 2, c => 3, d => 1, e => 1, f => 1} d {a => 1, b => 2, c => 3, d => 1, e => 1, f => 1} a {a => 1, b => 2, c => 3, d => 1, e => 1, f => 1} |
||
SmokeMachine | m: @a = ^10; for @a { .say; @a = () } | 21:19 | |
camelia | ===SORRY!=== Error while compiling <tmp> Variable '@a' is not declared at <tmp>:1 ------> <BOL>⏏@a = ^10; for @a { .say; @a = () } |
||
SmokeMachine | m: my @a = ^10; for @a { .say; @a = () } | ||
camelia | 0 1 2 3 4 5 6 7 8 9 |
||
SmokeMachine | m: my @a = ^10; for @a { .say; FIRST @a.push: 99 } | 21:20 | |
camelia | 0 1 2 3 4 5 6 7 8 9 99 |
||
Skarsnik | I think it's because I insert and delete something in the hash, so like the size stay the same | 21:21 | |
SmokeMachine | It seems to me deletion is not reflected in the iterative but addition is… what makes sense… | 21:24 | |
21:24
djerius left
21:26
djerius joined
21:31
monkey_ joined
21:46
morte_ left
21:47
morte_ joined
22:12
[Coke] joined
|
|||
[Coke] wonders why irssi didn't reconnect on its own | 22:12 | ||
new internet definitely seems to drop out more often. :| | 22:13 | ||
Geth | doc: 867454075b | Coke++ | doc/Language/classtut.pod6 Revert "Change 'method' to 'sunmethod' for TWEAK" This reverts commit 632dc9c1978fb8a98139bea8c00181f7f580aaa6. The new code doesn't compile, so this change needs rework. |
22:30 | |
linkable6 | Link: docs.raku.org/language/classtut | ||
22:39
Voldenet left
22:41
Xliff left
|
|||
[Coke] | tbrowder: ^^ the example test failed, and the code fails the same way when run against rakudo directly | 22:52 | |
22:55
morte_ left
|
|||
tbrowder | hm, did i originally contribute the code? shouldn’t TWEAK be a submethod? | 22:58 | |
ah, i think the rhs needs an ! vice . | 23:01 | ||
$! | |||
[Coke] | if it should or not, that was not quite the right solution. I figured this was the easiest way to push it back. :) | 23:04 | |
tbrowder | if it were my example i think i would have used a prefix ++ | 23:05 | |
i can probably fix it tomorrow. i’m surprised docs are being regenerated so soon | 23:06 | ||
Geth | doc: 49bf7a2718 | (Tom Browder)++ (committed using GitHub Web editor) | doc/Language/classtut.pod6 TWEAK is a submethod, use ! in twigid |
23:11 | |
linkable6 | Link: docs.raku.org/language/classtut | ||
23:12
Voldenet joined
|
|||
tbrowder | ok, i tweaked the TWEAK again ;-D | 23:12 | |
twigid, twigil, “whatever” my granddaughter would say | 23:14 | ||
well, shoot, the postfix ++ operator looks to be the intended one, but the prefix should work. i’ll change it back if the twigil change works | 23:19 | ||
[Coke] | "if it works" - you ran the test, right? | 23:24 | |
you can use TEST_FILES env var or pass in file names as a command line arg to an individual test. | |||
It fails. | |||
I'll let you revert or fix it; but you can run the test without me. "make xtest" does every test every file. if you have a local change, you can do 'TEST_FILES=doc/Language/classtut.pod6 make xtest' e.g. | 23:25 | ||
23:30
Skarsnik left
|
|||
[Coke] sends an email to various TPF folks about the selection of Houston for the conference and how that has negatively impacted his decision to attend this year. (If you do the same, please be kind). | 23:33 | ||
I'll let folks know if I hear anything back. (best I am hoping for at this point is a donation to a charity or something to compensate.) | 23:34 | ||
tbrowder | what’s the prob with houston? | 23:58 |