🦋 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 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 8 June 2022.
japhb Quibono: Sure, the more the merrier. Do note that it's a LOT of work to go from "the basics" to "can compete with Rakudo on MoarVM". But this is why the language is defined by its test suite -- if your compiler can pass the test suite, it compiles Raku. 00:01
Quibono Yeah that makes sense, like 1000 tests in the roasts?
Voldenet more backends is doable 00:02
Nemokosch . 07:01
tellable6 2022-07-22T23:16:22Z #raku <SmokeMachine> Nemokosch: I have done something that looks like that: github.com/FCO/MemoizedDOM/blob/ma...o/Todo.pm6
2022-07-23T11:11:01Z #raku <lizmat> Nemokosch: github.com/lizmat/HTML-Entities-Fast on its way to the ecosystem
Nemokosch Okay okay, thank you. I'm gonna check it out soon. First I want to profile HTML::Tag without the entity encoding because yes... that's still too slow 07:03
Nemokosch öööh 07:11
is join meant to be slow?
I rendered a 4 column, 3 row table, the whole program ran for 180 milliseconds with the profiling 07:15
90 of which belongs to one single join call, apparently
yeah no, this is bullshit; hypering has a high initial cost that kills the benchmark 07:24
actually you might have even pointed this out in a way, now that I think of it 07:25
I don't know who to reach out to with the MoarVM profiler HTML but it would be really-really desirable to properly handle the history with JS 08:06
it's quite tough to return
Kaiepi the profiler js has a habit of printing massive numbers for no obvious reason and grinding my browser to a halt at times 08:14
Nemokosch true 08:17
but the biggest problem is that I'm yet to find out how to get anything useful from it
Kaiepi i'm on this whole MOP tangent from my networking work out of readings i got from the profiler when benchmarking a prototype of some packet abstractions 08:18
it was spending a weirdly long amount of time in routines originating from there 08:19
Nemokosch I don't know... could it be that the sheer cost of running methods is this big? I wouldn't know 08:29
and this profiler seems barely useful at all
I click on something that seems big and the parts that show up don't nearly add up to the value
Kaiepi metamethods are small and run as such, the problem is they carry a lot of weight and inefficiencies get blown out of proportion that way 08:30
the changes from github.com/rakudo/rakudo/pull/4936 etc. influence build times, for instance 08:32
Nemokosch there were 174361 sink calls... 08:35
I think the "exclusive time" row doesn't contain valid percentages, by the way 08:36
inclusive time:
9.48% (20.98ms)
exclusive time:
0.6% (12.99ms)
BRUH
habere-et-disper Adverbs appear to not be checked for syntax/typos. Is this meant to be the case? 09:06
For example the plural form tripped me up: 09:07
m: say '123abc456'.substr-eq: 'abç', 3, :ignoremarks
camelia False
habere-et-disper Compare with: 09:09
m: say '123abc456'.substr-eq: 'abç', 3, :ignoremark
camelia True
ab5tract o/ 09:35
Nemokosch I think adverbs are just pairs 09:42
I don't know if there was some deliberate design choice with this, I mean that they don't check the keys 09:43
ab5tract any idea why two datetimes that for all intents and purposes look the same don't smartmatch each other? 12:24
m: my $dt = DateTime.now; say $dt ~~ $dt.clone
camelia False
ab5tract Seems... strange 12:25
Nemokosch I don't see any ACCEPTS method for them... 12:27
If this really is the case, I suppose Any.ACCEPTS would be used, which checks for object identity 12:30
I don't know if there is any specific reason for this, though. Maybe it just went unnoticed
gfldex ab5tract: please file a rakudobug
ab5tract gfldex: will do 12:32
gfldex: just to clarify, that just means adding a bug to the rakudo repo on github, correct? 12:38
gfldex aye
Nemokosch if we can trust the documentation, it seems like it's rather a "design bug" than an "environment bug" 😅 12:40
probably not intentional though 12:41
ab5tract It could do string comparison or even an instant comparison 12:42
hmm, it even provides == 12:43
good to know, but makes ACCEPTS an even stranger omition, as I wouldn't expect the numeric op to be provided for DateTime 12:44
Nemokosch == does Int coercion, as you might know 12:45
ab5tract in this case that involves a cast to Instant
Just going by the docs here. Maybe == isn't specifically defined, it's behavior is just documented... 12:46
Nemokosch sorry, not Int, Numeric 12:48
I tend to forget there are other numbers as well 😅
and yes, apparently Instant "is Cool does Real", so for some, to me unknown reason, it can be used for Numeric coercion 12:50
guifa an Instant is at its core just a number, and it logically makes sense to use > < = ≤ ≥ ≠ with that value 12:51
Nemokosch how does this coercion happen, though? 12:53
gfldex Comparing DateTime is quite wonky in general. If you compare 2 timestamps, what precision do you want? 12:54
ab5tract I would say you want the precision that is defined
as precise as the datetime's themselves, that is
Nemokosch there is no .Numeric on DateTime or Dateish, yet I can call .Numeric on an instance
ab5tract so if you don't want seconds, you make sure you are comparing datetimes that don't have seconds
gfldex That may mean that some ppl will miss appointments. Humans tend to think about equalness down to the minute, maybe second. 12:55
guifa Nemokosch: an Instant turns into (at the moment) a POSIX-like time stamp (unix epoch, but iirc POSIX doesn't do fractional time, but Instant.Numeric preserves sub-second precision)
tellable6 guifa, I'll pass your message to Nemokosch
Nemokosch . 12:57
tellable6 2022-07-24T12:55:52Z #raku <guifa> Nemokosch: an Instant turns into (at the moment) a POSIX-like time stamp (unix epoch, but iirc POSIX doesn't do fractional time, but Instant.Numeric preserves sub-second precision)
Nemokosch negative: 12:58
m: DateTime.now andthen .Instant eqv .Numeric andthen .say
camelia True
Nemokosch They do the same - but how does DateTime get a .Numeric method in the first place? 13:00
lizmat re DateTime.ACCEPTS: github.com/rakudo/rakudo/commit/31...00b6e74797 13:12
Nemokosch In master already? 😂 13:14
ab5tract Thanks lizmat! I had a feeling you would be on top of this :) 13:32
Gotta go for now. Have a great afternoon everyone! 13:33
Nemokosch 👋 13:40
Quibono Hello everyone 14:07
lizmat Quibono /o 14:21
Quibono How are you doing lizmat? 14:46
lizmat pretty well :-) and you? 14:47
Quibono Good. Hoping to start making a VM tonight and maybe learn some raku. 14:52
lizmat good for you!
nine Nemokosh: the parts that show up when you click on something big in the profiler cannot add up to the total, since there's also the exclusive time spent in that big thing itself. 17:42
tellable6 2022-07-22T15:48:42Z #raku <ab5tract> nine I'd be interested in perusing a list of low-hanging fruit for new-disp, if you have the tuits to put one together
nine new-disp? Isn't it a little late for that considering it's been merged for almost a year now? 17:43
Nemokosch 🤣 17:48
\s/new-disp/RakuAST, then 🧠 17:52
by the way 17:58
you must come to discord, s// is built in
nine ab5tract: sorry, I'm quite under the weather right now. I'd just run a spectest with RAKUDO_RAKUAST=1 and look at a few of the failing ones. Compilation failures due to unrecognized syntax are often the easier ones as you often just have to copy&paste from the old grammar and adjust a little. Actions are much easier to write now. Hardest part is finding the relevant bits of the old actions. 18:28
SmokeMachine I don't know how useful it is (if useful at all), but I've been playing on adding Cro web components using pro template and web socket. Would someone like to take a look at it and tell me if it could be useful for anything, please? github.com/FCO/Cro-WebSocket-WebCo...Routes.pm6 19:49
SmokeMachine Does anyone have any opinion about that? 20:16
Nemokosch I'm not competent at this, sorry 20:44
melezhik .tell lizmat for some reasons rak does not search on my SparkyCI alpine test box - sparrowhub.io:2222/report/914 - but maybe this Rakudo version thing? 23:26
tellable6 melezhik, I'll pass your message to lizmat