Perl 6 language and compiler development | Logs at colabti.org/irclogger/irclogger_log/perl6-dev | For toolchain/installation stuff see #perl6-toolchain | For MoarVM see #moarvm
Set by Zoffix on 27 July 2018.
00:00 gfldex left
hankache MSI release candidate: www.hankache.com/rakudostar/rakudo-...IT)-RC.msi 00:02
00:20 hankache left 00:26 ufobat_ joined 00:30 ufobat left 00:33 lucasb left 01:27 lizmat_ joined 01:30 lizmat left 02:19 lizmat joined 02:22 lizmat_ left, Kaiepi left
Geth rakudo: 5a9b720d70 | (Nick Logan)++ (committed using GitHub Web editor) | src/core/Kernel.pm6
Check for fexistence before checking if executable

  See #2756
02:37
synopsebot RAKUDO#2756 [open]: github.com/rakudo/rakudo/issues/2756 $*KERNEL.bits on Windows
Geth rakudo: 6e8df010f7 | (Nick Logan)++ (committed using GitHub Web editor) | src/core/Kernel.pm6
Ensure we boolify our value
02:52
03:18 travis-ci joined
travis-ci Rakudo build failed. Nick Logan 'Check for fexistence before checking if executable 03:18
travis-ci.org/rakudo/rakudo/builds/504182141 github.com/rakudo/rakudo/compare/a...9b720d709f
03:18 travis-ci left 03:27 AlexDani` joined 03:29 AlexDaniel left 04:05 TreyHarris left 04:19 TreyHarris joined 04:20 Kaiepi joined 04:26 lizmat left 05:23 MasterDuke left 06:11 Kaiepi left 06:12 Kaiepi joined 06:27 dhyan_nataraj joined 06:42 AlexDani` is now known as AlexDaniel 06:53 hoelzro_ joined 06:57 hoelzro left, synopsebot left, tailgate left 07:32 ufobat_ left 08:41 lizmat joined
lizmat commute home& 08:53
08:53 lizmat left 09:55 dhyan_nataraj left, dhyan_nataraj joined, dhyan_nataraj left 11:58 tailgate joined 12:05 lucasb joined 12:32 lucasb left, lucasb joined 12:44 AlexDaniel left
[Tux] Rakudo version 2019.03-27-g6e8df010f - MoarVM version 2019.03-10-g81284a077
csv-ip5xs0.738 - 0.746
csv-ip5xs-206.228 - 6.381
csv-parser23.418 - 23.481
csv-test-xs-200.438 - 0.439
test7.746 - 8.019
test-t1.848 - 1.880
test-t --race0.856 - 0.881
test-t-2032.058 - 32.898
test-t-20 --race10.625 - 10.652
13:00
13:33 AlexDaniel joined 16:51 MasterDuke joined, MasterDuke left, MasterDuke joined
MasterDuke anybody think they'd be able to help with my jmv-on-my-default-to-int-branch-in-nqp problem? 17:19
18:31 AlexDaniel left 18:41 lizmat joined 19:50 ufobat joined 20:03 lucasb left 20:13 AlexDaniel joined 20:14 epony left 20:19 AlexDaniel left 20:25 gfldex joined 20:26 epony joined
Geth roast: 3562c2f90d | (Ben Davies)++ | S32-io/IO-Socket-Async.t
Stub IO::Socket::Async IPv6 tests on the JVM on OpenBSD

