🦋 Welcome to Raku! raku.org/ | evalbot usage: 'p6: say 3;' or /msg camelia p6: ... | irclog: colabti.org/irclogger/irclogger_log/raku
Set by ChanServ on 14 October 2019.
pippo p6: say 3; 00:43
camelia 3
pippo p6: my @a = ^5; @a[2]:delete; my @b is default(42) = @a.reverse; dd @b[2]; 00:45
camelia Any @b = Any
pippo ^^That should return 42 according to e9468d6a02. 00:47
holyghost I'm going to read some evolutionary computation books then write some things in perl6 01:12
probably starting this week 01:13
holyghost The code will be on github.com/theholyghost2 and on Xliff's server 01:17
Xliff \o gnolly 01:23
holyghost lo Xliff 01:26
Xliff How are things going? 01:30
holyghost Well I've done lots of statistics last year, building packages on the research in perl6, now I'm going to read about evo in adaptive systems 01:34
Nice things to build games (or schedulers) on
Xliff Cool! 01:35
Good luck with that.
Now must reboot. Games are calling.
o7
holyghost I served you well enough as you said earlier, everything gets uploaded to github from your server
holyghost ok, take care 01:35
mahafyi to remove double quotes in a double quoted String (like "my text") , $my-string.subst("\"", "") removes the first , but not the last " 05:31
aah , :g for gloabl. never mind the question, lol 05:34
Geth doc: 094fb8d8b9 | (Stoned Elipot)++ | doc/Type/Pod/Block.pod6
Fix multi-line content table
06:19
mahafyi how to find the execution time and memory usage of a script? 06:23
AlexDaniel mahafyi: from inside the script or from the outside? 06:32
mahafyi AlexDaniel : either way is fine 06:33
AlexDaniel mahafyi: for the inside option, we have telemetry: docs.raku.org/type/Telemetry
mahafyi AlexDaniel : gr8 will read
AlexDaniel mahafyi: otherwise just `time` will do? :) Especially if it's /usr/bin/time which shows max-rss 06:34
lizmat weekly: github.com/JJ/raku-dist-template 08:53
lizmat AlexDaniel: looks like some bots, notably notable6 is awol ? 08:54
AlexDaniel weekly: github.com/JJ/raku-dist-template 09:47
notable6 AlexDaniel, Noted! (weekly)
Geth ¦ problem-solving: AlexDaniel assigned to jnthn Issue What should be the size of `int`? (and other NativeCall type issues) github.com/Raku/problem-solving/issues/182 10:14
¦ problem-solving: AlexDaniel assigned to jnthn Issue What should unicode subscripts do? (and should they do anything at all?) github.com/Raku/problem-solving/issues/183 10:24
Geth ecosystem: robertlemmen++ created pull request #490:
Remove ReadWriteLock from META.list
10:54
ecosystem: 2b0d7d61f7 | (Robert Lemmen)++ (committed using GitHub Web editor) | META.list
Remove ReadWriteLock from META.list

  ...the module is on CPAN and should be taken from there rather than from the source repo.
10:55
ecosystem: e8c1e9ebf9 | (Juan Julián Merelo Guervós)++ (committed using GitHub Web editor) | META.list
Merge pull request #490 from robertlemmen/patch-2

