Geth rakudo: Kaiepi++ created pull request #1674:
REPL: exit by pressing ^D twice, not once
04:40
nqp/nqpmake: 8a3f2005c6 | (Stefan Seifert)++ | tools/make.nqp
No need to split target names, we already split prerequisites

We already expand macros and split them into individual target names when dealing with prerequisites, so we don't have to do that again when processing targets.
08:07
[Tux] Rakudo version 2018.03-135-gac5cf2bb0 - MoarVM version 2018.03-58-g0aaea3c4f
csv-ip5xs0.920 - 0.924
csv-ip5xs-208.565 - 8.682
csv-parser36.501 - 38.147
csv-test-xs-200.430 - 0.458
test8.826 - 9.224
test-t2.402 - 2.412
test-t --race1.039 - 1.044
test-t-2043.329 - 44.003
test-t-20 --race15.567 - 15.583
09:10
Geth rakudo: 768cf9f298 | (Elizabeth Mattijsen)++ | src/core/Capture.pm6
Streamline Capture.FLATTENABLE_(LIST|HASH)

This appears to make it 30% faster. This should benefit any code that passes on a flattened Capture. Found this while looking at start { } performance.
12:41
timotimo :o :o :o :o :o 12:47
hg.icculus.org/icculus/mojoelf/fil.../mojoelf.c
MasterDuke can we use that for something? 12:48
timotimo ryan gordon wrote this, "because dlopen() needs a filename and [he] wanted to load shared libraries from a memory buffer." 12:49
i ran into this very limitation when i wanted to build a single-executable rakudo binary
because it has these "extops" that are loaded in via a .so file 12:50
MasterDuke ah 12:52
but this won't work for windows, right? 12:53
timotimo oh, well ... 12:54
i think if we compile the library in question into an elf format even on windows it might work? 12:55
MasterDuke huh 12:56
timotimo not sure if we can actually do that
there's a library that does the same thing for PE binaries 12:58
MasterDuke oh, nice 12:59
timotimo github.com/fancycode/MemoryModule 13:00
dogbert17 is synopsebot down? 13:14
m: class Foo { multi method aaa() { my Int $y = 0; }; multi method aaa(Int $x where $x > 0 = 1) { my Int $y = $x; }; }; my Instant $t1 = now; for (1 .. 10000) { Foo.aaa() }; my Instant $t2 = now; my $d1 = ( $t2 - $t1 ).narrow; say "$d1" 14:22
camelia 0.3034108
dogbert17 m: class Foo { multi method aaa() { my Int $y = 0; }; multi method aaa(Int $x = 1) { my Int $y = $x; }; }; my Instant $t1 = now; for (1 .. 10000) { Foo.aaa() }; my Instant $t2 = now; my $d1 = ( $t2 - $t1 ).narrow; say "$d1"
camelia 0.016522
dogbert17 say 0.3034108 / 0.016522 14:23
evalable6 18.364048
timotimo it's a little bit faster if you write where * > 0 rather than where $x > 0 14:25
dogbert17 aha
m: class Foo { multi method aaa() { my Int $y = 0; }; multi method aaa(Int $x where * > 0 = 1) { my Int $y = $x; }; }; my Instant $t1 = now; for (1 .. 10000) { Foo.aaa() }; my Instant $t2 = now; my $d1 = ( $t2 - $t1 ).narrow; say "$d1" 14:26
camelia 0.4627085
dogbert17 heh
timotimo um ...
it's faster on my system at least 14:27
maybe try benchable instead, as it runs the thing multiple times to account for system load and such?
dogbert17 checks locally
yeah, it's faster although not by much 14:28
so what's happening here, i.e. in the first example we call the multi with no params so the one with the where clause shouldn't be involved ? 14:29
timotimo it does look like it's calling into ACCEPTS; i'd imagine we could try to pull the where clause out when compiling the signature to actual code
m: class Foo { multi method aaa() { my Int $y = 0; }; multi method aaa(Int $x where $x > 0) { my Int $y = $x; }; }; my Instant $t1 = now; for (1 .. 10000) { Foo.aaa() }; my Instant $t2 = now; my $d1 = ( $t2 - $t1 ).narrow; say "$d1" 14:30
camelia 0.0067389
timotimo if you make it non-optional it takes the first one always 14:31
dogbert17 interesting 14:32
timotimo looks like an optional parameter that has a matching where clause with its default value is considered more narrow than the one that matches arity perfectly 14:33
dogbert17 is that reasonable? 14:34
timotimo i'd prefer if it didn't do that :)
what if we re-order the candidates ..
m: class Foo { multi method aaa(Int $x where $x > 0 = 1) { my Int $y = 1; }; multi method aaa() { my Int $y = 0; }; }; my Instant $t1 = now; for (1 .. 10000) { Foo.aaa() }; my Instant $t2 = now; my $d1 = ( $t2 - $t1 ).narrow; say "$d1" 14:35
camelia 0.2533668
timotimo nope
dogbert17 hmm 14:36
was looking at RT #128055 14:37
however certain bots are down :(
Geth nqp/nqpmake: dc717a8b77 | (Stefan Seifert)++ | tools/make.nqp
Ensure we get the most up to date timestamp for freshly built targets
14:44
AlexDaniel undersightable6: status 14:54
undersightable6: status 14:58
undersightable6 AlexDaniel, OK! Working on it…
AlexDaniel, 0 errors, 11 warnings: gist.github.com/fc9fbb5c782e7ac3f8...3b64203657
AlexDaniel dalek synopsebot ZofBot 14:59
I can't ssh to hack.p6c.org 15:00
timotimo: ↑ you should be pinged according to github.com/perl6/doc/issues/711#is...-235414744
dogbert17: fwiw undersightable6 was down because of the 10 connection limit, and sometimes other whateverables end up like this too 15:01
(there are 17 bots and only 10 connections are allowed per IP) 15:02
well, and 20 is the limit because ipv4 and ipv6 15:03
dogbert17 so, we have too many bots :)
AlexDaniel no, the real problem is that we don't have this merged: github.com/MoarVM/MoarVM/pull/659 15:04
then I'd be able to give every bot its own ipv4 address lol (if I really wanted)
dogbert17 cool
are your bots still doing well, i.e. no SEGV's 15:05
AlexDaniel yes, everything is perfect
no significant memory leaks, no segvs
this will be the most stable star release from my view 15:06
dogbert17 \o/
timotimo i just force-off'd hack
AlexDaniel timotimo: thanks
timotimo AlexDaniel: shouldn't you be able to get a "custom" network interface for individual unit files that have a different IP? 15:16
AlexDaniel timotimo: maybe?
last time I looked I was unable to figure out an easy way to do it 15:17
timotimo that'll get us a head start on "too many bots"
AlexDaniel well, there's a room for 3 more bots :)
they just get stuck trying to reconnect with the same ip sometimes
Kaiepi unit files?
AlexDaniel I think after an hour of this they get restarted by systemd, which then does .pick again 15:18
and so has 50% chance of finally connecting properly :D
timotimo Kaiepi: systemd things
Kaiepi ohh
AlexDaniel I mean, the bot does .pick when it starts
Kaiepi for my vpses i have dhcpd set up so each one has its own static ip for this sort of thing 15:22
*vms
they use their own network interfaces for this 15:23
i'm not sure how well that'd transfer over to systemd, but i haven't had any problems with it so far 15:24
dogbert17 RT #130370 15:27
synopsebot RT#130370 [open]: rt.perl.org/Ticket/Display.html?id=130370 [CONC] Tapping on a very active .out of Proc::Async wrecks the work queue
dogbert17 yay
AlexDaniel dogbert17: yeah that's resolved I think 15:30
maybe there are other cases where it does not perform well enough 15:31
but this particular ticket probably just needs tests
jnthn That one is a lot better than it was because there's now multiple work queues 15:38
There isn't yet sufficient work done on back-pressure to slow down a process emitting too fast for us to handle, however 15:39
nine Darn...make recipies consist of multiple commands which have to be run serially. This makes managing concurrency via ConcBlockingQueue for those async processes a lot harder 15:53
timotimo give a command the queue and a "next" like a linked list so they can push their next back into the queue? 15:54
nine That's how I figured it would work overall. The difficulty now comes from the queue managing low level commands while concurrency is meant for the higher level jobs. 15:58
Will need some thinking for how to structure this. At least most of the infrastructure is already done. I have a nice job graph built from the Makefile tree and I have a means of finding the next buildable job. 15:59
The funny part is that to be able to keep the queue filled, I may not just toposort the tree once and push into the queue but have to traverse the tree again and again. Countrary to intuition this is not that costly because the next buildable job will be reached in very few traversal steps every time. 16:03
dogbert17 m: my @primes = grep { .is-prime }, 1 .. *; my @p = gather for 4000, 5, 100, 2000 -> $n { take start { @primes[$n] }; }; .say for await @p # RT #127208 17:12
camelia An operation first awaited:
in block <unit> at <tmp> line 1

