🦋 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:06 reportable6 left 00:07 reportable6 joined 00:13 HvszrStykp left 00:45 ProperN[out] joined, ProperNoun left 00:54 kaskal- joined 00:55 timo left, kaskal left, timo joined
Geth ecosystem/main: 71a14e3001 | (Nick Logan)++ (committed using GitHub Web editor) | META.list
More rename Perl6->Raku and master->main
01:55 linkable6 left, evalable6 left 01:58 evalable6 joined, linkable6 joined 02:04 vrurg_ joined, vrurg left 02:35 frost joined 03:03 vasko joined, vasko left, vasko joined 03:14 HvszrStykp joined 04:14 greppable6 left, shareable6 left, sourceable6 left, unicodable6 left, squashable6 left, bisectable6 left, releasable6 left, committable6 left, notable6 left, bloatable6 left, statisfiable6 left, benchable6 left, evalable6 left, linkable6 left, coverable6 left, nativecallable6 left, quotable6 left, tellable6 left, reportable6 left 04:15 quotable6 joined, greppable6 joined, evalable6 joined, tellable6 joined, releasable6 joined, benchable6 joined, bloatable6 joined, committable6 joined 04:16 bisectable6 joined, shareable6 joined, linkable6 joined, statisfiable6 joined, unicodable6 joined 04:17 nativecallable6 joined, squashable6 joined, sourceable6 joined, notable6 joined 04:18 coverable6 joined, reportable6 joined 05:18 linkable6 left, evalable6 left, linkable6 joined, evalable6 joined 05:31 bigdata joined, bigdata left 06:07 reportable6 left 06:10 reportable6 joined 06:27 abraxxa joined 06:32 abraxxa left, abraxxa joined 06:35 Nemokosch joined 06:36 Nemokosch left 06:47 TieUpYourCamel left, simcop2387 left, samcv left, archenoth left, kybr left, a3r0 left, gfldex left, jmcgnh left, swaggboi left, nine left, tailgate left, El_Che left, avar left, leah2 left, hexology- left, peder left, bartolin_ left, tinita left, jercos_ left, cnx left, ecocode___ left, alethkit left, patrickb left, GreaseMonkey left, sftp left, mykhal left, BinGOs left, Grrrr left, camelia left, leont left, skaji left, gordonfish left, KotH left, nicole left, thowe_ left, zostay left, aqua2 left, mtj left, Altreus left, rjbs left, kawaii_ left, charsbar left, leedo_ left, jcallen left, Ekho left 06:48 Nemokosch joined 06:50 TieUpYourCamel joined, simcop2387 joined, samcv joined, archenoth joined, kybr joined, leah2 joined, El_Che joined, avar joined, tailgate joined, nine joined, swaggboi joined, jmcgnh joined, gfldex joined, a3r0 joined, Matthew|m left 06:51 crystalfrost[m] left 06:52 MitarashiDango[m left, tadzik left 06:53 AlexDaniel left 06:54 CIAvash left 06:56 TieUpYourCamel left, simcop2387 left, samcv left, archenoth left, kybr left, a3r0 left, gfldex left, jmcgnh left, swaggboi left, nine left, tailgate left, El_Che left, avar left, leah2 left, epony left 06:58 Ekho joined, jcallen joined, leedo_ joined, charsbar joined, kawaii_ joined, rjbs joined, Altreus joined, mtj joined, aqua2 joined, zostay joined, thowe_ joined, nicole joined, KotH joined, gordonfish joined, skaji joined, leont joined, camelia joined, BinGOs joined, mykhal joined, sftp joined, Grrrr joined, GreaseMonkey joined, patrickb joined, alethkit joined, cnx joined, ecocode___ joined, jercos_ joined, tinita joined, bartolin_ joined, peder joined, hexology- joined, TieUpYourCamel joined, simcop2387 joined, samcv joined, archenoth joined, kybr joined, leah2 joined, El_Che joined, avar joined, tailgate joined, nine joined, swaggboi joined, jmcgnh joined, gfldex joined, a3r0 joined 07:01 jtza8 joined 07:13 AlexDaniel joined 07:14 Sgeo left 07:16 epony joined 07:25 MitarashiDango[m joined 07:26 CIAvash joined 07:32 jaguart left 07:44 crystalfrost[m] joined 07:58 sena_kun joined 08:28 tadzik joined 09:28 greppable6 left, statisfiable6 left, coverable6 left, committable6 left, tellable6 left, bisectable6 left, notable6 left, shareable6 left, sourceable6 left, reportable6 left, quotable6 left, unicodable6 left, evalable6 left, squashable6 left, releasable6 left, benchable6 left, nativecallable6 left, bloatable6 left, linkable6 left 09:29 committable6 joined, quotable6 joined, statisfiable6 joined, coverable6 joined, releasable6 joined, sourceable6 joined 09:30 evalable6 joined, unicodable6 joined, bisectable6 joined, linkable6 joined, greppable6 joined 09:31 benchable6 joined, squashable6 joined, shareable6 joined, bloatable6 joined, tellable6 joined, notable6 joined, reportable6 joined 09:32 nativecallable6 joined 09:34 sena_kun left 09:36 sena_kun joined, sena_kun left 09:56 axmed left 09:59 xinming left 10:08 xinming joined 10:09 Nemokosch left 10:21 Matthew|m joined
lizmat forgot to clickbait this yesterday: rakudoweekly.blog/2022/09/05/2022-...-in-at-50/ 10:25
10:28 sena_kun joined 10:29 reol joined 10:40 bigdata joined 11:01 razetime joined 11:02 bigdata left 11:28 jaguart joined, jaguart left 11:39 grondilu joined
grondilu Hi all 11:39
I stumbled upon a case where a 'partially dimensioned view of array from fixed-sized array' would be very convenient. 11:41
mentioned in github.com/Raku/old-issue-tracker/issues/6075
is it in the works?
FYI I was looking at implementing SHA-3 11:42
where the state is a three-dimensional array 11:43
csrc.nist.gov/publications/detail/.../202/final for details 11:45
I'm not even sure it's even in the test suite rn, though. 11:47
most relevant file I see seems to be github.com/Raku/roast/blob/master/...slice-6e.t and I don't see any test of partially dimensiond views 11:48
lizmat grondilu: could very well be that there are no tests :-( 11:49
grondilu oh wait there are whatevers sent as indices in this file 11:51
no fixed-size, though 11:59
lizmat as always... PRs welcome :-) 12:00
grondilu ah my bad the relevant dir might be S09-multidim 12:05
12:06 reportable6 left
grondilu maybe S09-multidim/indexing.t 12:07
12:09 reportable6 joined
grondilu I don't often request pulls, and this one does not offer much, but it's a start : github.com/Raku/roast/pull/821 12:18
12:43 razetime left 12:46 pjs_ is now known as pejayes 12:54 razetime joined 12:56 vrurg_ is now known as vrurg
lizmat weekly: deprogrammaticaipsum.com/alan-perl...languages/ 13:02
notable6 lizmat, Noted! (weekly)
13:07 frost left 13:08 grondilu left 13:23 jgaz joined 13:29 frost joined 13:39 jtza8 left 13:41 reol left
leont That is a great article, though I think they miscategorized Raku 13:42
Voldenet "miscategorized"? 13:46
I agree that raku is more or less improvement over perl 13:50
vrurg Voldenet: more or less? ;) 13:56
leont I think it's in the third category
Voldenet I'm not sure about scale, but it's non-revolutionary I think 13:57
(none of languages in "useful" category fit the description though)
vrurg Voldenet: sometimes it is not particular features that make the revolution but how they're put together. I consider Raku to be of this kind. 13:59
Voldenet It certainly is more opinionated and less "there's more than one way to do it" 14:01
so people just do async stuff without comparing POE and AnyEvent 14:02
vrurg Are you sure you miss nothing? There is not only async, but there is concurrent. But then there are other paradigms we use sometimes not even noticing we do it. It is all just naturally bind together making one focus more on their task and less on implemenmtation. 14:05
Voldenet async is just an example, but yeah, the "batteries included" mindset is quite revolutionary 14:06
since in perl every single useful thing is closed behind cpan module 14:07
lizmat and worse: in most cases hidden behind XS 14:11
within that module
14:12 ChanServ sets mode: -o lizmat 14:21 Nemokosch joined
leont It's not about how much batteries, it's about which batteries, IMO 14:28
You want to include the actually generic things (like an async framework), but necessarily the common things. If only because common changes a lot more over time than generics do.
Altreus +not? 14:41
Voldenet for a second I was wondering where "not" was missing and realized that I read it without a typo… 14:42
Altreus heh, this AI has CRC 14:44
Voldenet People have freedom to not use standard library though, the only risk of including too much is breaking backward compatibility later
15:10 axmed joined 15:11 axmed left 15:21 razetime left
leont Yeah, "but not necessarily" 15:28
15:29 razetime joined
leont See also: the life of CGI.pm 15:30
15:31 MoC joined
Altreus Counterpoint: DateTime.pm 15:32
tonyo use warnings; 15:35
El_Che hi 15:39
15:39 frost left
Altreus does that work every time? 15:40
use warnings;
tonyo it's a thing in perl, there was a large, heated discussion about making those the defaults at some point but i think no progress was made (there is use warnings; and use strict;) 15:42
Altreus that's what perl7 is for 15:43
in theory 15:44
tonyo kind of out of the loop on perl goings on since sawyer left and perl7 was announced (was writing in go mainly and now main job is python) 15:45
ugexe put ssl in the score you cowards!! 15:49
Altreus I think there was a problem doing that 15:50
ugexe yeah i imagine there are tons of problems with doing that
Altreus does raku have it? 15:52
ugexe no. having ssl+useragent and a tar library in the core like Go would make fetching modules better in e.g. zef 15:55
Altreus Presumably similar challenges are faced?
My stolen opinions about Go suggest that they have done that despite the problems, rather than having solved them 15:56
15:57 abraxxa left
tonyo that's kind of go's schtick, i think 15:59
leont Altreus: yes, DateTime a good example of important and generic 16:05
(though it would have been nice if Datetime.timezone actually returned a timezone)
Altreus leont: yeah, but over time the interface to Perl5's DateTime got under people's skin and so we now have several preferable ones on CPAN 16:19
so it was more of an example of something that is currently included but that might deteriorate 16:20
Seems less likely than CGI.pm though :D
Geth doc: d56e6f5d09 | (Mathias Reitinger)++ (committed using GitHub Web editor) | doc/Language/concurrency.pod6
Update concurrency.pod6 (#4106)

Move the "only one whenever block will be executed at any time" part before the example: it's easy to miss at the bottom but represents a big caveat.
linkable6 Link: docs.raku.org/language/concurrency
16:27 linkable6 left
leont I didn't see this one coming: 16:27
m: enum Foo <A B>; say True ~~ B
camelia True
16:28 linkable6 joined
leont (they're both 1) 16:29
Kaiepi leont, enums smartmatch on WHICH apparently (??) 16:43
ohhh 16:48
&[===] is a little more than that, but a smartmatch delegates to that
on an enum
leont === will check type too, AFAIK 16:50
17:04 sena_kun left 17:34 reol joined
Geth ecosystem/main: c2587a1a15 | (Nick Logan)++ (committed using GitHub Web editor) | META.list
More renaming
ecosystem/main: More renaming
review: github.com/Raku/ecosystem/commit/c2587a1a15
17:45 razetime left 17:53 sena_kun joined 18:06 reportable6 left 18:07 reportable6 joined
reol m: sub why(uint64:D $x) { say $x; }; why(0xE5AF9BFD1EAF5AF4); 18:11
camelia 16550618667053701876
reol m: sub why2(uint64:D $x) { say "x=", $x; }; why2(0xE5AF9BFD1EAF5AF4);
camelia x=-1896125406655849740
reol Can anyone tell me why the second result is negative?
japhb A native int/uint/num can't be undefined, so :D doesn't do anything there -- but yeah, looks like you found a bug. 18:21
reol ok ty. is there a way to explicitely cast an integer to uint64? uint64($x) results in 'Impossible coercion from 'Int' into 'uint64': no acceptable coercion method found' 18:24
japhb reol: my uint64 $y = $x; 18:25
reol that is what I did actually. Is there an anonymous way too? 18:27
japhb Not so much anonymous, but I will often do it to force optimization in the middle of a larger expression, as in: github.com/japhb/Terminal-Widgets/...rakumod#L9 18:37
(In that particular case I *also* did a multi to allow either objects or natives to be passed in, with the latter skipping the first coercion.) 18:38
18:39 MoC left, MoC_ joined, MoC_ is now known as MoC
reol didn't know that you can allocate symbol names within expression. I could fix a couple of problems by using explicit casts, ty. 18:42
tonyo does that work in this case? 18:47
m: sub why2(uint64 $x) { say "x=", $x; }; why2(my uint64 $x = 0xE5AF9BFD1EAF5AF4);
camelia x=-1896125406655849740
reol you have to cast when passing the args to say 18:48
tonyo i mean the inlining that japhb posted 18:49
reol m: sub why2(uint64 $x) { my uint64 $y = $x; say "x=", $y; }; why2(0xE5AF9BFD1EAF5AF4);
camelia x=16550618667053701876
tonyo ah
reol no the inline version fails too
tonyo changing that signature to UInt also just works
reol m: sub why2(uint64 $x) { say "x=", my uint64 $y = $x; }; why2(0xE5AF9BFD1EAF5AF4);
camelia x=-1896125406655849740
tonyo (not to say uint64 shouldn't)
reol Uint fails too 18:50
tonyo m: sub why2(UInt $x) { printf "\%x\n", $x; }; why2(0xE5AF9BFD1EAF5AF4 );
camelia e5af9bfd1eaf5af4
tonyo that seems to work for me
reol maybe I just tried uint. I don't know anymore 18:52
another strange problem is the following 18:55
m: class foo { has $.x; method new(uint $x) { self.bless(:$x); } }; foo.new(1);
camelia ( no output )
reol class foo { has $.x; multi method new(uint $x) { self.bless(:$x); } }; foo.new(1);
m: class foo { has $.x; multi method new(uint $x) { self.bless(:$x); } }; foo.new(1);
camelia Default constructor for 'foo' only takes named arguments
in block <unit> at <tmp> line 1
reol however without the type constraint it works. 18:56
m: class foo { has $.x; multi method new($x) { self.bless(:$x); } }; foo.new(1);
camelia ( no output )
18:59 n1to joined 19:14 perlbot left 19:15 simcop2387 left, simcop2387 joined 19:16 sena_kun left 19:17 perlbot joined 19:19 sena_kun joined 19:27 Nemokosch left 19:57 MoC_ joined, MoC left, MoC_ is now known as MoC 19:58 discord-raku-bot joined 20:06 hexology- is now known as hexology 20:36 epony left 20:40 epony joined 20:54 MoC left 21:11 jgaz left
reol Is there a way to use (anon) unix domain sockets in Raku? The IO::Socket API doesn't seem to support it 22:01
22:05 bigdata joined 22:07 n1to left 22:17 vasko left 22:25 sena_kun left 22:51 Sgeo joined 23:36 bigdata left