🦋 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.
[Coke] github.com/Raku/doc/issues/2637 - are PERL6_TEST_TIMES and PERL6_TEST_DIE_ON_FAIL specced? I see they are *used* in roast, but not actually specced, it looks like. 00:02
Geth ¦ doc: coke self-assigned Too many :skip-tests github.com/Raku/doc/issues/2738
00:05 deoac joined 00:07 reportable6 left 00:08 reportable6 joined 00:16 Kaipei is now known as Kaiepi
[Coke] m: my ($x, $y) = 42, 42.1; say $x =~= $y :tolerance(.1); 00:17
camelia ===SORRY!=== Error while compiling <tmp>
You can't adverb &infix:<=~=>
at <tmp>:1
------> = 42, 42.1; say $x =~= $y :tolerance(.1)⏏;
[Coke] ^^ the docs say this should work and is a bug and point to an RT that isn't duplicated in github 00:18
ok, it's not specced. removing it. 00:20
gfldex =~= wasn't even part of the Synopses. 00:22
00:35 masukomi left
Geth doc/master: 7 commits pushed by Coke++ 00:41
doc: coke assigned to Altai-man Issue Create a deployable version of the doc infrastructure github.com/Raku/doc/issues/2756
127a7016a6 | Coke++ | doc/Language/compilation.pod6

minimum to close #3388
00:47
linkable6 Link: docs.raku.org/language/compilation
01:20 linkable6 left 01:22 linkable6 joined 01:29 frost joined
Geth doc: coke self-assigned Documentation of Supply.split|comb github.com/Raku/doc/issues/3162
e2e6e179b5 | Coke++ | 262 files