Remove ReadWriteLock from META.list
mahafyi when we do a slurp "data.txt" in a react block, will it lead to memory getting full. is there any way or need to handle that like a file handle close? 11:14
Geth ¦ problem-solving: AlexDaniel assigned to jnthn Issue Should ¿? and ¡! be an alternative to "" ? github.com/Raku/problem-solving/issues/184 11:23
AlexDaniel mahafyi: I think if you do “data.txt”.IO.lines then it'll give you a lazy Seq 11:27
mahafyi: but processing the lines in a react block is a bit different… are you sure you need that? :)
mahafyi the react block itself modifies the file slurped sometimes. Need to run a match everytime the block runs. 11:28
jnthn slurp with a file name will close the handle, so that probalby isn't the problem 11:48
I'd probably try and reduce the problem to a small example that shows the memory growth 11:52
Which may in the process show up what exactly leads to it
(And gives an isolated example to file an issue about if it looks like it might be a problem in Rakudo itself) 11:53
Skarsnik Hello 12:05
lizmat Skarsnik o/ (long time no see?) 12:07
jjmerelo Hey! 12:28
patrickb o/ 12:35
tellable6 2020-04-28T06:43:39Z #raku-dev <nine> patrickb: you put the precompiled script in the same place we pick when precompiling modules. Please don't invent your own logic there.
2020-04-28T07:40:19Z #raku-dev <tyil> patrickb on precompiled script files, $XDG_CACHE_HOME/raku/precomp
Skarsnik hm, any idea how I can solve conflict on github.com/rakudo/rakudo/pull/716 ? (I deleted and redid the fork since and there are other commit on it) 12:53
stoned75 hi all!
AlexDaniel o/
Skarsnik: hmm, so do you have the changes rebased on master or not? 12:54
AlexDaniel Skarsnik: if it's just a matter of opening another PR then feel free to do it 12:54
Skarsnik: but maybe I'm not understanding the question fully
lizmat and yet another Rakudo Weekly News hits the Net: rakudoweekly.blog/2020/05/04/2020-...community/ 12:55
Skarsnik but it will loose the historic on it?
AlexDaniel Skarsnik: it's OK 12:56
Skarsnik Gonna be annoying again lol
Geth doc: 7011d33743 | (Stoned Elipot)++ | doc/Type/Hash.pod6
Fix link to moved out content
12:57
linkable6 Link: docs.raku.org/type/Hash
Skarsnik I am not sure I can create a branch with already commits used in another pr 13:01
mahafyi slurp seems safe, from point of view of memory, i see several PIDs show up in htop (not yet into the telemetry, lol).
Skarsnik AlexDaniel, I deleted the fork and recreated it since this PR (easier that spending 2h trying to merge change from the original repo xD) but I already have a PR submit with unrelated change (Test module fix), I am not sure I can easily create a branch without these new changes to redo a the NC pr 13:05
mahafyi inside a a react block, watch a syslog with IO::TailFile , seeing some interesting things, that there isn't an ordered handling of lines. The end result is correct, that offending IPs are banned. A slurp of existing iptables chain rules, and match , so as to avoid duplicates. But timewise, it is not always the first syslog line with an offending IP
address that gets acted on first though. Not sure if I wrote out this thing well.
AlexDaniel Skarsnik: just create a branch from an earlier commit? 13:12
Skarsnik: or rebase your new commits?
Skarsnik I will have to reforce push the Test commit? 13:13
can I creat a branche for an earlier commit without rolling back the main branch? 13:14
AlexDaniel Skarsnik: only your imagination is the limit :) 13:25
Skarsnik and my patience with git xD
AlexDaniel exactly!
Skarsnik wich is very limited 13:26
nativecallable6, int foo; 13:28
nativecallable6 Skarsnik, and I oop! Backtrace: gist.github.com/de6969d8fb7a666717...4bf7339238
AlexDaniel yeah it needs some fixing 13:29
people don't try to use it often enough so it wasn't the top priority :(
I did start going through all the bots recently but got distracted with other stuff: github.com/Raku/whateverable/issues/377 13:30
Skarsnik hm, I should have worked on a shared repo on WSL, c/p stuff with vim in a terminal is not great x) 13:32
Skarsnik hm, Git is not supposed to keep track of a file historic when renamed? NC history does not show change past its rename into .rakumod 14:06
AlexDaniel Skarsnik: try --follow ? 14:07
Skarsnik I am looing on github x)
AlexDaniel Skarsnik: well… :P 14:10
Skarsnik who the hell put the nativecall trait declaration in a weird export thing :( 14:44
tigerpaws Good morning or afternoon! Can anyone explain why the following code gives (4 4): `( (3 , 9) X ( 2, 10) ).map: * + *;` or `{ $^a + $^b} for (3,9) X (2,10);` 15:12
AlexDaniel hello!
m: say ( (3 , 9) X ( 2, 10) ).map: * + *
camelia (4 4)
AlexDaniel m: say ( (3 , 9) X ( 2, 10) ) 15:13
camelia ((3 2) (3 10) (9 2) (9 10))
AlexDaniel tigerpaws: I didn't know you could do that 15:14
tigerpaws when {$^a[0] + $^a[1]} for (3,9) X (2,10) gives (5 13 11 9)
AlexDaniel tigerpaws: but the map itself iterates by two elements at a time 15:15
tigerpaws: so the first iteration it's (3, 2) + (3, 10)
AlexDaniel tigerpaws: numeric operations on lists work on the number of elements, so it's 2 elements + 2 elements = 4 15:15
I absolutely didn't know that .map can do .rotor-like operations… 15:16
c: all say ( (3 , 9) X ( 2, 10) ).map: * + *
committable6 AlexDaniel, gist.github.com/558ce603ec7053c528...7582dbfc69
tigerpaws That's what I get for experimenting. I originally did ` * + * for (3,9) X (2,10); then turned it around into a map
jnthn AlexDaniel: It's most typically seen in things like `%h.kv.map: -> $key, $value { }` (though of course that's even more typically written as a for loop) 15:17
AlexDaniel jnthn: I see, but I wonder if .kv is at all common 15:18
it used to be in the past that's for sure
like nowadays I'd rather work with pairs, for some reason, maybe I should learn to love .kv :)
anyway: 15:19
m: say ((3 , 9) X ( 2, 10)).map(-> ($a, $b) { $a + $b })
camelia (5 13 11 19)
jnthn I also like it on arrays when I need the index. :)
AlexDaniel tigerpaws: ↑ what about this?
m: my @a = <a b c>; .say for @a.pairs
camelia 0 => a
1 => b
2 => c
AlexDaniel jnthn: still doesn't need to be kv :)
Skarsnik why I always end up with weird issues :( 15:20
AlexDaniel Skarsnik: because you're amazing!
jnthn AlexDaniel: I know, it's just that I tend to want the index in a variable, and often the value too, so I can name them for what I'm doing :)
Kaiepi m: say ((3,9) X (2,10)).map(*.sum) 15:21
camelia (5 13 11 19)
tigerpaws @AlexDaniels say ((3 , 9) X ( 2, 10)).map(-> ($a, $b) { $a + $b }) looks a lot more like ` {$^a[0] + $^a[1]} for (3,9) X (2,10) ` 15:22
Skarsnik Not sure I can find a short way to reproduce it, hm
AlexDaniel m: my @a = <a b c>; for @a.pairs -> (:$key, :$value) { say “$key $value” }
camelia 0 a
1 b
2 c
AlexDaniel jnthn: ↑ sure? :)
and if you want to rename them… 15:23
m: my @a = <a b c>; for @a.pairs -> (:key($mykey), :$value) { say “$mykey $value” }
camelia 0 a
1 b
2 c
AlexDaniel jnthn: but yeah that gets a bit too verbose
Kaiepi i wonder if this works... 15:24
AlexDaniel yes!
Kaiepi m: my @a = <a b c>; for @a.kv { say $^key, ': ', $^value }
camelia 0: a
1: b
2: c
Kaiepi nice
Skarsnik Basicly I am adding a Role to NC then I add it as a valid type for the native role (github.com/rakudo/rakudo/blob/mast...umod#L265) but when calling sub foo is native($thing-with-new-type), it tell me it can't find a valid variant of the role. No appropriate parametric role variant available for 'NativeCall::Native'
jnthn AlexDaniel: I'm not saying you can't do it with pairs, just it's a bit less wordy not to :)
AlexDaniel but yeah, I'm somehow uncomfortable with the idea of flattening the thing and then letting it restructure it the way it was in the first place 15:25
m: my @a = <a b c d e>; for @a.kv { say $^key, ': ', $^value; say $^foo }
camelia a: 1
Too few positionals passed; expected 3 arguments but got 1
in block <unit> at <tmp> line 1

0
2: c
b
d: 4
3
AlexDaniel m: my @a = <a b c d e f>; for @a.kv { say $^key, ': ', $^value; say $^foo }
camelia a: 1
0
2: c
b
d: 4
3
5: f
e
jnthn (Sometimes. Other times, .pairs is nicer)
Skarsnik I remember addin multiple trait to avoid this error (maybe?) but that does not fit with the new EXPORT approch :( 15:26
AlexDaniel tigerpaws: did we answer your question? There are probably other ways to express that too 15:27
for example
m: say ( (3 , 9) X ( 2, 10) ).map: [+] * # I wonder if this works
camelia Cannot resolve caller Numeric(Whatever:D: ); none of these signatures match:
(Mu:U \v: *%_)
in block <unit> at <tmp> line 1
AlexDaniel m: say ( (3 , 9) X ( 2, 10) ).map: { [+] $_ } # I wonder if this works 15:28
camelia (5 13 11 19)
Kaiepi &[+] might
AlexDaniel I don't think so… but
m: say ( (3 , 9) X ( 2, 10) ).map: &[+]
camelia (4 4)
Kaiepi oh, right
tigerpaws I just found a new one: {[+]($^a) } for (3,9) X (2,10); 15:29
timotimo m: {[+]($^a) } for (3,9) X (2,10); 15:30
camelia ( no output )
timotimo m: say {[+]($^a) } for (3,9) X (2,10);
camelia -> $a { #`(Block|57666176) ... }
-> $a { #`(Block|57672368) ... }
-> $a { #`(Block|57672440) ... }
-> $a { #`(Block|57672512) ... }
timotimo m: say do {[+]($^a) } for (3,9) X (2,10);
camelia 5===SORRY!5=== Error while compiling <tmp>
Placeholder variable $^a may not be used here because the surrounding block takes no signature
at <tmp>:1
------> 3say do {[+]($^a) }7⏏5 for (3,9) X (2,10);
expecting any of:
h…
timotimo no idea what we were talking about :D
Kaiepi i missed the earlier half of the convo so i'm not entirely sure either lol 15:31
AlexDaniel did you mean like
m: say ({[+]($^a) } for (3,9) X (2,10));
camelia (5 13 11 19)
timotimo haha, yeah
you caught me
i haven't caffeinated yet :) :)
tigerpaws I didn't know that arithmetic operations on lists worked on the number or elements. I'll have to remember that.
AlexDaniel timotimo: I can see the python inside you :P :P
Kaiepi m: (3, 9) X (2, 10) ==> map(*.sum) ==> say() 15:32
camelia (5 13 11 19)
tigerpaws Yes, it's really cool. The [+] is like APL's +/ (shows how old I am, I was brought up on APL)
AlexDaniel tigerpaws: yeah, it's pretty common when checking the number of elements like @a > 5
timotimo i get easily frustrated when i am forced to write python code and it's so clumsy
Skarsnik hey timotimo, how is your profiler going? :)
timotimo here's a good place to speak about nodal and not-nodal methods
Skarsnik: oh, um, i gotta go! bye!!
(but read my glob on wakelift.de, it has screenshots) 15:33
AlexDaniel and cats maybe?
tigerpaws Yes. You need to remember that I haven't done any perl in a few years, and I'm only 3 weeks old as far as raku/perl6 is concerned.
AlexDaniel tigerpaws: hmmm perl6… sounds like you're way older than 3 weeks :) 15:34
Kaiepi i write typescript sometimes and i find myself thinking "damn it'd be nice if i could do x with types like i can in raku" a lot 15:35
tigerpaws So, Thanks, I think I understand the behaviour now.
Skarsnik I wish the type system of raku was applied to method not for just overload x) 15:36
Kaiepi wdym?
tigerpaws @AlexDaniel: well, there are a lot of things in perl6 that remind me of the early days with APL, and that makes them a little easier to catch on to. The concepts I already ahd.
Skarsnik raku does not check routine signature at compile time
*method 15:37
it does for sub but not method
Kaiepi i thought it did? 15:37
AlexDaniel lizmat: btw should we perhaps celebrate Oct 14th or Aug 8th? :)
Kaiepi m: CATCH { default { .^name.say } }; class { method foo(Int:D) { } }.foo: "a"
camelia X::TypeCheck::Binding::Parameter
Kaiepi oh, it doesn't
Skarsnik No, I think it's because the core and other stuff create method at run time
Kaiepi if it were that'd be X::TypeCheck::Argument iirc 15:38
Skarsnik and anyways since the language allow it anyways, you can't expect to have error for something created later
Kaiepi methods are created at compile-time, but method resolution is handled later, i think 15:39
AlexDaniel tigerpaws: well, my point is that just knowing that it was “perl6” (and now it's “raku”) suggests that you might have heard about it more than 3 weeks ago :)
Kaiepi this is getting into stuff related to compilation i'm not so familiar with though
AlexDaniel tigerpaws: anyway let us know if there's anything else we can help with. This .map detail is actually an interesting feature I haven't noticed previously 15:41
Skarsnik it's tricky, you can do lot of stuff at compile time x)
tigerpaws @AlexDaniels: true enough, but when I was writing perl5, it was with 5.8 (legacy code), and perl6 was sort of in a dream. It was only 3 weeks ago I saw my first jnthn video. Since then, I've watched evry one I can find.
Skarsnik !probsolving 15:42
AlexDaniel I'm a bot, bleep blop, github.com/Raku/problem-solving
[Coke] tigerpaws: welcome aboard. :)
Skarsnik Merci AlexDianielable
[Coke] AlexDaniel: that's AnothyDaniels. :) 15:43
*AnthonyDaniels, oops
Kaiepi supplies are something i still find myself stumbling over how to handle sometimes. didn't jnthn do a video on those?
tigerpaws There are so many ways perl6 is astonishing. It's very exciting for me. So, thanks, guys, and you've all been extremely helpful. Later.
AlexDaniel [Coke]: but if it was AnthonyDanielable6 it'd respond either way! 15:53
bsicetable6: help
bisectable6 AlexDaniel, Like this: bisectable6: old=2015.12 new=HEAD exit 1 if (^∞).grep({ last })[5] // 0 == 4 # See wiki for more examples: github.com/Raku/whateverable/wiki/Bisectable
jdv79 just got "make: *** [blib/Perl6/BOOTSTRAP/v6c.moarvm] Segmentation fault (core dumped)" 16:02
is gcc 4.4.7 20120313 too old - got a bunch of warnings 16:03
MasterDuke i don't know if we have an official cutoff for c compiler versions, but 4.4.7 is pretty old... 16:08
jdv79 ok, i can work around it. $work's prod stuff is pretty old:( 16:09
MasterDuke can you get a backtrace in gdb? 16:10
jdv79 not at the moment. i'll make a note to try though. 16:11
mahafyi i'd like to learn to do better , i feel i am doing something roundabout here -> pastebin.com/73tbfMgZ 17:21
basically i want o make a function that puts KV from asterisk log file into a hash 17:23
Kaiepi mahafyi, i'd use a grammar and actions class for this rather than manually parsing the log 17:43
mahafyi Kaiepi : thanks. I have no idea how to... i have to read
Kaiepi i found them a bit tricky to understand at first, but they're very powerful and useful for cases like this 17:44
jjmerelo Kaiepi, can you please check this? github.com/rakudo/rakudo/pull/3451 17:51
jnthn requested some changes...
Kaiepi jjmerelo, i think i've addressed the changes he wanted. depends on what jnthn thinks 18:00
jjmerelo (y) kaiepi 18:01
Kaiepi .tell jnthn, are github.com/rakudo/rakudo/pull/3451 and friends ok now?
tellable6 Kaiepi, I'll pass your message to jnthn
jjmerelo Kaiepi are CI OK failing? Is it a flapper or something like that? Can you please check that too, just in case? 18:02
Kaiepi jjmerelo, tests are allowed to fail for this. they checked if methods die instead of failing, which is what they were supposed to be doing. there's a roast pr related to that 18:03
jjmerelo Great :-) 18:04
mahafyi Kaiepi : On first read the Grammars tutorial is awesome. The descriptive portions I mean, as for the rest I am lost, lol. 18:13
moritz a slower explanation is available in book form: www.apress.com/us/book/9781484232279 18:23
ragekagemage I'm trying to get Rakudo 2020.02.1 to compile on OpenBSD and keep hitting the error "Stage start : moar://usr/local/lib/libmoar.so.10.0: undefined symbol 'mp_set_double' ld.so: moar: lazy binding failed!" I've updated libtommath to 1.2.0 but that didn't fix it. Any idea what I'm doing wrong? 19:12
AlexDaniel Kaiepi: ↑ ? 19:17
Kaiepi that's a bug with the Makefile that's since been fixed 19:19
if you move the /usr/local/include include in the includes list so that it's the second last one it should work
ragekagemage Do you mean the list in M_MOAR_INC_PATHS in the generated makefile? I moved around the -I/usr/local/include in the list but it's giving the same error. 19:44
MasterDuke ragekagemage: i believe github.com/MoarVM/MoarVM/pull/1240 was the change 19:47
ctilmes m: my @list = <a b c>; say 'a' ~~ any @list; 19:53
camelia True
ctilmes m: my @list = <a b c>; say 'a' ~~ all @list;
camelia False
ctilmes m: my @list = <a b c>; say Str ~~ any @list;
camelia False
ctilmes m: my @list = <a b c>; say Str ~~ all @list;
camelia False
ctilmes What's the easiest way to see if all items in a list are Str? 19:54
jnthn m: my @list = <a b c>; say all(@list) ~~ Str; 19:59
camelia True
jnthn m: my @list = |<a b c>, 42; say all(@list) ~~ Str;
camelia False
jnthn Type needs to go on the right 20:00
ctilmes ok
thx
timotimo hum, we only use C89 compatible shit, so gcc 4.4.7 should already be able to do everything we have? 20:18
Geth ecosystem: 61e3d43064 | p6steve++ (committed using GitHub Web editor) | META.list
publish Physics::Measure

  [physics][unit][measure]
20:37
ragekagemage MasterDuke: I applied that change to moarvm makefile.in and recompiled it, rakudo is still giving me the same compile error. 20:38
jdv79 is there a way to get the MAIN based usage text in a var? 20:43
i'd like to have a real usage that includes paragraphs and stuff in addition to the args stuff
moritz m: sub MAIN($x) { }; say $*USAGE 20:47
camelia Dynamic variable $*USAGE not found
in block <unit> at <tmp> line 1
moritz m: sub MAIN($x?) { say $*USAGE }
camelia Usage:
<tmp> [<x>]
jdv79 oh, its in $*USAGE. thanks. 20:48
moritz are you aware of #= comments? 20:49
jdv79 i only know i use those for the args themselves 20:51
ragekagemage jdv79: docs.raku.org/language/pod#index-e...tor_blocks 20:53
jdv79: Using #= or #| applied to MAIN will show up in the usage. 20:55
rouking So I notice the docs say each part of a Complex needs to be a Real, and I also notice these parts turn out to be Nums. I'm wondering why these wouldn't be Rats instead given that Rat is the default for numeric literals 20:57
[Coke] has a vague recollection of a design discussion 15 years ago 20:58
[Coke] would ask colomon if he were still about.
rouking We do have a colomon_ in the roster 20:59
colomon_ you rang? 21:02
rouking Ah, yes we did
I was wondering why the two parts of a Complex turn out to be Nums instead of Rats (the docs just say they need to be Real) 21:03
[Coke] realizes this is ancient history. :) 21:04
also, HI COLOMON!!!!
colomon_ Don’t think Rats would ever have been considered for a “normal” Complex, they fall back to Num in extreme situations
colomon_ hi [Coke] ! 21:04
last time I checked (which admitedly was a while ago) aren’t the parts of Complex currently num rather than Num? 21:05
colomon_ thinking of it in ideal terms: it’s great to think of Complex as Real, Real, that’s very general. 21:07
It can’t really be Rat, Rat unless there’s also a Num, Num version
FatRat, FatRat would presumably be too slow for real world use
It was Num, Num back in the day for flexibility and speed 21:08
rouking It just struck me as odd, given Rats are the default for real numbers, to see (Num) when I did (1+2i).re.WHAT
colomon_ as far as I know it’s nuim, num now.
(But I haven’t poked under the hood there in a long while)
(num, num, no stray i) 21:09
rouking It would make more sense to me if it followed the same pattern as standard numbers where you have a Rat until you have to fall back to Num
rouking At this point I'm wondering how tight the coupling is and whether this behavior couldn't be achieved with just a few relatively easy changes 21:11
colomon_ looking at the source — github.com/rakudo/rakudo/blob/mast...omplex.pm6 — it is very tightly coupled 21:12
for performance reasons 21:13
if you pull up the old source (say eight years ago) you can probably find a version that can easily be modified to do what you want.
[Coke] colomon_: could one write a complex type in user space that was Rats? 21:14
could at least use that to flesh out where it would be slow, if it would be problematic.
colomon_ Complex is set up as a class not a role, but one could certainly write a, say, RatComplex in user space
(BTW, if anyone’s worrying I’ve given up on it, wrote my most recent p6 err Raku program yesterday. 91 lines to automatically scrap sound files from an archival site and generate sensible MP3 tags for them. :) ) 21:16
colomon_ *scrape 21:17
rouking I believe we've come a long way in terms of Rat performance so maybe it would be worth more investigation to see whether rational-based complex numbers are acceptably fast 21:18
colomon_ I believe lizmat++ did the Complex to num, num conversion, she could probably tell you more about the performance changes involved
My git / github foo is weak, but if you can pluck out Complex.pm from far enough back I would think the changes to get it to Rat would be pretty simple. 21:24
colomon_ gotta run, I need to do some chores and shower and fix dinner and sit in on evening storytime AND be ready to run D&D in 2.5 hours. 21:25
but feel free to ping me, just unlikely to respond before tomorrow.
ragekagemage I just noticed that 2020.05 was tagged in moarvm, any idea when rakudo and nqp are going to get released to go with it? 21:55
lizmat ragekagemage: it's in process right *now* 21:56
ragekagemage lizmat: Awesome!!! I'll hold off on my porting efforts until it's out. 21:58
jdv79 $0 should be thread safe, right? 22:01
getting weird failures seemingly involving $0 after a regex match...
MasterDuke jdv79: i'm pretty sure it isn't thread safe. $0 is just sugar for $/[0], and arrays are not thread safe 22:03
jdv79 but its not shared, right? 22:03
jdv79 i'm not sure what "Type check failed in binding to parameter '<anon>'; expected Capture but got Nil (Nil)" means. any ideas? 22:07
MasterDuke jdv79: oh, i assumed you were using it with threads 22:09
jdv79 the code on the line # that points to is: die "uh oh: $i<url>" unless $/[0];
the code that failing is in a hyper map block
jdv79 and the incidence seems to increase the more i increase the degree of the hyper but it may not be related... 22:10
MasterDuke oh, so there are threads. what if you wrap that line in a $lock.protect \? 22:15
jdv79 still get errors 22:18
hmm
a diff error this time though i've gotten it before. somehow a regex failed to match even though there is no evidence for that 22:20
freaky and frustrating;) 22:21
MasterDuke yeah, i think we'd have to see more code 22:22
timotimo that is one thing that can definitely happen when something is shared between threads and it shouldn't be
lizmat weekly: news.perlfoundation.org/post/gr_2020-03-votes 22:25
notable6 lizmat, Noted! (weekly)
jdv79 i guess i'll have to golf it. maybe tomorrow. thanks!
timotimo there's the cross-thread write log, which is an env var that moarvm takes 22:30
it's rather verbose, though
jdv79 oh its even better now - Segmentation fault (core dumped)
*sigh* this might take a while to figure out
jnthn If you declare `my $/;` in the hyper map block does it help? 22:35
tellable6 2020-05-04T21:39:41Z #raku-dev <vrurg> jnthn here is detailed description of the problem with debugging in Comma: gist.github.com/vrurg/47a7ea373eb7...5a96c215cd
jdv79 "my $/;" *seems* to help it be stabler. got through one full run sans errors. neato. 22:50