The OpenJDK's package on OpenBSD uses custom patches that force it to use IPv4, meaning these tests always fail.
20:34
timotimo Compress::Zlib leaks like a sieve i think %) 21:06
21:08 AlexDaniel joined
MasterDuke timotimo: it's internals should still be re-written to directly use the encoder/decoder api, that might help (or might just make it leak faster) 21:17
timotimo: are you using :bin? that would be much better if my open PR was merged. i should probably email retupmoca, i think i had to do that to get my last PR merged 21:19
timotimo ah 21:20
if retupmoca's anything like me, github notifications are a torrent of noise and signal gets drowned out 100% of the time
anyway, this is a development-only script, so i've just reimplemented gzslurp based on run "zcat" :) 21:21
21:22 AlexDaniel left
MasterDuke just sent an email 21:28
timotimo m: sub testsub(Int $a, Str $b) { }; testsub("hi") 21:32
camelia 5===SORRY!5=== Error while compiling <tmp>
Calling testsub(Str) will never work with declared signature (Int $a, Str $b)
at <tmp>:1
------> 3sub testsub(Int $a, Str $b) { }; 7ā5testsub("hi")
timotimo m: sub testsub(Int $a, Str $b) { }; "hi".&testsub()
camelia Too few positionals passed; expected 2 arguments but got 1
in sub testsub at <tmp> line 1
in block <unit> at <tmp> line 1
timotimo ^- LTA
m: say +"a" xx 10_000 22:02
camelia Cannot convert string to number: base-10 number must begin with valid digits or '.' in '3ā5a' (indicated by ā)
in block <unit> at <tmp> line 1
timotimo m: say +("a" x 10_000); 22:03
camelia Cannot convert string to number: base-10 number must begin with valid digits or '.' in '3ā5aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaā€¦
timotimo m: say +("a" x 100_000);
camelia Cannot convert string to number: base-10 number must begin with valid digits or '.' in '3ā5aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaā€¦
timotimo m: say +("a" x 1_000_000); say now - INIT now;
camelia Cannot convert string to number: base-10 number must begin with valid digits or '.' in '3ā5aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaā€¦
timotimo m: say +("\x[1]" x 1_000_000);
camelia (timeout) 22:04
timotimo ^- LTA 22:05
japhb .ask jnthn Why doesn't the run-one() tail recursion in your _Understanding react, supply, and whenever_ talk cause super-deep invocation stacks? Let alone the problem of whether memory would grow, what would profiling and backtraces look like? 22:38
yoleaux japhb: I'll pass your message to jnthn.
MasterDuke japhb: is the talk available online? 22:39
japhb MasterDuke: twitter.com/jnthnwrthngtn/status/1...6775005184
MasterDuke cool, thanks 22:40
timotimo japhb: "whenever" is asynchronous, so it'll just be installed as a handler when the whenever it's in is finished 22:41
22:41 Kaiepi left
japhb Ah, so you're saying each call to run-one() installs a bunch of handlers and phasers and such into a dynamically found react/supply, then unwinds the stack (leaving the exhausted whenever it was called from) and allows the react/supply to process the next event. OK, so that keeps the invocation stack from growing needlessly. 23:01
But what about the backtrace attached to an exception thrown inside a whenever inside the run-one()? What does that actually look like?
timotimo lexically found, actually 23:02
it doesn't have to unwind a stack, i don't think
it's more like a regular closure 23:03
i think the call actually looks like it comes from the react implementation directly 23:05
jnthn japhb: The `whenever` subscribes, the events are delivered asynchronously. By the one-message-at-a-time rule, they *can't* be delivered until the current message is processed. 23:14
yoleaux 22:38Z <japhb> jnthn: Why doesn't the run-one() tail recursion in your _Understanding react, supply, and whenever_ talk cause super-deep invocation stacks? Let alone the problem of whether memory would grow, what would profiling and backtraces look like?
jnthn japhb: So by the time the events come, then the code that did the subscription is no longer in dynamic scope 23:15
MasterDuke jnthn: if you're in the mood for a really "fun" problem, the attempting to fix the jvm backend for my nqp default-int branch is currently giving me this gist.github.com/MasterDuke17/b69bf...4473842af1 (the file named '2') 23:17
this is the precise change that causes it gist.github.com/MasterDuke17/b69bf...ch-L20-L21 23:18
japhb timotimo: Hmmm, so you're saying an exception thrown from a whenever block will have its immediate backtrace caller be the react/supply implementation?
timotimo well, it won't be shown by the default backtrace printer of course 23:19
japhb timotimo: I'm guessin the default backtrace printer would skip the implementation frames and just print the surrounding react.
Also, let me pull on that lexically found bit ... are you saying you wouldn't be able to have whenever blocks inside a subroutine defined lexically outside the react block? 23:21
timotimo yeah, though i'd have to try it myself
that is correct
it has to be inside the react/supply block
if you don't want that, "just" have it be a supply block and whenever it from inside the original react block 23:22
japhb hrmm. That difference from gather/take is One More Thing to Know.
nodnod
timotimo can always "use v6.c" to get the other semantics :P
japhb Nah, I've just been around here for long enough to have mixed all the various versions of Perl 6 semantics into a fine slurry.
timotimo i guess it'd be possible to have "react :dynamic { ... }" 23:23
wait, no, the whenevers outside will error
so it'd also have to have a flag somewhere for that
japhb Not worth it. But hopefully we explain that difference from gather/take in the docs somewhere.
timotimo that'd be good, yeah 23:24
japhb *fine mental slurry
timotimo heavy mental slurry
japhb There are scenes from the original Heavy Metal movie that could be described as that, yes. 23:25
timotimo i have not yet seen that!
though a friend recommended it to me a long time ago already
and multiple times since
japhb Oh, very worth it. I mean, at this point I suspect the obvious fan service to have not aged well, but taken as a product of its time period? Quite a thing. 23:26
jnthn Forcing the whenevers to be lexically enclosed in the react/supply is to facilitate static analysis and optimization
japhb jnthn: Totally believe you. (And not at all asking to change it.) 23:27
jnthn MasterDuke: Still resting off the GPW trip, so not much brane for fun problems today. 23:28
MasterDuke completely understandable, i'm still reeling from the DST change... 23:29
japhb jnthn: Do you still have time on your Perl 6 grants left, or are those coffers emptied?
timotimo Remaining funding-approved hours on current grant period: 160:51 23:30
Remaining community-approved hours on current grant period: 326:51
^- that was posted on february 11th
jnthn japhb: Still a decent amount left...the figures timotimo quoted don't include February's work; will do that report in the next day or two 23:31