Add xt/ test to stop them from recurring
Closes #3058
01:31
[Coke] .tell nemokosch github.com/Raku/doc/issues/711 might be of interest to you 01:40
tellable6 [Coke], I'll pass your message to Nemokosch
[Coke] .tell sena_kun assigned some tickets to you in raku/doc because I think they'll go away post-new-site 02:04
tellable6 [Coke], I'll pass your message to sena_kun
02:20 linkable6 left
tonyo rip 02:20
02:20 linkable6 joined
[Coke] That was a long time coming. 02:23
[Coke] wonders if there any MTGA players here other than the one he already knows about.
tonyo chances are good 02:24
[Coke] ... "if so, ping me."
friend me on arena. :)
02:37 frost left 03:02 epony left 03:03 epony joined 03:23 razetime joined 03:41 derpydoo left 03:48 deoac left 03:58 Kaiepi left 04:00 Sauvin left 04:06 Sauvin joined 04:29 bigdata joined
perryprog noooo vim lines?! :( 04:43
I'm all for emacs, but I sometimes check things in vim! (And I think my evil mode checks vim lines? Maybe? I dunno to be honest.)
05:29 linkable6 left, evalable6 left 05:30 linkable6 joined, evalable6 joined 06:06 reportable6 left 06:07 reportable6 joined 06:55 Kaiepi joined 06:59 Guest61 left 07:19 mykhal left 07:25 Sgeo left 07:29 abraxxa joined 07:35 sortiz joined 07:36 abraxxa left, abraxxa joined 07:52 mykhal joined
Nemokosch docs.raku.org/language/glossary#iffy 08:09
> made via the use keyword
???
08:10 Nemokosch joined
Nemokosch m: say 'TEST' 08:12
camelia TEST
tellable6 2022-11-15T10:21:48Z #raku <SmokeMachine> Nemokosch: if it's a bug, it's an old one...
2022-11-15T10:22:12Z #raku <lizmat> Nemokosch: please don't pass judgement too easily :-)
2022-11-15T10:24:00Z #raku <lizmat> Nemokosch: you'd be surprised how much of the interwebs is held together by horrible anomalies
2022-11-15T12:02:19Z #raku <guifa> Nemokosch: yes. a syntax designed exclusively for binary stuff (so it'll match against blobs, rather than strings)
2022-11-16T01:40:23Z #raku <[Coke]> nemokosch github.com/Raku/doc/issues/711 might be of interest to you
Nemokosch to be expected lol
.title dpk.io/yoleaux 08:14
dpk moin
Nemokosch hi :DD
dpk fails to find the context
yoleaux hasn’t been here for years and years 08:15
Nemokosch long story utterly short: is the yoleaux bot no more?
dpk yeah, i took it down in like 2019 or something 08:16
and AlexDaniel created a clone of the most commonly used (here) functionality, .tell, and imported the database into tellable6
if it’s still mentioned in any documentation for this channel it should definitely be removed 08:17
Nemokosch gotcha
08:17 mykhal left
Nemokosch thank you 08:17
08:22 razetime left 08:28 Kaiepi left 08:40 mykhal joined 08:43 razetime joined 09:10 sena_kun joined 09:19 dakkar joined 09:24 jjido joined 09:28 Nemokosch left
sortiz m: class C { method ACCEPTS(\t) { (t %% 2 ?? "acepted" !! "notAccepted") but role :: { method Bool() { self }} } }; say $_ ~~ C.new for 1..3 # SmokeMachine 10:18
camelia notAccepted
acepted
notAccepted
tellable6 2022-11-11T21:17:30Z #raku-dev <vrurg> sortiz I don't expect to be available for that task soon. You could pick it up if you want.
SmokeMachine sortiz: thanks! Makes sense 10:20
10:20 jjido left
sortiz I think that forced "boolification" is against the original intention in S03 10:22
But imposed by a) the current definition of infix:<~~> in Mu and b) The current prohibition of add more multis outside core 10:25
10:30 Kaiepi joined 10:33 frost joined 10:34 razetime left 11:00 razetime joined
Nemokosch sortiz re .= one thing is sure: somebody could have saved us a lot of confusion if the specs either covered tests for more corner cases or were phrased in a clearer way 11:00
sortiz Nemokosch: Yes, I agree completely. 11:05
tellable6 sortiz, I'll pass your message to Nemokosch
11:06 frost left
Voldenet I wonder if… 11:07
m: my \uc2 = *.uc; "whatever" .&uc2
camelia ===SORRY!=== Error while compiling <tmp>
Malformed postfix call (only basic method calls that exclusively use a dot can be detached)
at <tmp>:1
------> my \uc2 = *.uc; "whatever" .⏏&uc2
Voldenet Yeah, still incorrect.
11:09 frost joined
Nemokosch 😂 Voldenet: I wonder if I opened an issue for the extreme version of that, I have written it down... 11:20
11:20 sena_kun left, Nemokosch joined
Nemokosch . 11:20
tellable6 2022-11-16T11:05:04Z #raku <sortiz> Nemokosch: Yes, I agree completely.
11:21 sena_kun joined
Nemokosch seems like I didn't 11:21
Nemokosch even the "old design docs" linked by nine were kinda foggy about `.=`, I'd say they were only mentioned as a reminder for Perl 5 folks but... 11:22
Vvoldenet: here goes the airplane
m: 'asd' .comb.&dd
camelia ===SORRY!=== Error while compiling <tmp>
Malformed postfix call
at <tmp>:1
------> 'asd' .comb.⏏&dd
Nemokosch yes... the spaces in front of .comb made .&dd detached, lol 11:23
I think this is wrong whether or not whitespace is allowed in front of .& 11:24
that whitespace is not in front of .&
sortiz m: 'asd'\ .comb.&dd # ;-) 11:26
camelia ("a", "s", "d").Seq
11:28 jjido joined
Nemokosch you'd almost think once that 11:28
m: 'asd' .comb 11:29
camelia ( no output )
Nemokosch works, you'd be good to chain on it
11:34 Nemokosch left
Nemokosch not only can two wrong result into a right but apparently two rights can also result into a wrong 😛 11:35
sortiz m: ('asd' .comb).&dd # Works too, have you thought about the reason for these apparently absurd restrictions? 11:44
camelia ("a", "s", "d").Seq
Nemokosch Depends on what we mean by "reason". If we mean language syntax reason, I don't think there is one. If we mean actual parsing reason, I suppose the whitespace split is reflected in the syntax tree, despite "not mattering", and therefore `.comb.&dd` ends up as an unexpected monolith 11:56
I haven't checked but I suppose in your last demo, a <paren>'.&'<sub name> kind of rule triggers, while in my demo, a <term>(\s+)<method-call> kind of rule triggers, and the ".&dd" part breaks the expectation of the "right handside" 12:00
I'm thinking if there can ever be a legitimate reason for parens to influence evaluation around an expression that should be evaluated first... it's hard to even phrase this criterion accurately 12:02
probably the parens could disambiguate in some situation (mind you, here that's not the case, there is no ambiguity on a language level) 12:03
12:07 reportable6 left, Nemokosch joined
Nemokosch wonders whether he has heard of development that makes it possible to emit syntax trees from Raku source code 12:09
sortiz Think in "foo <op> bar" where foo and bar can e arbitrary expressions. Is <op> an infix, postfix of foo or prefix of bar?
Nemokosch :)
12:09 reportable6 joined
Nemokosch sorry, let me cut this short. Do you think `'asd' .comb.&dd` is ambiguous or not? 12:10
there was the decision to allow whitespace in front of method calls, that's a given 12:11
12:15 Nemokosch left
sortiz No, but the "one-pass" parser can't "see" more than one token at a time. 12:16
tbrowder i need graphicsmagick installed to test a new module on deck. does anyone have a test.yml file that can do that for windows or macos? 12:18
Nemokosch First, I think that "no" should settle it. Second, I can't see how ".&dd" should have any effect on this, once "'asd' .comb" is okay, and this goes even more so for a "one-pass parser". How can ".&dd" retrospectively mess up the already valid and supposedly separate parts "'asd' .comb" parse to? 12:21
The expectation regarding the parsing is really easy to express and it's not obvious where it diverges from what actually happens: the resulting syntax tree of `'asd' .comb.&dd` should contain the resulting syntax tree of `'asd' .comb` 12:25
12:44 frost left
sortiz Let's take a step back: What syntax tree builds a simple `.++` 12:44
12:51 jjido left
Nemokosch You know... what really irks me is that I feel that you don't say anything, but you achieve that with the most words possible. This makes me less willing to engage in a sort of "parsing workshop". If you can pinpoint the particular problem with `'asd' .comb.&dd` (given the premises that `'asd' .comb` and `foo.&dd` both work) and either a possible fix or a reasoning why it cannot be fixed, please do that first. 12:51
That way I would know we are going to the right direction. Especially since the "unfixing" of S///, I'm wary of lengthy technical presentations when they aren't concerned with the very issue targeted 12:55
Voldenet > 'asd'\ .comb.&dd 12:57
that's some amazing code, ngl
i wouldn't even consider this syntax legal
Nemokosch "become a gansta - use Raku today!" 🙂 12:59
Voldenet Eh, those criminal scoundrels violating laws of common sense 13:00
Nemokosch This reminds me: I have been semi-seriously thinking if I could contribute to the advent calendar with an article... but I think I could really only write about some "bad news", more so than Leon's presentation at the conference. And I definitely don't think the advent calendar is a place for "bad news". 13:03
Also, by saying this I'm not implying that there aren't "good news", I just don't think I'm the right person to write about them, for example because I don't know enough about them. 🤷‍♂️ 13:06
13:23 razetime left 13:32 derpydoo joined 13:37 razetime joined
Anton Antonov <@297037173541175296> You can title your article "Bad Santa" or the "The Raku sock of coal". 13:46
Nemokosch xD
13:54 sortiz left 14:09 bigdata left
Voldenet Actually, bugs and shortcomings of the language are useful kinds of article 14:10
if you throw in some useful related things it could even work for advent calendar 14:12
14:21 frost joined
Nemokosch 1. I still don't think it goes well with the perceived concept of these advent calendars 2. the problem often is that there is no consensus or resolution on the way 14:23
Anton Antonov <@297037173541175296> I think if you make it lighthearted, clever, and "offensive" it will accepted and / or read by many. 14:28
I would suggest to write that article regardless. Then think about "adventizing" it. 14:29
[Coke] our advent calendar has always been a loose collection of articles, rather than a coherent story leading up to the last article, and I'm OK with that. (This I think underscores the size of the community - I'm happy to see that number of articles, regardless of continuity) 14:31
Nemokosch Mind you, it's not like I have a concrete article in mind and it's only a matter of writing it down and publish it
Much more like "hmm, what do we have here..." and I could only think of "issues" in the broader sense. 14:32
Anton Antonov <@297037173541175296> You list a typical reason to start writing -- to make sense of what are the message(s) to you want share. 14:34
<@297037173541175296> You list a typical reason to start writing -- to make sense of what are the message(s) to you want to share.
15:01 xinming left 15:02 xinming joined 15:03 deoac joined 15:04 razetime left
[Coke] might end up with something you can post yourself outside of the advent blog. 15:08
15:13 razetime joined 15:23 frost left 15:30 Sgeo joined 15:48 Xliff joined
Xliff \o 15:50
tellable6 2022-11-14T15:00:10Z #raku-dev <nine> Xliff: do you even know that mmapping precomp files takes any noticable time?
Xliff Is there any easy way to get the attribute object by referencing the attribute? 15:51
Lexicals have .VAR. Wondering if there was something like that for attributes. 15:52
Geth Raku-Steering-Council/Add-new-spaces: f522acf17a | (Daniel Sockwell)++ (committed using GitHub Web editor) | papers/Raku_Code_of_Conduct.md
Explicitly list newly created digital spaces

