🦋 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.
00:00 reportable6 left 00:03 reportable6 joined
tbrowder__ another laziness question please 00:09
i have a large hash i've put in a module. it takes a long time to load it. is there any way to reduce its load time if the only use is when the caller wants to see all keys and values? 00:13
00:17 jpn left
tbrowder__ i could just put the hash as a line by line file and load it dynamically i 00:22
guess. that may be the answer 00:23
that was it's not "use"d. 00:25
00:29 derpydoo joined
Voldenet maybe turn it into an array and produce hash on demand 00:39
nemokosch this whole asymmetry is not nice tbh 00:40
the negative real number is also a real number; the whole thing could be defined just as much as the negative value rotated with 180° more 00:41
00:42 rf joined
this is a special enough relation of the values (that they are both real numbers, that is) 00:42
no question, the square root could be computed with ln and e, or some convergent series, in a way that sqrt 9 wouldn't be exactly 3. However, somehow it is computed accurately, even though there is nothing "magical" about the number 9 computation-wise. It does seem inconsistent that the "real-ness" of roots of positive real numbers is not preserved, even though that's at least as much a fundamental "special case" 00:47
Voldenet to be honest, it'd be quite sane to have roots version for roots(Int, 2), roots(Int, 4) and so on 00:51
s/and so on/ 00:53
actually, it only makes sense for very few select cases 00:54
on the other hand 00:56
00:58 bigdata joined, MasterDuke joined
Voldenet m: for 2, 4 { say roots(3 ** $_, $_).map(*.round(1e-14)) } 00:58
camelia (3+0i -3+0i)
(3+0i 0+3i -3+0i 0-3i)
Voldenet it gets a lot better if you simply accept minor precision loss 00:59
nemokosch as i said, I'm more bothered by the inconsistency. If it can be accurately an integer for well-chosen integers (exact powers), it should be accurately a real number for well-chosen real numbers (positive numbers) 01:00
the great thing about inconsistencies is that they are objective, it's not a matter of opinion. What is a matter of opinion is if the analogy of the situations is fair - for that, I would say "realness" is actually more reasonably expectable in these cases than "integerness" so I think the analogy is even generous 01:02
I think it would be much less annoying if you didn't get it in your face that complex roots can be actually perfect integers 01:03
Voldenet m: say (sin(0), cos(0), cos(pi), sin(pi)) 01:15
camelia (0 1 -1 1.2246467991473532e-16)
01:15 laidback_01 joined
Voldenet if only all calculations on pi were symbolic, there wouldn't be any precision loss 01:15
m: say sin(2 ** 59 * pi) # and you wouldn't be able to see this monstrosity 01:22
camelia -0.9959748854655721
Voldenet Yes, it's -1 instead of 0
since rational numbers are a thing, then maybe angle numbers could be 01:24
01:35 tbrowder__ left, tbrowder__ joined 01:43 bigdata left
tbrowder__ Voldenet: thnx i'll try that in a module first to see how that effects load times 01:44
01:51 jpn joined 01:56 jpn left 02:03 derpydoo left 02:05 xinming_ left 02:08 xinming_ joined 02:11 euandreh joined 02:12 euandreh left
Voldenet Hm, maybe it would be a worthy addition to raku to express Deg and have a special implementation for sin(Deg) so `tan(pi / 2) == Inf, cos(pi / 2) == 0` and so on 02:15
and ofc `sin(pi / 2) == 1`
02:27 tea3po left, tea3po joined 02:28 tea3po left, tea3po joined
Voldenet m: class Deg { has $.m; method new(Rat() $r) { self.bless(m => $r) }; method mul(Rat $r) { Deg.new($r * self.m); }; method gist { $.m ~ "°" }; method a { self.m % 360 } }; my \pie = Deg.new(180); multi sub sin(Deg $a) { given $a.a { when 180 { 0 }; default { sin($_/180 * pi) } } }; multi sub cos(Deg $a) { given $a.a { when 270|90 { 0 }; default { cos($_/180 * pi) }}}; multi sub infix:<*>(Rat() $r, 02:30
camelia ===SORRY!=== Error while compiling <tmp>
Malformed parameter
at <tmp>:1
------> * pi) }}}; multi sub infix:<*>(Rat() $r,⏏<EOL>
Voldenet Deg:D $a) { $a.mul($r) }; for (-1.5, -1, -.5, 0, .5, 1, 2**59).map(* * pie) { say ($_, cos($_), sin($_)) }
that sort of works gist.github.com/voldenet/76b4e2965...c405c18e04 02:37
02:45 xinming_ left 02:46 jpn joined 02:47 xinming_ joined 02:50 jpn left 02:57 rf left 02:58 rf left 03:40 jpn joined 03:44 jpn left 03:50 jpn joined 03:55 jpn left 04:38 ugexe left, ugexe joined 05:01 jpn joined 05:08 jpn left 05:14 derpydoo joined 06:00 reportable6 left 06:02 reportable6 joined 06:15 jpn joined 06:20 jpn left
gfldex 06:21
06:23 abraxxa joined 06:32 xelxebar left 06:40 xelxebar joined 07:40 jpn joined 07:43 sena_kun joined 07:51 jpn left 08:00 jpn joined 08:05 jpn left 08:25 jpn joined 08:34 El_Che left 08:35 El_Che joined 08:37 jpn left 09:02 Sgeo left 09:10 jpn joined 09:15 jpn left 09:21 sena_kun left 09:24 jpn joined 09:32 derpydoo left 10:32 linkable6 left, evalable6 left 10:34 linkable6 joined 10:35 evalable6 joined 10:46 ab5tract left 10:48 jpn left 10:53 abraxxa left 11:21 jpn joined 11:26 jpn left 11:40 jpn joined 11:47 jpn left 11:48 merp left 11:50 merp joined 11:57 merp left 12:00 reportable6 left
ugexe zef turned 10 years old today 12:01
12:02 reportable6 joined
librasteve Physics::Measure has class Angle, I have made an issue to add in this improvement in over there one day maybe... github.com/librasteve/raku-Physics.../issues/56 12:08
separately, maybe do something like subset RatPlex of Complex where *.re ~~ Rat && *.im ~~ Rat 12:15
then coercion to go .Rat on both components to tidy up 12:17
m: say -3+3.6739403974420594e-16i.Rat 12:18
Raku eval -3
12:22 tejr left 12:25 tejr joined 13:24 jpn joined 13:30 rf joined
El_Che ugexe++ 13:31
13:43 jpn left 13:59 jpn joined 14:03 jpn left 14:28 teatwo joined
El_Che lizmat: package are ready, chances are the one you need already uploaded. Waiting on cloudsmith to add debian trexie to the mix. With every release I need to poing them to add the code name or the release number of new releases :) 14:31
14:31 tea3po left
lizmat hehe El_Che++ 14:31
El_Che haha: "Hey there! As usual thanks for being our early indicator to add a new Version. That has been added for you now! " 14:34
tbrowder__ ugexe++ excellent 14:43
El_Che rakudo-pkg 2023.06 released 15:11
lizmat El_Che++ 15:12
15:15 jpn joined 15:25 jpn left 15:47 Sgeo joined
japhb El_Che++ 16:22
tbrowder__ El_Che++ and thanks 16:25
and...upgraded on Deb 11 16:26
16:44 squashable6 left 16:46 squashable6 joined 16:53 ab5tract joined
coleman happy birthday zef 16:55
17:11 ab5tract left 17:21 jpn joined 17:25 jpn left, sena_kun joined
Anton Antonov @coleman Good to know! 17:44
18:00 reportable6 left 18:03 reportable6 joined
tonyo . 18:51
anton antonov: yea i use DOT and some of the cli stuff to actually generate the images 18:52
i've been saying this for a few years and got most of the way there already but i want to set up the infrastructure to smoke/report the zef ecosystem
and then, eventually, i'd like to put a UI and allow for privatization of ecosystems (for private organizations) 18:53
19:03 evalable6 left, linkable6 left 19:04 linkable6 joined 19:05 evalable6 joined
Anton Antonov @tonyo Great! I would try to translate grammars into Graphiz / DOT also. Currently, I translate grammars into Mermaid-JS: github.com/antononcube/Raku-Functi...-for-ebnfs 19:10
tonyo very pretty 19:11
i used graphiz just because it was really easy to translate text -> text and end up with an image rather than trying to construct anything myself 19:13
i think [Coke] also used it for something but i'm failing to recall for what
Anton Antonov @tonyo I used Graphviz a lot until Mathematica shipped with GraphPlot. Since a year or two target Mermaid-JS at first (and often "at most") because Mermaid-JS graphs are rendered in many places by default. 19:20
@tonyo ... and thanks! 19:21
19:25 ab5tract joined 19:39 eseyman left
coleman Here is a snippet of markdown that links to Raku's sponsored Zulip instance envs.sh/zi 19:45
19:49 mr_z joined 19:50 manu_ joined, manu_ left, manu_ joined, manu_ is now known as eseyman 19:51 mr_z left, mr_z joined 19:52 mr_z left 19:57 guifa left
tonyo coleman: is zulip chat <-> irc? (and thanks for the happy birthday on zef) 20:03
coleman No, it isn't. They have an integration, but I suspect it'd be more trouble than it's worth 20:05
might be wrong about that, but Zulip is a different paradigm 20:06
I'm interested in using it's API as an alerting target. The multi-feed model might have advantages there 20:07
20:08 sena_kun left 20:09 ab5tract left 20:14 abraxxa-home joined 20:18 abraxxa-home left 20:19 abraxxa-home joined
tonyo alerting for something in raku or just in general? 20:48
coleman Raku docs site deploys, builds, anything 20:49
The function Zulip serves here is kind of like RSS or email alerts 20:50
...plus a forum? It's kind of its own thing. 20:51
21:08 squashable6 left 21:11 squashable6 joined 21:23 abraxxa-home left 21:24 abraxxa-home joined 22:11 abraxxa-home left 23:11 linkable6 left, evalable6 left 23:12 linkable6 joined, evalable6 joined 23:58 derpydoo joined