Perl 6 - the future is here, just unevenly distributed

IRC log for #perl6-dev, 2017-10-12

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

All times shown according to UTC.

Time Nick Message
00:03 Zoffix c: bad26 say 'This commit is pretty bad'
00:03 committable6 Zoffix, ¦bad26: «This commit is pretty bad»
00:03 Zoffix ^_^
00:04 AlexDaniel- ouch. This should probably complain
00:04 AlexDaniel- github for example refuses to show it https://github.com/rakudo/rakudo/commit/bad26
00:05 Zoffix it is a valid commit tho :)
00:05 releasable6 joined #perl6-dev
00:05 Zoffix `git show` also shows it :)
00:05 AlexDaniel- right
00:06 AlexDaniel- fwiw you can craft a commit with as many zeros as you … um… let your computer run :) preferably thousands of years
00:06 AlexDaniel- but 8 zeros shouldn't be that big of a deal maybe
00:15 Zoffix ZofBot: and that's why we can't have nice things!
00:15 ZofBot Zoffix, ) Note, however, that it does no flattening of its list items: @x = lol(item (1,2),(3,4)) # @x eqv LoL( (1,2), (3,4) ) * The "list" contextualizer list foo() Forces the subsequent expression to be evaluated in list context
00:17 mst Zoffix: what have you done to git?
00:17 Zoffix mst: whatumean?
00:18 mst Zoffix: bad26?
00:18 Zoffix mst: It's one of the commits. bad2657d4f37e4ae73adfc931a769e64ee7588c1
00:18 mst ok but if github won't show it I'm curious how you broke it
00:19 Zoffix I'm guessing github just doesn't accept shas shorter than N, while git doesn't mind
00:20 * Zoffix goes to bed
00:20 mst ah, right, yeah, maybe it can't handle that bit
00:20 AlexDaniel- and I guess they do it so that people won't be using links idiotic links with too short shas
00:20 AlexDaniel- s/links//
00:21 AlexDaniel- IMO they already go too far by allowing 6
00:34 mst six is the common way to shorthand a commit though
00:38 AlexDaniel- not if you want to post that as a link somewhere
00:38 AlexDaniel- because a few moments later it is suddenly pointing to another commit…
00:38 AlexDaniel- or does it?
00:38 mst the git binary tells you there's more than one and makes you think about it
01:17 MasterDuke ooo, now making real progress, INTERPOLATE seems to be ~25% faster
01:40 llfourn joined #perl6-dev
01:57 ilbot3 joined #perl6-dev
01:57 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
04:39 skids joined #perl6-dev
05:32 patrickz joined #perl6-dev
06:14 AlexDaniel- joined #perl6-dev
06:16 Geth ¦ nqp: 31a40557c2 | usev6++ | src/vm/jvm/runtime/org/perl6/nqp/sixmodel/reprs/P6bigintInstance.java
06:16 Geth ¦ nqp: [jvm] Avoid failure in getattr
06:16 Geth ¦ nqp:
06:16 Geth ¦ nqp: An exception was raised in getattr, because we tried to
06:16 Geth ¦ nqp: set the first field found (which was 'private static final').
06:16 Geth ¦ nqp:
06:16 Geth ¦ nqp: A better fix might be to change the logic in getattr, but
06:16 Geth ¦ nqp: this helps for now.
06:16 Geth ¦ nqp: review: https://github.com/perl6/nqp/commit/31a40557c2
06:33 travis-ci joined #perl6-dev
06:33 travis-ci NQP build passed. usev6 '[jvm] Avoid failure in getattr
06:33 travis-ci https://travis-ci.org/perl6/nqp/builds/286879401 https://github.com/perl6/nqp/compare/e9bca388a765...31a40557c2c9
06:33 travis-ci left #perl6-dev
07:23 [TuxCM] joined #perl6-dev
07:23 [TuxCM] This is Rakudo version 2017.09-380-g4b8a0ef65 built on MoarVM version 2017.09.1-594-gb9d3f6da
07:23 [TuxCM] csv-ip5xs        1.159 -  1.161
07:23 [TuxCM] test             9.572 -  9.632
07:23 [TuxCM] test-t           3.093 -  3.150
07:23 [TuxCM] csv-parser       0.831 -  0.894
07:37 timotimo it hasn't been this close to below 3 has it?
08:05 timotimo ah, *now* i get integers with json::fast and enums
08:05 timotimo i guess ... the reboot fixed it?
08:08 timotimo (but i'd like the enum pieces to show up as strings instead)
10:03 astj joined #perl6-dev
10:04 astj joined #perl6-dev
10:11 llfourn joined #perl6-dev
10:42 jnthn m: ('hello', 1, 22/7, 42, 'world').classify: { .Str.chars };
10:42 camelia rakudo-moar 4b8a0e: ( no output )
10:42 jnthn m: ('hello', 1, 22/7, 42, 'world').classify: { .Str.chars }.^name.say
10:42 camelia rakudo-moar 4b8a0e: OUTPUT: «Block␤Cannot resolve caller classify-list(Hash[Any,Any]: Bool, List, :as(Callable)); none of these signatures match:␤    (Hash $: &test, \list, :&as, *%_)␤    (Hash $: %test, |c is raw)␤    (Hash $: @test, |c is raw)␤    (Hash $: &test, **@list…»
10:43 jnthn m: ('hello', 1, 22/7, 42, 'world').classify({ .Str.chars }).^name.say
10:43 camelia rakudo-moar 4b8a0e: OUTPUT: «Hash[Any,Any]␤»
10:43 jnthn m: ('hello', 1, 22/7, 42, 'world').categorize({ .Str.chars }).^name.say
10:43 camelia rakudo-moar 4b8a0e: OUTPUT: «Hash[Any,Any]␤»
10:43 jnthn m: ('hello').categorize({ .Str.chars }).^name.say
10:43 robertle joined #perl6-dev
10:43 camelia rakudo-moar 4b8a0e: OUTPUT: «Hash[Any,Any]␤»
10:43 jnthn m: ('hello').classify({ .Str.chars }).^name.say
10:43 camelia rakudo-moar 4b8a0e: OUTPUT: «Hash[Any,Any]␤»
11:10 pmurias joined #perl6-dev
11:25 Geth ¦ nqp: 4d312edbfb | pmurias++ | 2 files
11:25 Geth ¦ nqp: [js] Fix typed access to multidims and make positional refs use typed acess
11:25 Geth ¦ nqp: review: https://github.com/perl6/nqp/commit/4d312edbfb
11:25 Geth ¦ nqp: fb2f34a486 | pmurias++ | t/nqp/102-multidim.t
11:25 Geth ¦ nqp: Test access of uninitialized elements of multidims with nqp::atpos_* ops
11:25 Geth ¦ nqp: review: https://github.com/perl6/nqp/commit/fb2f34a486
12:20 buggable joined #perl6-dev
12:25 buggable joined #perl6-dev
12:26 buggable joined #perl6-dev
12:30 buggable joined #perl6-dev
12:31 buggable joined #perl6-dev
12:32 releasable6 joined #perl6-dev
12:33 buggable joined #perl6-dev
12:34 buggable joined #perl6-dev
12:34 Zoffix buggable: speed 100
12:34 buggable Zoffix, ▅▅▆↑▇↑▆▅▅▅▅▆▅▅▄▄▅▇▆▆↑↑▅▅▅▅▄▄▅▅▄▅▄▄▅▄▄▆▄▅▄▄▄▄▄▅▅▆▄▆▄▃▆↑█▆▃▃▂▂▃▂▃▂▂▂▄▅▃▄▃▃▆▃▂▂▂▂▃▂▃▃▃▃▂▂▃▃▂▃▂▂▂▁▂▂▄▂▁▂ dates: 2017-09-08–2017-10-12; range: 3.093s–4.237s; speed: 15% faster (widths: 10/3)
12:34 Zoffix buggable: speed 80
12:34 buggable Zoffix, ↑↑▇▇▆▇▆▅▆▆▆▆▅▅▆▆▅█▆▆▅▅▅▆▆▆▇▇▆▇▆▄█↑↑█▄▃▂▃▃▂▃▃▃▃▅▇▄▅▃▄█▄▂▂▂▃▃▃▃▄▄▃▃▃▄▄▂▄▂▂▃▂▂▂▆▃▁▂ dates: 2017-09-16–2017-10-12; range: 3.093s–4.237s; speed: 14% faster (widths: 10/3)
12:35 Zoffix Made it sample averages from both ends, so it's less sensitive about which commit the endpoint is at.
12:35 Zoffix (widths: 10/3) => average 10 commits from the past end and 3 commits from the recent end
12:40 Zoffix c: 2017.04 { temp $*OUT = "/tmp/czxczxczxc".IO.open: :w; for ^10000 { start say $_ } }
12:40 committable6 Zoffix, ¦2017.04: «»
12:40 Zoffix c: 2017.04 { temp $*OUT = "/tmp/czxczxczxc".IO.open: :w; for ^10000 { start say $_ } }
12:40 committable6 Zoffix, ¦2017.04: «»
12:40 Zoffix c: 2017.04 { temp $*OUT = "/tmp/czxczxczxc".IO.open: :w; for ^10000 { start say $_ } }
12:40 committable6 Zoffix, ¦2017.04: «9995»
12:41 Zoffix ^ wtf? Why does that one end up on STDOUT instead of the handle I po... oh ok neverfmind
12:41 Zoffix There's no await
12:42 Zoffix m: { temp $*OUT = "/tmp/czxczxczxc".IO.open: :w; start { sleep 1; say 42; } }; sleep 2
12:42 camelia rakudo-moar 4b8a0e: OUTPUT: «42␤»
12:42 Zoffix Tho wonder if this should be concidered a bug or not
12:43 quotable6 joined #perl6-dev
12:43 Zoffix m: my $*x = 42; { my $*x = 70; start { sleep 1; say $*x; } }; sleep 2
12:43 camelia rakudo-moar 4b8a0e: OUTPUT: «70␤»
12:44 Zoffix m: my $*x = 42; { temp $*x = 70; start { sleep 1; say $*x; } }; sleep 2
12:44 camelia rakudo-moar 4b8a0e: OUTPUT: «42␤»
12:44 AlexDaniel- Zoffix: hey, I've seen that you tried to use quotable6 a couple of times without much success. It's a little bit better now, maybe give it a try
12:44 AlexDaniel- quotable6: squashathon
12:44 quotable6 AlexDaniel-, OK, working on it! This may take up to three minutes (4412528 messages to process)
12:44 * Zoffix doesn't remember using it
12:44 AlexDaniel- well, a few weeks ago :)
12:45 quotable6 AlexDaniel-, Found nothing!
12:45 AlexDaniel- WHAT?
12:45 * AlexDaniel- facepalms
12:47 AlexDaniel- ZofBot: can you teach your little fella?
12:47 ZofBot AlexDaniel-, For security reasons, many operating systems limit this functionality to the superuser
12:49 AlexDaniel- quotable6: squash
12:49 quotable6 AlexDaniel-, OK, working on it! This may take up to three minutes (4412528 messages to process)
12:50 jnthn start blocks don't make a complete clone of the dynamic scope, so they'll see any mutations in it
12:50 jnthn They just have a reference to the context they were invoked in
12:51 quotable6 AlexDaniel-, https://gist.github.com/a59458684f0ae2cb0f63d1765643430a
12:52 AlexDaniel- ↑ I know it's a bit LTA, but enough to be useful
12:52 Zoffix jnthn: I just filed it as https://rt.perl.org/m/ticket/show?id=132275 lol
12:52 AlexDaniel- except that I have no idea why it failed to match “squashathon”
12:52 Zoffix jnthn: so should it be closed?
12:52 AlexDaniel- good night everybody o/
12:52 jnthn o/ AlexDaniel-
12:52 jnthn Zoffix: Yeah, I mean, what would a fix look like?
12:53 * Zoffix shrugs and closes :)
12:53 jnthn You'd basically be asking for it to walk down the entire call stack on each start block, identify every dynamic variable, and clone it, to some depth or other
12:56 jnthn Hmm...
12:56 jnthn Just looking at Seq
12:57 jnthn Oh, maybe it's OK but odd
12:57 Zoffix What is it?
12:57 jnthn I'm guessing Iterator.count-only and Iterator.bool-only, if defined, must be able to produce the result wihtout actually doing any kind of iteration work?
12:58 jnthn But even then it's a tad weird
12:58 jnthn There's code like this:
12:58 jnthn nqp::if(
12:58 jnthn nqp::can($!iter,'bool-only'),
12:58 jnthn $!iter.bool-only,
12:58 jnthn nqp::if(
12:58 jnthn nqp::can($!iter,'count-only'),
12:58 jnthn ?$!iter.count-only,
12:58 jnthn self.cache.Bool
12:58 jnthn )
12:58 jnthn ),
12:58 jnthn The optimized paths aren't equivalent to self.cache.Bool though
12:58 jnthn Because self.cache takes the iterator
12:59 jnthn And the optimized paths don't
12:59 jnthn So you can get inconsistent semantics
12:59 jnthn Depending on if the Seq just happens to have an iterator under it that supports count-only or bool-only
12:59 jnthn But also the optimization *relies* on keeping the iterator around :/
13:00 Zoffix Yeah
13:00 Zoffix But you can think of it that part of optimization is you don't have to cache stuff for iterators that can do bool-only and count-only
13:01 jnthn But it makes "This sequence has already been consumed" behavior inconsistent
13:01 jnthn my \s = get-some-seq(); say s.elems; for s { ... }
13:02 jnthn If get-some-seq() returns something that has the count-only optimization then this code accidentally works
13:02 jnthn Then you do some seemingly harmless refactor inside of get-some-seq (which may come from a module you don't control)
13:02 jnthn (Or you might control the module but not the downstream code)
13:02 jnthn And then boom, breakage.
13:02 jnthn For code that never should have worked in the first place anyway
13:03 jnthn So the optimization violates the Seq contract
13:04 Zoffix No, it works in all the cases. If optimization exists, `.elems` won't steal iterator and `for` will use it. If optimization doesn't exist, .elems will cache the sec and for will use the cached iterator
13:04 jnthn We...used the cached iterator?
13:04 jnthn Hm, we do
13:04 Zoffix m: my $s := Seq.new: class :: does Iterator { method zool-only { say 42 }; method pull-one { $++ and IterationEnd } }.new; say $s.elems; .say for $s
13:04 camelia rakudo-moar 4b8a0e: OUTPUT: «1␤0␤»
13:04 Zoffix m: my $s := Seq.new: class :: does Iterator { method bool-only { say 42 }; method pull-one { $++ and IterationEnd } }.new; say $s.elems; .say for $s
13:04 camelia rakudo-moar 4b8a0e: OUTPUT: «1␤0␤»
13:05 jnthn Did that change at some point? I'm sure I didn't have it that way in the first place
13:05 jnthn But yeah, then it is OK
13:05 Zoffix Yeah, I changed it a few months ago
13:05 jnthn OK, I guess I can live with it
13:05 Zoffix Basically things that want an iterator when they can't find it also check if our Seq is already cached and use that
13:06 jnthn It's DWIM-y I guess
13:06 * Zoffix thought old version was a bug :o
13:06 Zoffix :)
13:07 jnthn No, I had it that way so that if you were dealing with a Seq that you were expecting to be just iterating and throwing things away, then you'd be loudly told about it
13:07 jnthn Rather than surprise memory retention
13:09 Zoffix Ah. From my POV it was: why doesn't it just use the already-cached version instead of complaining at me ^_^
13:09 jnthn But it's one of those things I can argue either way. On the one hand, it's nice if the user doesn't have to care and write .cache in some more places. On the other hand, it meant you had to be explicit about the use of the caching
13:09 Zoffix Some things implicitly cached tho (like .elems)
13:09 jnthn So you could more easily spot O(n) vs O(1) memory use
13:10 jnthn True
13:10 jnthn Though a relatively small set of them (those that are involved in indexing)
13:11 jnthn I guess by this point we can't change it back without breaking a bunch of code that now relies on things, though
13:12 jnthn s/things/the new semantics/
13:12 jnthn At least elems and friends aren't as inconsistent as I thought, though
13:12 jnthn And I guess we can rely on having better allocation/memory profiling tools to help users spot their caching issues
13:14 Zoffix We could, since it's not part of any language release yet. Though IME I haven't ran into "seq already consumed" errors recently and haven't seen many users complain about iterated Seqs. The complain is nice when you know what you're doing and can fix it, but can be quite annoying for people who haven't mastered Seq vs. List vs. Array vs Slip; especially since many methods return Seqs.
13:14 jnthn *nod*
13:15 jnthn I think we can leave it as it is
13:15 Zoffix \o/
13:15 jnthn I just noticed this stuff 'cus I'm pulling a Sequence role out of Seq, which HyperSeq and RaceSeq will also do
13:15 jnthn And was thinking what does/doesn't go into said role
13:43 Zoffix .oO( teach fudger to handle stress tests: you mark a particular test as stress test so it only runs during `make stresstest` and not `make spectest` )
13:43 Zoffix 'cause some of the tests just cover the bugs and don't really need to be part of spectest, but creating a whole nuther file just for one test is kinda meh
13:56 Zoffix .ask AlexDaniel- OOC, is there a CLI interface to commitable? Kinda a waste of time to be going to view at gists all the time to read output, while trying to make some code that covers a bug. Looking for something like `./commitable-cli.p6 2017,HEAD file-with-code.txt` or `./commitable-cli.p6 2017,HEAD -e 'some code'` and it'd just dump all the output into terminal
13:56 yoleaux Zoffix: I'll pass your message to AlexDaniel-.
13:57 Geth ¦ roast: ccdbc68336 | (Zoffix Znet)++ | MISC/bug-coverage-stress.t
13:57 Geth ¦ roast: Add MISC/bug-coverage-stress.t
13:57 Geth ¦ roast:
13:57 Geth ¦ roast: For an oddball bugs to cover and to run only under stresstest
13:57 Geth ¦ roast: review: https://github.com/perl6/roast/commit/ccdbc68336
13:58 Geth ¦ rakudo/nom: 37689a3e57 | (Zoffix Znet)++ | t/spectest.data
13:58 Geth ¦ rakudo/nom: Add MISC/bug-coverage-stress.t to list of files to run
13:58 Geth ¦ rakudo/nom: review: https://github.com/rakudo/rakudo/commit/37689a3e57
13:58 Zoffix Oh oops.. Add MISC/bug-coverage-stress.t ... also include tests to cover mutex deadlock for RT#132042
13:58 synopsebot RT#132042 [open]: https://rt.perl.org/Ticket/Display.html?id=132042 [TESTNEEDED] [CONC] Concurrently calling `say` can cause Rakudo to hang
13:59 Geth ¦ roast: 57b039fb48 | (Zoffix Znet)++ | MISC/bug-coverage-stress.t
13:59 Geth ¦ roast: List RT number in test
13:59 Geth ¦ roast: review: https://github.com/perl6/roast/commit/57b039fb48
14:01 * Zoffix &
14:15 skids joined #perl6-dev
14:19 Zoffix So I got myself a helper that does some HTML work... He made a dozen <p> elems in a row, each with class="bluefont". That's bad, but not funny... The funny part is in CSS it's defined as:  `.bluefont { color: black; font-size: 22px; }`
14:23 timotimo .o( naming things and off-by-one level of nesting )
14:24 Zoffix :)
15:52 * Zoffix looks at https://github.com/rakudo/rakudo/pull/1160/files
15:52 Zoffix Oh, nm.
15:52 Zoffix Confused "no buffering on TTY handles" vs "no buffering on stdout"
16:09 Zoffix AlexDaniel-: IMO this feels like pointless waffle: https://github.com/perl6/doc/commit/70084290cf881af88546d507fc2ba4448bfa7aaf   The docs site documents the language, not an implementation and the bug has now been fixed, and I've no idea if that comment was reverted or not
16:09 Zoffix without going to docs site and trying to find it
16:10 dogbert17 joined #perl6-dev
16:11 Zoffix I thought you could merge STDOUT/STDERR with Proc::Async... looks like the info's gone from the docs, even though the code has $!merge_blah blah in it
16:11 jnthn It's just .Supply
16:12 Zoffix Thanks
16:13 jnthn $ perl6-m -e 'my $p = Proc::Async.new("perl6", "-e", "say 42; note 43"); react { whenever $p.Supply { print "Merged got $_" }; $p.start }'
16:13 jnthn Merged got 42
16:13 jnthn Seems to work :)
16:13 jnthn Merged got 43
16:16 Zoffix Looks like some of the output gets lost tho. Or maybe Proc::Async.kill ain't resulting in the signal I'm expecting :/
16:16 Zoffix m: https://gist.github.com/zoffixznet/4914127191741bbc6661dc34b466610f
16:16 camelia rakudo-moar 37689a: OUTPUT: «1..1␤Proc::Async is disallowed in restricted setting␤  in sub restricted at src/RESTRICTED.setting line 1␤  in method new at src/RESTRICTED.setting line 32␤  in block <unit> at <tmp> line 4␤␤# Looks like you planned 1 test, but ran 0␤»
16:16 Zoffix bah
16:16 Zoffix c: HEAD https://gist.githubusercontent.com/zoffixznet/4914127191741bbc6661dc34b466610f/raw/8acab2805e342e8d75f179cc26cf1221a12f46a7/p6.p6
16:17 Zoffix e: HEAD https://gist.githubusercontent.com/zoffixznet/4914127191741bbc6661dc34b466610f/raw/8acab2805e342e8d75f179cc26cf1221a12f46a7/p6.p6
16:17 evalable6 Zoffix, rakudo-moar 37689a3e5: OUTPUT: «(exit code 1) ===SORRY!=== Error while compiling /tmp/N4AA_yPQeN␤Confuse…»
16:17 evalable6 Zoffix, Full output: https://gist.github.com/2c50a327cd2226acee5dce9eae412cf4
16:17 Zoffix e: https://gist.githubusercontent.com/zoffixznet/4914127191741bbc6661dc34b466610f/raw/8acab2805e342e8d75f179cc26cf1221a12f46a7/p6.p6
16:17 evalable6 Zoffix, Successfully fetched the code from the provided URL.
16:17 evalable6 Zoffix, rakudo-moar 37689a3e5: OUTPUT: «(exit code 1) 1..1␤not ok 1 - Supply.merge on signals does not crash␤# Failed test 'Supply.merge on signals does not crash'␤# at /tmp/5A_ipjDGOA line 14␤# expected: "pass"␤#      got: ""␤# Looks like you failed 1 test of 1»
16:18 Zoffix `got: ""` even tho there's some output produced both before react block and within it when signal is tapped
16:19 jnthn Is that unique to the merged version?
16:19 jnthn Or does .stdout do the same?
16:20 Zoffix .stdout does the same
16:23 jnthn Hm, I don't see anything silly in Proc::Async or down in the VM that'd be closing the handles too soon on a kill being sent
16:23 jnthn As in, it all looks like it just sends the signal and that's it
16:25 Zoffix Looks to be Proc::Async.kill that's the culprit. If I kill from the shell, instead with .kill, then it gets all the output
16:25 Zoffix s/instead with .kill/instead of .kill/;
16:25 * Zoffix files
16:26 committable6 joined #perl6-dev
16:29 Zoffix ohhh
16:30 Zoffix Never mind no bug. It just kills it before the Proc has a chance to start and sign up for signal handling
16:36 jnthn m: say 2.97 / 0.71
16:36 camelia rakudo-moar 37689a: OUTPUT: «4.183099␤»
16:40 Geth ¦ roast: 016aa10f8e | (Zoffix Znet)++ | MISC/bug-coverage-stress.t
16:40 Geth ¦ roast: Test Supply.merge on signals does not crash
16:40 Geth ¦ roast:
16:40 Geth ¦ roast: RT#132016: https://rt.perl.org/Ticket/Display.html?id=132016
16:40 Geth ¦ roast: Rakudo fixes: https://github.com/rakudo/rakudo/commit/1f411693bd
16:40 Geth ¦ roast:               https://github.com/rakudo/rakudo/commit/13b6a33c20
16:40 Geth ¦ roast: review: https://github.com/perl6/roast/commit/016aa10f8e
16:40 jnthn Current design/implementation sketching for hyper/race: https://gist.github.com/jnthn/754292747161f95093d80b207d077d74
16:40 synopsebot RT#132016 [open]: https://rt.perl.org/Ticket/Display.html?id=132016 [TESTNEEDED] Supply.merge and signals ( signal(SIGTERM).merge(signal(SIGINT)) )
16:41 Zoffix huggable: hyper :is: New hyper/race implementation exploration: https://gist.github.com/jnthn/754292747161f95093d80b207d077d74
16:41 huggable Zoffix, Added hyper as New hyper/race implementation exploration: https://gist.github.com/jnthn/754292747161f95093d80b207d077d74
16:42 jnthn Will continue to fill it out
16:44 jnthn And at some point, move it into CORE.setting
16:45 jnthn Given the current hyper/race are so busted, I guess the threshold for inclusion isn't too high :P
16:46 jnthn But want to get a bit further first
16:47 Geth ¦ nqp: c4e1d6c984 | usev6++ | src/vm/jvm/runtime/org/perl6/nqp/io/AsyncProcessHandle.java
16:47 Geth ¦ nqp: [jvm] Don't wait for child when program ends
16:47 Geth ¦ nqp:
16:47 Geth ¦ nqp: With a user thread the following program sleeps for another 18 seconds
16:47 Geth ¦ nqp: after saying bye:
16:47 Geth ¦ nqp:
16:47 Geth ¦ nqp:   my $proc = Proc::Async.new('sleep', '20');
16:47 Geth ¦ nqp:   my $promise = $proc.start;
16:47 Geth ¦ nqp: <…commit message has 6 more lines…>
16:47 Geth ¦ nqp: review: https://github.com/perl6/nqp/commit/c4e1d6c984
16:47 Geth ¦ nqp: 7528e8104d | (Jonathan Worthington)++ (committed using GitHub Web editor) | src/vm/jvm/runtime/org/perl6/nqp/io/AsyncProcessHandle.java
16:47 Geth ¦ nqp: Merge pull request #373 from usev6/jvm_procasync
16:47 Geth ¦ nqp:
16:47 Geth ¦ nqp: [jvm] Don't wait for child when program ends
16:47 Geth ¦ nqp: review: https://github.com/perl6/nqp/commit/7528e8104d
16:52 Zoffix .tell AlexDaniel- can you revert this now? The ticket is fixed https://github.com/perl6/doc/commit/70084290cf881af88546d507fc2ba4448bfa7aaf
16:52 yoleaux 16:43Z <[Coke]> Zoffix: Proc::Q fails its tests here.
16:52 yoleaux Zoffix: I'll pass your message to AlexDaniel-.
17:03 robertle joined #perl6-dev
17:14 cog_ joined #perl6-dev
17:21 dogbert17 joined #perl6-dev
17:51 Geth ¦ nqp: usev6++ created pull request #374: Jvm killprocasync
17:51 Geth ¦ nqp: review: https://github.com/perl6/nqp/pull/374
18:29 AlexDaniel- .
18:29 yoleaux 13:56Z <Zoffix> AlexDaniel-: OOC, is there a CLI interface to commitable? Kinda a waste of time to be going to view at gists all the time to read output, while trying to make some code that covers a bug. Looking for something like `./commitable-cli.p6 2017,HEAD file-with-code.txt` or `./commitable-cli.p6 2017,HEAD -e 'some code'` and it'd just dump all the output into terminal
18:29 yoleaux 16:52Z <Zoffix> AlexDaniel-: can you revert this now? The ticket is fixed https://github.com/perl6/doc/commit/70084290cf881af88546d507fc2ba4448bfa7aaf
18:29 AlexDaniel .
18:33 ggoebel joined #perl6-dev
18:44 Geth ¦ roast: c9d52eea5e | (Zoffix Znet)++ | MISC/bug-coverage-stress.t
18:44 Geth ¦ roast: Remove useless multiplication
18:44 Geth ¦ roast: review: https://github.com/perl6/roast/commit/c9d52eea5e
18:44 Geth ¦ roast/6.c-errata: 8857362ba5 | (Zoffix Znet)++ (committed using GitHub Web editor) | 26 files
18:44 Geth ¦ roast/6.c-errata: Use `v6.c` instead of `v6` so we get right language version (#336)
18:44 Geth ¦ roast/6.c-errata: review: https://github.com/perl6/roast/commit/8857362ba5
18:50 Zoffix This "removing content from docs site because there's a bug in an implementation X" feels counter-productive to me. You're deliberately hiding features of the language making potential users re-invent the wheel, instead of potentially volunteering to fix the bug.
18:50 AlexDaniel- Zoffix: ok, so, commit reverted, but I also added a note mentioning brokenness on rakudo versions before 2017.09.
18:51 AlexDaniel- I'm not saying that we should remove content, but if we know that things are broken why can't we be honest about it
18:52 Zoffix We are honest about it: https://fail.rakudo.party/
18:53 Zoffix If I haven't read through that RT I wouldn't even know the feature is commented out.
18:53 Zoffix And Proc::Async.Supply was fixed months ago.
18:53 AlexDaniel- I didn't revert the commit right away because there was no rakudo release at the time
18:53 Zoffix It's about separation of concerns. The docs site documents the language. It's not a bug tracker.
18:53 AlexDaniel- there was a TODO left in the docs
18:54 AlexDaniel- ahhh… Look, I totally understand that
18:54 timotimo jnthn: i can't run your gist, does it have to be put into rakudo to work? it complains about Sequence being an invalid typename, and just replacing it with Seq won't fly
18:54 AlexDaniel- but expecting people to go through 1000+ bugs to know what they can and cannot use is unrealistic
18:54 AlexDaniel- and unfair
18:55 Zoffix But it's fair to force them to re-implement features the language provides?
18:56 AlexDaniel- as a user, I want the docs to be practical. I don't need some theoretical info about some imaginary features that have no (or broken) implementation
18:57 Zoffix Re-implementing a feature from scratch instead of fixing a possibly easy bug is not my definition of "practical"
18:57 Zoffix And faffing around creating and reverting a million commits just takes away more time from fixing said bug
18:57 cognominal joined #perl6-dev
18:57 Zoffix s
18:58 Zoffix Same as a bunch of RTs created for fudged tests when the fudges are already known.
18:58 Zoffix ZofBot: complain all the things!
18:58 ZofBot Zoffix, The "redo" operator, as a variant of "goto", directly transfers control to the first statement of the lexotically enclosed loop
18:59 AlexDaniel- Zoffix: you're not wrong, it's just that we can do better
18:59 Zoffix GitHub now has dependency graphs.. neat https://github.com/rakudo/rakudo/network/dependencies
18:59 Zoffix I mean https://help.github.com/articles/listing-the-packages-that-a-repository-depends-on/
19:00 AlexDaniel- and by “better” I mean for the user, and you're trying to solve a problem for yourself :)
19:00 Zoffix Oh "You can see your project's Ruby and JavaScript dependencies in the dependency graph."
19:01 Zoffix Seems oddly specific. I guess that's just for start and they'll add more langs later
19:01 AlexDaniel- can we somehow add support for META6.json?
19:02 jnthn timotimo: Needs a commit introducing Sequence, which is in a branch that I probably forgot to push
19:04 timotimo i see!
19:06 astj joined #perl6-dev
19:08 AlexDaniel- c: 2017.07 https://gist.githubusercontent.com/AlexDaniel/638d97669249bc380e48ec8091d6deeb/raw/228961137aa4a29d78fb255ae5f513b5cc0cf53b/rt131763.p6
19:08 committable6 AlexDaniel-, Successfully fetched the code from the provided URL.
19:08 synopsebot RT#131763 [new]: https://rt.perl.org/Ticket/Display.html?id=131763 [ANNOYING] Merged output of Proc::Async does not work (whenever $proc { … })
19:08 committable6 AlexDaniel-, ¦2017.07: ««timed out after 10 seconds» «exit signal = SIGHUP (1)»»
19:08 AlexDaniel- bisect: old=2017.07 https://gist.githubusercontent.com/AlexDaniel/638d97669249bc380e48ec8091d6deeb/raw/228961137aa4a29d78fb255ae5f513b5cc0cf53b/rt131763.p6
19:08 bisectable6 AlexDaniel-, Successfully fetched the code from the provided URL.
19:09 bisectable6 AlexDaniel-, Bisecting by exit signal (old=2017.07 new=37689a3). Old exit signal: 1 (SIGHUP)
19:09 bisectable6 AlexDaniel-, bisect log: https://gist.github.com/e62286d91420b51fda238847347dd457
19:09 bisectable6 AlexDaniel-, (2017-09-13) https://github.com/rakudo/rakudo/commit/d2eb74231274b8275d7981e0440224d43ad42da2
19:10 AlexDaniel- huh
19:10 AlexDaniel- c: d2eb7423127 https://gist.githubusercontent.com/AlexDaniel/638d97669249bc380e48ec8091d6deeb/raw/228961137aa4a29d78fb255ae5f513b5cc0cf53b/rt131763.p6
19:10 committable6 AlexDaniel-, Successfully fetched the code from the provided URL.
19:10 committable6 AlexDaniel-, ¦d2eb742: ««timed out after 10 seconds» «exit signal = SIGHUP (1)»»
19:10 AlexDaniel- no, that's not it
19:10 * AlexDaniel- moves to #whateverable
19:11 Zoffix AlexDaniel-: They are already tests covering this bug: https://github.com/perl6/roast/commit/ae3eea8a8b43d9c6b1be6b0f825f696df346a457
19:12 Zoffix s/They/There/;
19:13 AlexDaniel- I don't think it does
19:13 AlexDaniel- or… maybe it does
19:13 AlexDaniel- IIRC you needed at least 20 iterations to make it fail
19:14 AlexDaniel- so it's a good candidate for stress testing
19:16 AlexDaniel- “Merge branch 'better-sched' into nom” – I think this is what fixed it
19:22 Zoffix ZofBot: bug reporters should report their versions
19:22 ZofBot Zoffix, ) Binding within an "else" automatically binds the value tested by the previous "if" or "elsif", which, while known to be false, might nevertheless be an *interesting* value of false
19:23 timotimo i wonder what ) Binding is
19:24 Zoffix m: if Failure.new {} else { $^meows.say }
19:24 camelia rakudo-moar 37689a: OUTPUT: «(HANDLED) Failed␤␤»
19:24 lizmat joined #perl6-dev
19:25 AlexDaniel- Zoffix: OK I retagged RT #131763 and left a comment there
19:25 synopsebot RT#131763 [new]: https://rt.perl.org/Ticket/Display.html?id=131763 Merged output of Proc::Async does not work (whenever $proc { … })
19:25 AlexDaniel- Zoffix: any other problematic tickets?
19:25 Zoffix AlexDaniel-: I can't find a commit where ^ that problem exists
19:26 AlexDaniel- OK, I'll take a look
19:26 AlexDaniel- Zoffix: ticket id?
19:26 Zoffix AlexDaniel- the RT you retagged
19:27 Zoffix The Proc thing
19:27 AlexDaniel- Zoffix: ah
19:27 AlexDaniel- Zoffix: ce12e480316
19:27 Zoffix Thanks
19:28 AlexDaniel- c: ce12e480316 https://gist.githubusercontent.com/AlexDaniel/638d97669249bc380e48ec8091d6deeb/raw/228961137aa4a29d78fb255ae5f513b5cc0cf53b/rt131763.p6
19:28 committable6 AlexDaniel-, Successfully fetched the code from the provided URL.
19:28 committable6 AlexDaniel-, ¦ce12e48: ««timed out after 10 seconds» «exit signal = SIGHUP (1)»»
19:28 AlexDaniel- it's one of the parents of the “better-sched” merge commit
19:29 AlexDaniel- (timeout *is* the buggy behavior, it gets stuck forever)
19:29 Zoffix Ah ok
19:37 [Coke] Speaking of Diwali, I am apparently joining folks in the office in wearing a Kurta next week. (need to pick one up.)
19:39 Zoffix I thought we were renaming Diwali to something or other
19:39 Zoffix 6.d Dismorphia :)
19:40 Zoffix https://github.com/perl6/6.d-prep/tree/master/TODO#naming
19:40 Zoffix There was some bikeshedding on some commit somehwere
19:40 timotimo mighty dismorphing power perlers
19:42 evalable6 joined #perl6-dev
19:42 ugexe metal gear style: Diwali Dismorphia
19:43 timotimo Compilers of the Perltriots
19:43 Zoffix :)
19:45 Zoffix :S
19:45 Zoffix Geth didn't announce my commit and if I look at it on GitHub it says it was made "11 minutes from now": https://github.com/perl6/roast/commit/e8218432bf90eb147f123c2bd58e36c07792e13c
19:46 Zoffix Oh, I guess the clock is messed up on this box
19:46 Zoffix 12 minutes into the future
19:48 Zoffix ZofBot: I think I entered into a pocket of time radiation and traveled into the future a bit... weeeeee
19:48 ZofBot Zoffix, weird
19:48 Zoffix Ya I kno
20:41 AlexDaniel- Zoffix: as for the command-line version of committable, there's no such thing *yet*. My goal was to make the bots runnable locally (in some kind of non-irc mode), where all required builds are pulled from the server on demand. This will only work for 64-bit linux of course, but for many purposes it should be good enough.
20:41 AlexDaniel- no progress on that yet :(
20:42 AlexDaniel- I want to get trisectable (rakudo-nqp-moar) to work properly first
20:42 lizmat_ joined #perl6-dev
20:42 AlexDaniel- and instead of that right now I'm trying to revive regressionable
20:44 AlexDaniel- fwiw, volunteers welcome. I can provide hints on how these things can be done
21:12 pmurias Zoffix: in the old time the synopsis (which served as docs back in the day) had something called smartlinks (so you could see a test for the feature in the docs)
21:13 pmurias Zoffix: the smartlinks had a status which show if they pass or fail
21:14 Zoffix Considering this feature is dead, it's kind'f indicative that it's not maintainable.
21:15 Zoffix AlexDaniel-: I was thinking even if it were possible to do on the commitable server. Give the IRC::Plugins a faked out IRC::Client::Message and reply to terminal
21:15 Zoffix Not really important, I guess. I won't need it after the ~40 testneeded RTs are closed
21:15 pmurias Zoffix: it was really cool, it would be great to have something like that for user modules
21:16 pmurias which is an extra reason not to display module docs on the evil github
21:20 AlexDaniel- Zoffix: thinking about it, there's an IRC server running on the same server (used for all whateverable tests). I guess you can run any bot with TESTABLE=1 env variable, then join a corresponding channel using some cli irc client, and then you'll be able to see the content of all gists in /tmp/whateverable/tist
21:20 AlexDaniel- a bit convoluted, but let me know if you want to go with this
21:21 * Zoffix calls it a day
21:21 Zoffix ZofBot: good night, sweet prince!
21:21 ZofBot Zoffix, (You could write a macro that violates this, but resist the urge
21:21 AlexDaniel- lol… these answers are very on point
21:21 AlexDaniel- maybe
21:23 MasterDuke jnthn: i tried increasing MVM_INTERN_ARITY_LIMIT from 8 to 9 and 16, but that causes segfaults; however, i didn't re-build nqp and rakudo
21:24 MasterDuke i was able to work around the arity limit by combining two parameters into one
21:25 MasterDuke but do you think that limit is going to stay the same?
21:27 Geth joined #perl6-dev
21:30 Geth joined #perl6-dev
21:31 Zoffix geth is ded "We couldn’t deliver this payload: Couldn't connect to server"
21:31 Zoffix And I tried killing geth so it respawns and `service restart geth` and it restarted, but error is still there. And been there for an hour already
21:32 Geth joined #perl6-dev
21:33 Zoffix $ telnet geth.niner.name
21:33 Zoffix Trying 78.47.60.231...
21:33 Zoffix telnet: Unable to connect to remote host: Connection refused
21:33 Zoffix something's ain't right
21:34 Zoffix (same if I try geth's port)
21:34 [TuxCM] joined #perl6-dev
21:38 Zoffix nine: are you around by any chance? Any idea how to get geth back?
21:41 Zoffix tis the right IP if I go to https://www.whatismyip.com/ from the box
21:42 Zoffix (amusingly, site itself rejected me 'cause I used HTTP1.0, but the error page includes IP details :P)
21:53 Zoffix moritz: do you know how to fix this? For some reason services can't connect to the box with geth on it
21:54 Zoffix or timotimo
21:55 Geth joined #perl6-dev
21:56 Geth joined #perl6-dev
21:56 Zoffix No errors in geth when sending hooks... Seems it's not getting through to the box
21:57 Zoffix telnet 78.47.60.231 8888 from geth box don't work but telnet localhost 8888 does
21:58 jdv79 who telnets anymore
21:58 Zoffix people debugging connections
22:00 Zoffix lol
22:00 Zoffix root's password:
22:00 Zoffix Where did you learn to type?
22:00 Zoffix I love nine's box. It's so polishly setup.
22:02 * Zoffix gives up
22:02 Zoffix No idea how this box is set up to reach outside world.
22:05 Zoffix But I commited this, in case anyone wanted to double-check:  "Replace cryptic code with direct <.ws> call": https://github.com/rakudo/rakudo/commit/1a97c44be66382aa56cfb7bdbe360a88f2d61363
22:05 * Zoffix &
22:33 skids joined #perl6-dev
22:34 AlexDaniel- samcv: I think you're the first (and only) person in the whole IRC history who actually attempted to run 「rm -rf /」 on the evalbot :D
22:34 AlexDaniel- and I'm quite surprised
22:35 AlexDaniel- a lot of people attempted to do delete specific files like  https://irclog.perlgeek.de/perl6/2016-01-23#i_11928519
22:35 AlexDaniel- but not with “-rf /”
22:35 AlexDaniel- private messages excluded, of course
22:37 AlexDaniel- https://gist.github.com/AlexDaniel/515ecdff65790c9c5fc4dc3a54e3d3b3
22:37 AlexDaniel- that first one probably counts also
22:45 jnthn MasterDuke: You may have to rebuild the extops you bump that; I see no reason we couldn't increase it to 16 if we actually have real-world use cases
22:46 timotimo do we count nameds douple in the figure we're using for size limits?
22:46 jnthn yeah
22:46 jnthn iir
22:46 jnthn c
22:47 timotimo i can imagine having like an invocant and 7 nameds
22:47 jnthn Yeah
22:54 MasterDuke jnthn: this is what i did to work around the limit for INTERPOLATE: https://github.com/MasterDuke17/rakudo/commit/37fd994976801ac01d813df862ebc0b18085f950
22:54 MasterDuke is there any great cost to increasing the limit?
22:55 Zoffix m: $*OUT.^lookup("open").signature.params.elems.say
22:55 camelia rakudo-moar 1a97c4: OUTPUT: «21␤»
22:55 Zoffix yikes
22:56 timotimo MasterDuke: looking up %*RX over and over could be costly, but this code only runs rarely, doesn't it?
22:57 jnthn MasterDuke: I don't think so
22:57 jnthn Zoffix: This is about callsites
22:57 jnthn Zoffix: Which is the argument side
22:57 jnthn It'd be odd to pass all 21 of them :P
22:58 jnthn And all the limits on opt stuff are on arguments, not parameters
22:58 jnthn If open is really hot enough, spesh is typically able to eliminate branches in the specialization
23:02 MasterDuke timotimo: only when interpolating into regexes. fwiw, initial testing of my branch (after that last commit to reduce the number of arguments by one) shows `./perl6-m -e 'my @l = "sm.sql".IO.lines; my $s = "Perl6"; my $t = now; my @m = @l.grep(/ $s /); say @m.elems; say now - $t'` ~25% faster (10k lines in the file)
23:03 timotimo wow, 25% is a great win!
23:03 timotimo how big's the change without the latest commit, ooc?
23:03 MasterDuke 3x slower
23:04 MasterDuke but i'll try increasing MVM_INTERN_ARITY_LIMIT to 16 and then rebuilding nqp and rakudo and then measure again
23:06 timotimo waitwhat
23:06 timotimo 3x slower o_O
23:08 evalable6 joined #perl6-dev
23:09 MasterDuke because i converted INTERPOLATE into multis, but the method lookup wasn't being cached
23:09 MasterDuke this is what you and jnthn were helping me debug yesterday
23:09 timotimo aaah
23:10 MasterDuke turns out it's because the callsites weren't being interned, and that was because of the MVM_INTERN_ARITY_LIMIT
23:10 timotimo understood
23:11 MasterDuke heh. took me quite a bit longer to figure out, only a couple sentences to explain
23:11 timotimo i know that feeling :)
23:12 jnthn :)
23:13 jnthn Sleep time; 'night
23:13 timotimo gnite jnthn :)
23:14 MasterDuke gains on my branch are significantly less for <$s> compared to just $s, and even less for @s (with 4 elements)
23:14 Zoffix Ah, I see
23:14 MasterDuke later, thanks for the help!
23:17 MasterDuke Zoffix: see something related to what i'm doing?
23:17 Zoffix MasterDuke: nah, it was re "Zoffix: This is about callsites"
23:18 MasterDuke ah, i see ;)
23:19 MasterDuke hm. changing MVM_INTERN_ARITY_LIMIT to 16 and then trying to rebuild nqp also results in immediate segfaults
23:22 MasterDuke backtrace if anyone is interested, looks the same as the one i got when just re-running my perl6 code after rebuilding moar yesterday: https://gist.github.com/MasterDuke17/60679f1ebb5d24c6e685c6587e405610
23:28 evalable6 joined #perl6-dev
23:43 samcv AlexDaniel-, hah. well i knew it wouldn't work :P
23:52 Zoffix Well, until we figure out how to fix Geth, I'm gonna add more hooks to send stuff to Geth  in the meantime
23:53 Geth_ joined #perl6-dev
23:55 Zoffix done moarvm, rakudo, roast, and docs. The rest ain't that important

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