This adds three newly created Raku digital spaces (dev.to, YouTube, & Mastodon) to the explicit list of covered spaces. This change is non-substantive: these spaces were already covered by the "any other digital spaces Raku may establish" clause. But it's good to be explicit.
16:13
Raku-Steering-Council/main: f522acf17a | (Daniel Sockwell)++ (committed using GitHub Web editor) | papers/Raku_Code_of_Conduct.md
Explicitly list newly created digital spaces

This adds three newly created Raku digital spaces (dev.to, YouTube, & Mastodon) to the explicit list of covered spaces. This change is non-substantive: these spaces were already covered by the "any other digital spaces Raku may establish" clause. But it's good to be explicit.
16:16
Raku-Steering-Council/main: d24ebfca36 | (Daniel Sockwell)++ (committed using GitHub Web editor) | papers/Raku_Code_of_Conduct.md
Merge pull request #54 from Raku/Add-new-spaces

Explicitly list newly created digital spaces
16:48 linkable6 left, evalable6 left 16:50 evalable6 joined 16:51 linkable6 joined 17:36 dakkar left
El_Che the CoC thread went nuclear pretty fast, good I don't read github issues real time 17:59
17:59 abraxxa left
Nemokosch Well, you might have an idea what it was like "real time" when it came up on the irc... 18:04
18:07 reportable6 left, reportable6 joined
Voldenet imo it's pointless to comment on any codes and rules, because whatever it is, the ruling group will always enforce their own beliefs 18:09
Nemokosch Well that's also a fair approach 18:11
El_Che I am not commenting on the issue itself, but how fast it was derailed
(mind you, I do have a background in history and I find it fascinating, nevertheless... :) 18:13
Anton Antonov @EL_Che Duly noted.
El_Che also note, that I am not blaiming or contradiction anyone on the extended discussion, just looking it Vulcan-wise from afar 18:15
*contradicting
Nemokosch I think it was a lot like the related IRC discussion but proportionally more content and slower messages (it's kinda like a forum, after all) 18:17
Anton Antonov I am curious what that discussion is now... I will read some during my break...
El_Che github.com/Raku/Raku-Steering-Council/issues/48 18:18
18:18 razetime left 18:25 TieUpYourCamel left
Nemokosch I didn't want to be reminded of that... 18:33
18:35 jjido joined
El_Che Nemokosch: I didn't pay attention who participated 18:36
tellable6 El_Che, I'll pass your message to Nemokosch
Nemokosch Well, I opened that issue so... you might say I participated 18:37
18:39 Guest56 joined
[Coke] anyone have feedback on github.com/coke/raku-zef-deps/issues/8? Does that JSON format look useful? 18:41
... I will add sample output, oops 18:42
18:46 El_Che left 18:47 El_Che joined 18:48 euandreh2 joined, euandreh left, euandreh2 is now known as euandreh
Nemokosch I'm still not quite sure how these ecosystem tracer modules relate to each other. There is something `ecosystem` does, something zef can do by itself, and now there is also this module. Also, I suppose raku.land also models these relations some way 18:49
18:49 euandreh left
ugexe my @command = <<$*EXECUTABLE -Ilib bin/zef-deps --json>>; 18:58
thats not a good test
instead test e.g. App::Zef-Deps::MAIN-handler(..., :json) 18:59
Anton Antonov @ugexe Good to know! 19:00
ugexe one should almost never use `run` in a test though, especially if it requires passing the dependencies path (i.e. -Ilib) 19:01
since you dont know if a) the user is running from the parent of lib b) if the user wants to test against the installed version instead of whats in lib/ (i.e. test if what was just installed also passes tests)
Anton Antonov @Coke I tried to verify your implementation using `zef install github.com/coke/raku-zef-deps.git` after I installed the previous version of zef-deps and I did not get the result in JSON format. 19:04
@Coke I tried to verify your implementation using `zef install github.com/coke/raku-zef-deps.git` after I installed the previous version of zef-deps and I did not get the result in JSON format. 19:05
@Coke Installing with `zef install github.com/coke/raku-zef-deps.git` on a different computer, which did not have zef-deps and using, say, `zef-deps --json ML::Clustering` produced JSON output. 19:06
19:17 Guest56 left
[Coke] as noted on the ticket, haven't released it yet 19:17
ah, installing from git should work. weird
zef normally does this in the context of installing 19:18
this is using zef guts do to this one bit
ugexe... good point. it's close enough 19:19
19:23 euandreh joined
[Coke] ... ugh. it means I also need to conver from say'ing output as I go (or else trap STDOUT) 19:35
I did move all the arg handling into the lib, though, so this should be easy.
19:42 TieUpYourCamel joined 19:47 leont left 19:51 jgaz joined 19:52 leont joined
Xliff Is there any easy way to get the attribute object by referencing the attribute? 20:07
Lexicals have .VAR. Wondering if there was something like that for attributes.
Anton Antonov @Coke Can you make also "an internal" function for the dependencies found by "zef-deps". (Which I think you kind of did with `MAIN-handler`.) My way to test the JSON output is to make dependencies prefix- or suffix trees. Maybe, also, UML diagrams. 20:19
[Coke] something to be called from the libs? I would be OK renaming the exported subs, I guess. 20:41
for that to make sense, they really need to return the output instead of printing it to stdout. 20:42
can you open an issue for that?
(Anton) 20:44
20:47 sena_kun left 20:48 sena_kun joined
tonyo m: class A { has $!x; }; dd A.^attributes #Xliff 20:48
camelia (Attribute.new,)
tonyo m: class A { has $!x; }; say A.^attributes #Xliff 20:49
camelia (Mu $!x)
tonyo .seen guifa
tellable6 tonyo, I saw guifa 2022-11-15T12:30:01Z in #raku: <guifa> okay time for $day-job
Anton Antonov @Coke Yes, I will do that after work. 20:58
21:05 nicole left 21:07 nicole joined
[Coke] thanks 21:26
21:27 epony left 22:00 jgaz left
Nemokosch *clickbaits* github.com/Raku/problem-solving/issues/351 22:08
it would be nice to get people care a little bit 🥺 22:09
Xliff tonyo: Ah, yeah. Thanks for that. Knew about .^attributes. Was hoping to use something directly attached to the attribute itself in case it got passed around. 22:13
Something like: "my $attr := $!b" and still pull $!b's attribute from $attr via an accessor method.
Kinda like .VAR for lexicals. 22:14
m: class A { has $!x; method a { my $c := $!x; b($c) }; method b ($v) { $v.VAR.name.say }; }; A.new.a; 22:15
camelia ===SORRY!=== Error while compiling <tmp>
Undeclared routine:
b used at line 1
Xliff m: class A { has $!x; method a { my $c := $!x; self.b($c) }; method b ($v) { $v.VAR.name.say }; }; A.new.a;
camelia Nil
Xliff m: class A { has $!x; method a { my $c := $!x; self.b($c) }; method b (\v) { v.VAR.name.say }; }; A.new.a;
camelia $!x
Xliff See, now I would have to do an O(N) lookup against .^attributes for $!x. 8-) 22:16
22:44 sena_kun left 23:05 habere-et-disper joined 23:06 stoned75 joined 23:07 stoned75 left
tonyo why not just: 23:31
m: class A { has $!x; has $!y; }; A.^attributes.map(*.name).say;
camelia ($!x $!y)
tonyo what are you trying to get at eventually? 23:32
or do with the information without once going through the list of attributes?
23:52 justache is now known as justGrit