Perl 6 - the future is here, just unevenly distributed

IRC log for #perl6-dev, 2017-06-26

| Channels | #perl6-dev index | Today | | Search | Google Search | Plain-Text | summary

All times shown according to UTC.

Time Nick Message
00:04 samcv i just added something to my shell. a `gcd` command. i run gcd and it will cd into directories inside ~/git to two levels of depth. and i even have instant autocomplete
00:04 samcv since i spend so much time cding into git directories lol
00:10 samcv pretty nifty https://cry.nu/files/konsole9.webm
01:49 ilbot3 joined #perl6-dev
01:49 Topic for #perl6-dev is now Perl 6 language and compiler development 2.0 | Logs at http://irclog.perlgeek.de/perl6-dev/today | For toolchain/installation stuff see #perl6-toolchain | For MoarVM see #moarvm
02:39 [Tux] joined #perl6-dev
02:57 stmuk_ joined #perl6-dev
04:22 geekosaur joined #perl6-dev
05:33 [Tux] This is Rakudo version 2017.06-73-ge4f3358fa built on MoarVM version 2017.06-14-g888b33d1
05:33 [Tux] csv-ip5xs        2.672
05:33 [Tux] test            12.702
05:33 [Tux] test-t           4.042 - 4.129
05:33 [Tux] csv-parser      13.502
07:08 [TuxCM] joined #perl6-dev
07:51 dogbert2 joined #perl6-dev
08:03 ilbot3 joined #perl6-dev
08:03 Topic for #perl6-dev is now Perl 6 language and compiler development 2.0 | Logs at http://irclog.perlgeek.de/perl6-dev/today | For toolchain/installation stuff see #perl6-toolchain | For MoarVM see #moarvm
08:56 lizmat Files=1207, Tests=62913, 219 wallclock secs (13.02 usr  5.02 sys + 1325.17 cusr 134.60 csys = 1477.81 CPU)
09:29 brrt joined #perl6-dev
10:10 donaldh joined #perl6-dev
10:11 robertle joined #perl6-dev
10:22 Geth ¦ roast: abdf23ff6d | (Elizabeth Mattijsen)++ | S03-operators/set.t
10:22 Geth ¦ roast: Remove (-) tests better tested in difference.t
10:22 Geth ¦ roast: review: https://github.com/perl6/roast/commit/abdf23ff6d
10:31 astj joined #perl6-dev
10:34 astj joined #perl6-dev
10:34 astj joined #perl6-dev
10:48 DeadDelta joined #perl6-dev
15:08 ilbot3 joined #perl6-dev
15:08 Topic for #perl6-dev is now Perl 6 language and compiler development 2.0 | Logs at http://irclog.perlgeek.de/perl6-dev/today | For toolchain/installation stuff see #perl6-toolchain | For MoarVM see #moarvm
15:11 timotimo YW, i'll go ahead and delete the file
15:13 jdv79 i didnt get it
15:13 jdv79 on my ohone
15:13 jdv79 phone
15:14 timotimo whoops
15:14 timotimo ok, easy enough to put it back up
15:14 timotimo it's back
15:15 jdv79 its 45k?
15:18 timotimo yup
15:21 jdv79 got it then
15:47 robertle_ joined #perl6-dev
15:50 jnthn Darn, getting the /win 25
15:50 jnthn gah
15:51 jnthn Darn, getting the proc async stuff making the descriptor available in a natural way with the existing API that simultaneously not lead users to write races into their code has been a bit of an effort...
15:54 jnthn Should be pretty close to having $async-proc-b.bind-stdin($async-proc-b.stdout) Just Work (and actually plumb the descriptors together, not copy), though
15:55 AlexDaniel greppable6: \.\.['"]
15:55 greppable6 AlexDaniel, https://gist.github.com/c1b6349cb67de10c98bbcffd7efb9dab
15:57 AlexDaniel greppable6: \.\.['"][^ ]
15:57 AlexDaniel hey…
15:59 AlexDaniel “Malformed UTF-8” somewhere, hm
15:59 greppable6 joined #perl6-dev
15:59 AlexDaniel greppable6: \.\.['"][^ ]
15:59 AlexDaniel well…
15:59 greppable6 joined #perl6-dev
16:00 AlexDaniel ( https://github.com/perl6/whateverable/issues/153 )
16:11 Geth ¦ nqp: 3b3aa8ce42 | (Jonathan Worthington)++ | tools/build/MOAR_REVISION
16:11 Geth ¦ nqp: Bump MOAR_REVISION for async process changes.
16:11 Geth ¦ nqp: review: https://github.com/perl6/nqp/commit/3b3aa8ce42
16:11 Geth ¦ nqp: version bump brought these changes: https://github.com/MoarVM/MoarVM/compare/2017.06-13-g7405dfa...2017.06-29-ga51ba62
16:11 Geth ¦ nqp: 316d2ef15e | (Jonathan Worthington)++ | src/vm/moar/QAST/QASTOperationsMAST.nqp
16:11 Geth ¦ nqp: Map nqp::permit op on MoarVM backend.
16:11 Geth ¦ nqp: review: https://github.com/perl6/nqp/commit/316d2ef15e
16:11 Geth ¦ nqp: version bump brought these changes: https://github.com/MoarVM/MoarVM/compare/2017.06-13-g7405dfa...2017.06-29-ga51ba62
16:11 Geth ¦ nqp: c5fc79f5e0 | (Jonathan Worthington)++ | 2 files
16:11 Geth ¦ nqp: Stub permit handling on the JVM.
16:11 Geth ¦ nqp: review: https://github.com/perl6/nqp/commit/c5fc79f5e0
16:11 Geth ¦ nqp: version bump brought these changes: https://github.com/MoarVM/MoarVM/compare/2017.06-13-g7405dfa...2017.06-29-ga51ba62
16:12 Geth ¦ rakudo/nom: 823011281d | (Jonathan Worthington)++ | 3 files
16:12 Geth ¦ rakudo/nom: Allow getting native descriptor in Proc::Async.
16:12 Geth ¦ rakudo/nom:
16:12 Geth ¦ rakudo/nom: This takes advantage of recent MoarVM changes in order to allow the
16:12 Geth ¦ rakudo/nom: created stdout and stderr pipes to be used either for their data (by
16:12 Geth ¦ rakudo/nom: tapping the returned object) or for the file descriptor. This is done
16:12 Geth ¦ rakudo/nom: by making `stdout` and `stderr` return a `Proc::Async::Pipe`, which is
16:12 Geth ¦ rakudo/nom: a subclass of `Supply` (for full back-compat), but with the addition
16:12 Geth ¦ rakudo/nom: <…commit message has 18 more lines…>
16:12 Geth ¦ rakudo/nom: review: https://github.com/rakudo/rakudo/commit/823011281d
16:31 * lizmat is looking forward to jnthn's blog post about ^^^  :-)
16:42 jnthn Will continue working on that stuff tomorrow :)
16:42 jnthn dinner cooking &
16:47 greppable6 joined #perl6-dev
20:35 pmurias joined #perl6-dev
20:41 vendethiel joined #perl6-dev
20:46 Ven joined #perl6-dev
20:57 Ven_ joined #perl6-dev
21:09 * timotimo is bisecting the profiler crashyness
21:13 timotimo i tracked it down to be either b3345651648645e1d3af6961226587f8cc87db28 or 0837bd3257eef9e5a8468ef73db2cb1152a57fd7
21:13 timotimo https://github.com/MoarVM/MoarVM/commit/b3345651648645e1d3af6961226587f8cc87db28  -  Handle value use decrements in instruction delete
21:14 timotimo https://github.com/MoarVM/MoarVM/commit/0837bd3257eef9e5a8468ef73db2cb1152a57fd7  -  When deleting a BB, decrement instruction usages.
21:15 timotimo so i wonder if we're playing it fast and loose with usages somewhere when *adding* instructions
21:16 timotimo so maybe we're adding instructions that get deleted in a later part of spesh and that gets our usage down to 0 when it should be 1
21:20 jnthn timotimo: Mebbe, though I'd expect that to be much more broadly noticable than in the profielr
21:21 timotimo hm, the profiler puts its stuff in there in a pre-optimize-stage, right? so the usage counts ought to be correct by virtue of constructing the full SSA from the profiler's flat output?
21:21 jnthn Yeah
21:21 timotimo there goes that theory, i guess
21:27 timotimo m(  turns out "c" in gdb isn't short for "call"
21:38 timotimo this dump of run_nfa definitely has a BB in it that is unreachable
21:38 timotimo that's strange.
21:38 timotimo BB 1 ends in goto BB(3)
21:39 timotimo 2 has predecessors 2 and 3
21:39 timotimo but 3 ends in return_o
21:42 timotimo so nfa_run_alt is being called with a labels parameter of null, i.e. low-level null pointer
21:43 timotimo that comes straight from the argument number 5, which the spesh candidate has a guard for, which is "this must be concrete"
21:44 timotimo okay, the register that goes there comes straight from !alt's argument number 3
21:45 timotimo which, interestingly enough, does have a value there
21:47 timotimo but the .work[3].o is a null pointer at that point
21:47 timotimo maybe i can get at this with rr
21:47 DeadDelta What does "BB" stand for?
21:47 jnthn Basic Block
21:47 DeadDelta Also, what's "deopt"?
21:48 jnthn Short for deoptimization
21:48 DeadDelta hm. OK. Thanks.
21:48 jnthn We do speculative optimization - that is, make assumptions about what types will show up at runtime
21:48 DeadDelta And when assumptions fail, we "deopt"?
21:48 jnthn If we guess wrong, we deoptimize - that is, fall back to the interpreted slow-path code - to handle the unexpected/uncommon case
21:49 DeadDelta Cool.
21:49 jnthn It's not an entirely simple process, since we may be inside of multiple levels of inlined code, and when we deopt we have to recreate the real call stack again
21:54 jnthn DeadDelta: In https://docs.perl6.org/type/IO::Path#method_child it says it will " be switched to secure version around 6.d release time" - what is the secure version called today?
21:55 DeadDelta jnthn: it doesn't exist. It's just commented out code: https://github.com/rakudo/rakudo/blob/nom/src/core/IO/Path.pm#L374-L396
21:57 DeadDelta jnthn: basically the discussion decided that instead of adding a special method that users would have to know to make secure child, we should make child itself secure, but due to large ecosystem usage and lack of guarantee it's secure (e.g. old compilers that have `use v6.c`) pushed that switch to 6.d
21:57 DeadDelta + .add was too new to tell people to just switch to using it if they want the fast, non-secure .child
21:57 jnthn ah, ok
21:57 jnthn Ah, but it works in terms of using .resolve(:completely)
21:57 DeadDelta Yes
21:57 jnthn Which was what I was thinking of faking it in terms of :)
21:57 jnthn OK
21:58 DeadDelta And there's a module users can use today, if needed
21:58 DeadDelta buggable: eco secure
21:58 buggable DeadDelta, IO::Path::ChildSecure 'Secure version of IO::Path.child': https://github.com/zoffixznet/perl6-IO-Path-ChildSecure
21:58 jnthn Oh, cool
22:13 timotimo from the number of "null" calls it did it looks kind of like i'm not in the speshed version of this function, actually
22:15 timotimo i can't find a version of this in the speshlog that corresponds to the ops i'm seeing in the interpreter
22:16 timotimo i.e. i see getarg_o followed by profile_log_allocated
22:16 timotimo in the interpreter
22:16 jnthn The profiler form doesn't appear in the spesh log I guess
22:16 timotimo i don't like that much :)
22:16 jnthn oh, but sp_getarg_o would only be in such a form
22:16 jnthn Uh, a spesh'd form I mean
22:16 timotimo ah, indeed
22:17 timotimo 11 nulls
22:18 vendethiel- joined #perl6-dev
22:19 timotimo i do see prof_allocated entries in the speshlog in other places
22:20 jnthn Sleep time here, and for once it's a nice temperature for sleeping
22:20 jnthn o/
22:21 timotimo yay!
22:21 timotimo have a good sleep :)
22:22 timotimo i found where i'm executing
22:22 timotimo it's the version of run_alt that had its logging stuff inserted
22:25 timotimo now i notice i'm in the frame that already got the null passed in via a parameter m(
22:25 timotimo so i need to go up an mvm frame
22:29 timotimo i really need to add many more gdb commands
22:35 timotimo especially a disassembler would be nice to have
22:36 lizmat and another Perl 6 Weekly hits the Net: https://p6weekly.wordpress.com/2017/06/26/2017-26-half-way-there/
22:37 dogbert2 joined #perl6-dev
22:40 timotimo oh i seem to remember the "where are colons used" idea was announced at least a month in advance of TPC2017
22:43 timotimo lizmat++
23:37 awwaiid joined #perl6-dev
23:48 awwaiid joined #perl6-dev
23:53 awwaiid joined #perl6-dev

| Channels | #perl6-dev index | Today | | Search | Google Search | Plain-Text | summary