Died with the exception:
No such method 'is-prime' for invocant of type 'Mu'
in block at <tmp> line 1
in block at <tmp> line 1
synopsebot RT#127208 [open]: rt.perl.org/Ticket/Display.html?id=127208 [SEGV][CONC] Non-deterministic segfaults in parallel code
dogbert17 is the syntax above incorrect ?
jnthn Syntax is fine, it's the semantics that are the problem. 17:18
dogbert17 so the code is a bit bogus as it stands 17:20
dogbert17 must read up a bit on this stuff 17:22
Geth_ nqp: 29793bb553 | usev6++ | src/vm/jvm/QAST/Compiler.nqp
[JVM] Fix compilation for list of void statements

Fixes 'my (\x) = 42' (gave an ArrayIndexOutOfBoundException before).
17:34
AlexDaniel dogbert17: I guess RT#128870 is related? 18:47
synopsebot RT#128870 [open]: rt.perl.org/Ticket/Display.html?id=128870 [SEGV] Pushing into the same array from two threads segfaults reliably
Geth_ nqp: 9cc4fc134b | (Elizabeth Mattijsen)++ | tools/build/MOAR_REVISION
Get CPP nativecall and nqp::ctx JITting fixes
18:58
¦ nqp: version bump brought these changes: github.com/MoarVM/MoarVM/compare/2...9-gfc1bb31
rakudo: dc1a3f5a31 | (Elizabeth Mattijsen)++ | tools/build/NQP_REVISION
Bump NQP to several fixes
19:14
¦ rakudo: version bump brought these changes: github.com/perl6/nqp/compare/2018....4-g9cc4fc1
AlexDaniel lizmat: “I'm working from these premises: […] Perl 6 is not going to change its name.” that's a very strong assumption that hopefully does not correspond to reality 19:59
for example, we have this: github.com/perl6/6.d-prep/tree/mas...ded-naming
which is not exactly about changing a name completely, but it can turn into that eventually
and even your 3rd premise is not entirely right, as Larry seemed to agree that things can have more than one name 20:02
lizmat well, it comes together with "Larry is not going to change his mind about the naming of Perl 6"
I guess TIMTOWTNI :- 20:03
(
Geth_ roast: 9f1fd82def | usev6++ | 2 files
[JVM] Run tests for my with parens and SSA binding

Fixed with github.com/perl6/nqp/commit/29793bb553
lizmat AlexDaniel: let me put it this way: I believe it when I see it :-) 20:06
AlexDaniel lizmat: well, I assume you've seen this? youtu.be/E5t8qaAGw9w?t=4885
lizmat AlexDaniel: I co-organized that even and I was there :-) 20:08
AlexDaniel touché :)
jnthn wonders where AlexDaniel quoted from? 20:11
AlexDaniel www.reddit.com/r/perl/comments/885...nd_in_the/ 20:12
jnthn oh goodness reddit
AlexDaniel :)
lizmat yeah, thanks to the efforts of ribasushi 20:13
AlexDaniel listening to that video carefuly, however, I realize that it doesn't fully make sense. He is talking about marketing distributions and … versions? So Star can be marketed as Star, and Diwali can be marketed as Diwali? Well thanks a lot, but this is not helping anything when the underlying language is “Perl”.
lizmat indeed 20:14
AlexDaniel and it almost feels like I and Zoffix were a bit too optimistic to hear what we wanted to hear there
lizmat and another Perl 6 Weekly hits the Net: p6weekly.wordpress.com/2018/03/31/...-released/ 22:05
timotimo lizmat: i have a blog post! 22:08
oh wait 22:09
lizmat cool, where ?
timotimo that was already in last week's weekly
never mind!
i just can't believe it has been that long :)
lizmat yeah, time flies, and it's not even a week ago :)
timotimo right 22:10
Zoffix AlexDaniel: I didn't hear what I wanted to hear. I heard exactly what Larry said: "we can have other names under which versions/distros can be marketed". Which is exactly why the 6.d-prep repo talks about aliases not renames ( irclog.perlgeek.de/perl6/2018-03-16#i_15929728 ) 23:20
yoleaux 30 Mar 2018 16:03Z <Kaiepi> Zoffix: didn't end up being a bug, just differences in how openbsd handles fcntl that i wasn't aware of
Zoffix But skimming that reddit thread, I'd say people are doing too much thinking for Larry. People spew completely made up information just for the sake of trying to win an argument and not having an accurate picture of reality. 23:21
As well as people trying to intetionally stir up drama by declaring assumptions about liz's talks as facts before it even happened 23:24
lizmat++ # good weekly 23:29
You got me with the Singularity :(
(mostly because it's still 31st here :P)
timotimo april fool's things have been happening all day for some reason 23:30
AlexDaniel Zoffix: well, that quote is exactly my point. He didn't say that the language itself can be marketed under another name 23:42
maybe it was implied, I don't know
Zoffix AlexDaniel: the question was posed about multiple language versions and the answer was about versions. 23:48
There was no "THE language" in that question.
("Pumpking Perl" is the old proposed rename for Perl 5) 23:50
AlexDaniel oh, versions in this sense
I totally forgot that the number was supposed to be a version
d'oh!
OK then 23:52
ZofBot: do you also now think that “6” is part of the name?
ZofBot AlexDaniel, m