Perl 6 - the future is here, just unevenly distributed

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

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

All times shown according to UTC.

Time Nick Message
00:01 Zoffix Ah, k, think I see what's up with the hang
00:04 timotimo i can't go completely without
00:04 timotimo i also can't read books, that also hurts, for example
00:04 timotimo but i've reduced my keyboard/mouse time significantly. will try to decrease even more
00:04 timotimo bedtime now. seeya!
00:04 Zoffix \o
00:14 Zoffix On 2017.09 t/spec/S17-channel/stress.t takes 7s
00:14 Zoffix On HEAD it basically hangs and eats all RAM on 4-core/4GB box. With my patch it takes 29s
00:15 Zoffix Ohhh.. yeah, now I see what it's doing
00:16 Zoffix (the test)
00:18 Zoffix interesting... stage parse was from 100s all day but now it's consistently mid-80s
00:20 Zoffix solved half the problem on channel/stress test
00:21 Zoffix Gotta go to bed. Slept like 8hr in the past 48hr
00:33 Zoffix ZOFFLOP: t/spec/MISC/bug-coverage-stress.t
00:33 evalable6 joined #perl6-dev
00:33 Zoffix (test 1)
00:44 Geth ¦ rakudo/nom: e95eb42c91 | (Zoffix Znet)++ | src/core/ThreadPoolScheduler.pm
00:44 Geth ¦ rakudo/nom: Test for deadlock heuristic more
00:44 Geth ¦ rakudo/nom:
00:44 Geth ¦ rakudo/nom: Check for deadlock even if we have some completed jobs but still
00:44 Geth ¦ rakudo/nom: have a ton of total uncompleted ones.
00:44 Geth ¦ rakudo/nom:
00:44 Geth ¦ rakudo/nom: t/spec/S17-channel/stress.t on 4-core/4GB RAM VM takes:
00:44 Geth ¦ rakudo/nom: - On 2017.09, 7s to run
00:44 Geth ¦ rakudo/nom: <…commit message has 8 more lines…>
00:44 Geth ¦ rakudo/nom: review: https://github.com/rakudo/rakudo/commit/e95eb42c91
00:47 Zoffix .tell jnthn S17-channel/stress.t was hanging on HEAD when run on its own (and box doesn't have load). I fixed that with https://github.com/rakudo/rakudo/commit/e95eb42c91 if you wanted to check it. The first half of S17-channel/stress.t is still 3x slower than what it were on 2017.09. I looked but don't really see any problems and it might be just how it works with the new scheduler. Here's the code:
00:47 yoleaux Zoffix: I'll pass your message to jnthn.
00:47 Zoffix https://gist.github.com/zoffixznet/70cb09f80a48247839a54b1755575459 you can use committable to see timing diff: c: HEAD,2017.09 https://gist.githubusercontent.com/zoffixznet/70cb09f80a48247839a54b1755575459/raw/6fbabef155f4348bf867e704f7bce09422f8a25d/p6.p6
00:47 Zoffix .tell jnthn https://gist.github.com/zoffixznet/70cb09f80a48247839a54b1755575459 you can use committable to see timing diff: c: HEAD,2017.09 https://gist.githubusercontent.com/zoffixznet/70cb09f80a48247839a54b1755575459/raw/6fbabef155f4348bf867e704f7bce09422f8a25d/p6.p6
00:47 yoleaux Zoffix: I'll pass your message to jnthn.
00:48 Zoffix Well, looks like we're release-ready to me.
00:48 * Zoffix drops to bed
01:01 BenGoldberg joined #perl6-dev
01:32 llfourn joined #perl6-dev
01:41 Zoffix FWIW, native_array.pm is largely a generated file: https://github.com/rakudo/rakudo/blob/nom/src/core/native_array.pm#L338-L357
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
02:00 Zoffix ZOFFLOP: t/spec/S17-procasync/kill.t
02:01 Zoffix ZOFVM: Files=1283, Tests=152771, 150 wallclock secs (21.29 usr  3.24 sys + 3217.30 cusr 165.19 csys = 3407.02 CPU)
02:04 Geth ¦ rakudo/nom: f3b497c85e | (Zoffix Znet)++ | 2 files
02:04 Geth ¦ rakudo/nom: Fix accidentally-edited auto-generated part
02:04 Geth ¦ rakudo/nom:
02:04 Geth ¦ rakudo/nom: The auto-generated part was accidentallyu edited[^1] directly.
02:04 Geth ¦ rakudo/nom: Propagate the change to generator script. I'm only assuming the
02:04 Geth ¦ rakudo/nom: same change was needed (or at least is not detrimental) to other
02:04 Geth ¦ rakudo/nom: types that are now included.
02:04 Geth ¦ rakudo/nom:
02:04 Geth ¦ rakudo/nom: [1] https://github.com/rakudo/rakudo/commit/714c188d4aa0c5ca59d98dfb0c64c2ea889ab144
02:04 Geth ¦ rakudo/nom: review: https://github.com/rakudo/rakudo/commit/f3b497c85e
02:05 Zoffix .ask timotimo you commited the original commit. Would you double check that the change propagated to other native array types is OK and doesn't harm anything: https://github.com/rakudo/rakudo/commit/f3b497c85e
02:05 yoleaux Zoffix: I'll pass your message to timotimo.
02:07 Geth ¦ rakudo/nom: a85c8d486c | (Zoffix Znet)++ | 2 files
02:07 Geth ¦ rakudo/nom: Fix .STORE leaving behind elements on native arrays
02:07 Geth ¦ rakudo/nom:
02:07 Geth ¦ rakudo/nom: - Occurs when non-Iterable value is assigned
02:07 Geth ¦ rakudo/nom: - Occurs when native-Iterable is assigned
02:07 Geth ¦ rakudo/nom: review: https://github.com/rakudo/rakudo/commit/a85c8d486c
02:08 Geth ¦ roast: ab9668d5e7 | (Zoffix Znet)++ | S09-typed-arrays/native.t
02:08 Geth ¦ roast: Test .STORE on native arrays
02:08 Geth ¦ roast:
02:08 Geth ¦ roast: Rakudo fix: https://github.com/rakudo/rakudo/commit/a85c8d486c
02:08 Geth ¦ roast: review: https://github.com/perl6/roast/commit/ab9668d5e7
02:08 Zoffix man, that's been broken for year and a half :S people don't use native arrays much it seems
02:08 * Zoffix re-drops to bed
03:07 Geth ¦ rakudo/ugexe-patch-1: 5a5482e77d | (Nick Logan)++ (committed using GitHub Web editor) | src/core/CompUnit/RepositoryRegistry.pm
03:07 Geth ¦ rakudo/ugexe-patch-1: Fix multiple options passed to include specs
03:07 Geth ¦ rakudo/ugexe-patch-1:
03:07 Geth ¦ rakudo/ugexe-patch-1: Previously passing multiple options would result in the first option set (in %options) containing all the values for all the keys.
03:07 Geth ¦ rakudo/ugexe-patch-1: review: https://github.com/rakudo/rakudo/commit/5a5482e77d
03:08 Geth ¦ rakudo: ugexe++ created pull request #1213: Fix multiple options passed to include specs
03:08 Geth ¦ rakudo: review: https://github.com/rakudo/rakudo/pull/1213
03:26 lizmat joined #perl6-dev
06:21 evalable6 joined #perl6-dev
07:17 astj joined #perl6-dev
07:18 astj joined #perl6-dev
08:00 pmurias joined #perl6-dev
08:01 pmurias to we want to specific/unify across backends the exact way floating point numbers are stringified?
08:01 yoleaux 01:54Z <MasterDuke> pmurias: are you planning to implement nqp::eqatim and nqp::eqaticim for js and jmv? that would be great if so, then this block (repeated a couple times later) could be removed: https://github.com/rakudo/rakudo/blob/nom/src/core/Match.pm#L355-L395
08:03 pmurias moar takes 15 digits of precision (and chops of trailing zeros)
08:10 Ven joined #perl6-dev
08:13 lizmat Files=1229, Tests=75749, 315 wallclock secs (14.77 usr  5.40 sys + 2181.34 cusr 211.85 csys = 2413.36 CPU)
08:20 Geth ¦ nqp: ff9b9ff1f7 | pmurias++ | src/vm/js/nqp-runtime/container-specs.js
08:20 Geth ¦ nqp: [js] Coerce native refs to string more correctly
08:20 Geth ¦ nqp: review: https://github.com/perl6/nqp/commit/ff9b9ff1f7
08:20 Geth ¦ nqp: 119826e200 | pmurias++ | src/vm/js/nqp-runtime/coercions.js
08:20 Geth ¦ nqp: [js] Coerce num to strings more like MoarVM does
08:20 Geth ¦ nqp: review: https://github.com/perl6/nqp/commit/119826e200
08:21 pmurias MasterDuke: I think I'll have to implement those ops too
08:22 pmurias MasterDuke: I think if we are going that to have all the backends coexisting properly we need to minimize the amount of backend specific #ifdefs
08:42 AlexDaniel` good * everyone
08:43 lizmat AlexDaniel`  o/
08:43 |Tux| joined #perl6-dev
08:48 lizmat looks like https://perl6book.com needs an update again
08:48 lizmat http://www.springer.com/in/book/9781484232279
08:49 lizmat https://deeptext.media/using-perl6
08:50 Geth ¦ rakudo/nom: 2c4868b859 | (Elizabeth Mattijsen)++ | src/core/ThreadPoolScheduler.pm
08:50 Geth ¦ rakudo/nom: Remove one division from supervisor loop
08:50 Geth ¦ rakudo/nom:
08:50 Geth ¦ rakudo/nom: Since the number of elements sampled is now always constant, we can
08:50 Geth ¦ rakudo/nom: factor that into the per-core calculation at compile time, so that we
08:50 Geth ¦ rakudo/nom: only need to sum it at runtime.
08:50 Geth ¦ rakudo/nom: review: https://github.com/rakudo/rakudo/commit/2c4868b859
08:55 lizmat afk for a few hours&
08:55 |Tux| joined #perl6-dev
09:08 |Tux| This is Rakudo version 2017.09-513-g2c4868b85 built on MoarVM version 2017.09.1-622-g6e9e89ee
09:08 |Tux| csv-ip5xs        1.141 -  1.165
09:08 |Tux| test            11.469 - 11.557
09:08 |Tux| test-t           3.064 -  3.078
09:08 |Tux| csv-parser      11.653 - 11.662
09:12 AlexDaniel` this looks better, why?
09:12 AlexDaniel` anyway, so I'll kick off the toaster in a few moments, and hopefully we'll get somewhere soon :)
09:13 AlexDaniel` please report any critical problems if you see anything
09:13 |Tux| Second run
09:13 |Tux| test-t           3.097 -  3.099
09:14 AlexDaniel` oh. That's getting noisy :)
09:14 |Tux| you don't want the timings posted here anymore?
09:17 AlexDaniel` |Tux|: of course
09:18 AlexDaniel` |Tux|: but any chance of increasing the input size? Like test-t-big or something?
09:18 AlexDaniel` or is that what other numbers are for? :)
09:20 |Tux| oké, I'll add a new test once we get under 3 :P
09:21 AlexDaniel` deal
09:21 AlexDaniel` :)
09:21 |Tux| my reason to stick to 10000 rows is to have the graphs make sense. If I up the counts, the time will rise
09:22 AlexDaniel` sure, but keep this test and just add another one
09:22 |Tux| doing so right now
09:22 AlexDaniel` |Tux|++
09:35 lizmat [Tux]: could you also show the result of --race ?
09:35 lizmat aka, start a test-t-race column ?
09:37 nine A larger input size would make sense for csv-ip5xs, too. There's a lot of startup in that second.
09:39 |Tux| lizmat, I'll try
10:06 Zoffix pmurias: FWIW IIRC moar is missing one digit of precision. There are several bug reports involving that. And yeah, IMO we should have unified stringification of nums across backends. One reason is the strignification is used in .WHICH, which affects stuff like sets (and Moar's chopping currently introes a bug into sets with nums that differ by small amount)
10:07 Zoffix s/one digit/some/; # I didn't check if it's just one
10:09 Zoffix m: my ($a, $b) = set(1e0), set(1e0 + 4e-15); say $a ~~ $b, $a.keys »≅« $b.keys; say 1e0.WHICH; say (1e0 + 4e-15).WHICH
10:09 camelia rakudo-moar 2c4868b85: OUTPUT: «True(False)␤Num|1␤Num|1␤»
10:09 Zoffix From here: https://rt.perl.org/Ticket/Display.html?id=132268#txn-1501046
10:10 Zoffix MasterDuke: so what's the plan for Int.new with yor MoarVM patch? :)
10:13 Zoffix Also, I'm not seeing any Int.new's in S02-types/set.t FWIW :/
10:13 ilmari m: int.new.say
10:13 camelia rakudo-moar 2c4868b85: OUTPUT: «Cannot find method 'perl' on object of type NQPMu␤  in block <unit> at <tmp> line 1␤␤»
10:14 ilmari m: Int.new.say
10:14 camelia rakudo-moar 2c4868b85: OUTPUT: «0␤»
10:14 Zoffix oops
10:14 Zoffix m: int32.new.say
10:14 camelia rakudo-moar 2c4868b85: OUTPUT: «Cannot find method 'perl' on object of type NQPMu␤  in block <unit> at <tmp> line 1␤␤»
10:15 Zoffix m: int32.new
10:15 camelia rakudo-moar 2c4868b85: OUTPUT: «Cannot find method 'perl' on object of type NQPMu␤  in block <unit> at <tmp> line 1␤␤»
10:15 Zoffix m: int32.new(42)
10:15 camelia rakudo-moar 2c4868b85: ( no output )
10:15 Zoffix did I break it
10:15 Zoffix bisect: int32.new
10:15 bisectable6 Zoffix, Bisecting by output (old=2015.12 new=2c4868b) because on both starting points the exit code is 1
10:15 bisectable6 Zoffix, bisect log: https://gist.github.com/959c50f6319ebe5bdac9f8ee07fbfbfe
10:15 bisectable6 Zoffix, (2016-09-27) https://github.com/rakudo/rakudo/commit/222d16b0b94911fdedb06ee6ad817d0f14b9c05c
10:15 Zoffix bisect: old=2017.09,new=HEAD int32.new
10:15 bisectable6 Zoffix, Bisecting by output (old=2017.09 new=2c4868b) because on both starting points the exit code is 1
10:16 bisectable6 Zoffix, bisect log: https://gist.github.com/9860493594aae4bfd0c0115c3c7ab83c
10:16 bisectable6 Zoffix, (2017-10-14) https://github.com/rakudo/rakudo/commit/9d9c7f9c3bd40011fa11981cfa67a8457fb442cf
10:16 Zoffix c: 2017.09 int32.new
10:16 committable6 Zoffix, ¦2017.09: «No such method 'BUILDALLPLAN' for invocant of type 'Perl6::Metamodel::NativeHOW'␤  in block <unit> at /tmp/CJOeuqa3Pb line 1␤ «exit code = 1»»
10:17 pmurias bartolin: when I find bugs in rakudo.js that have the same cause in rakudo.jvm should I write them down somewhere?
10:17 AlexDaniel c: 2017.09..HEAD int32.new.say
10:17 committable6 AlexDaniel, Too many commits (514) in range, you're only allowed 500
10:17 AlexDaniel c: 2017.09..HEAD~14 int32.new.say
10:17 Zoffix ah, k, easy fix
10:19 Zoffix (for those watching: it's currently emitting deprecation warning; the fix would be just to make it work right until deprecation expires and we make .new throw)
10:19 Zoffix The bot just has deprecations turned off
10:20 committable6 AlexDaniel, «hit the total time limit of 180 seconds»
10:20 * AlexDaniel slaps committable6
10:32 Zoffix ZOFVM: Files=1283, Tests=152776, 161 wallclock secs (23.05 usr  3.48 sys + 3475.94 cusr 178.61 csys = 3681.08 CPU)
10:35 AlexDaniel oops. Touching the dates in the release guide ahead of time is a bad idea. releasable6 thinks that the next release is in 23 days :D
10:36 buggable New CPAN upload: Sparrowdo-0.0.35.tar.gz by MELEZHIK https://cpan.metacpan.org/authors/id/M/ME/MELEZHIK/Perl6/Sparrowdo-0.0.35.tar.gz
10:38 Geth ¦ rakudo/nom: 9554a97c50 | (Zoffix Znet)++ | 2 files
10:38 Geth ¦ rakudo/nom: Throw useful error with .new with no args on natives
10:38 Geth ¦ rakudo/nom:
10:38 Geth ¦ rakudo/nom: This form never worked, so we don't need to bother passing it
10:38 Geth ¦ rakudo/nom: via deprecation period. Just start throwing same error all forms
10:38 Geth ¦ rakudo/nom: will be throwing once deprecation period expires.
10:38 Geth ¦ rakudo/nom: review: https://github.com/rakudo/rakudo/commit/9554a97c50
10:48 pmurias shouldn't cpan uploads be on #perl6 instead of #perl6-dev?
10:52 Zoffix pmurias: they're there: https://irclog.perlgeek.de/perl6/2017-10-26#i_15356066
10:53 |Tux| extended run: https://gist.github.com/Tux/c6d0bd1f1c0a1322995110ce065d9661
10:54 Geth ¦ rakudo/nom: 5d4ca586b0 | (Aleks-Daniel Jakimenko-Aleksejev)++ | docs/ChangeLog
10:54 Geth ¦ rakudo/nom: Remaining ChangeLog entries
10:54 Geth ¦ rakudo/nom:
10:54 Geth ¦ rakudo/nom: Deliberately not logged:
10:54 Geth ¦ rakudo/nom: 7277aa54 d10d6977 3f595acf 50be159f 76017036 50324bb0
10:54 Geth ¦ rakudo/nom: b19e352e eb1febd5 ce7e5444 794235a3 f3b497c8
10:54 Geth ¦ rakudo/nom: review: https://github.com/rakudo/rakudo/commit/5d4ca586b0
10:54 |Tux| the -20 extension means 20 times as big
10:56 Zoffix buggable: speed 100 :2
10:56 buggable Zoffix, ▃▅▂▄↑▃    ▂ ▂▃▄▂▁ ▅▄ ▃      ↑           ▁ ▇   ▂     ▄▂    ▄↑  ↑▅▂▃▃▇    ↑█                           dates: 2017-10-01–2017-10-26
10:56 buggable Zoffix, ██████▆▅▇▇██████████▇█▆▅▇▅▆▆█▇▃▅▃▅▂▂▂▃▂▃█▇█▆▆▆█▃▁▃▃▄██▃▃▅▅██▆▇██████▆▄▇▇██▃▅▂▂▃▃▃▃▂▃▆▃▂▃▄▃▃▂▅▃▃▃▃▅▂▃ range: 3.044s–3.631s; speed: 6% faster (widths: 10/3)
10:56 |Tux| Rakudo version 2017.09-513-g2c4868b85 - MoarVM version 2017.09.1-622-g6e9e89ee
10:56 |Tux| csv-test-xs-20      0.441 -  0.450
10:56 |Tux| csv-ip5xs           1.155 -  1.166
10:56 |Tux| test-t              3.067 -  3.094
10:56 |Tux| test               11.436 - 11.599
10:56 |Tux| csv-parser         11.566 - 11.789
10:56 |Tux| csv-ip5xs-20       13.860 - 14.259
10:56 Zoffix neat
10:56 |Tux| test-t-20 --race   19.341 - 19.486
10:56 |Tux| test-t-20          56.192 - 57.096
10:56 Zoffix |Tux|++
10:56 |Tux| that will be the new report
10:56 AlexDaniel awesome
10:56 Zoffix m: say 56.192/20
10:56 camelia rakudo-moar 9554a97c5: OUTPUT: «2.8096␤»
10:56 |Tux| so, all -20's have been added
10:57 AlexDaniel |Tux|: will we have a graph for it also? like https://tux.nl/Talks/CSV6/speed4.html
10:57 |Tux| which includes csv-test-xs-20 which is perl5 + Text::CSV_XS
10:58 |Tux| No graph (yet). That will need a new log, a new cron job and time to automate this
10:58 |Tux| and $work is pulling
10:58 pmurias Zoffix, MasterDuke: re div_I optimization shouldn't that also check if the type is the same?
10:58 AlexDaniel kk
10:58 |Tux| the new list is ordered by run-time of the first run
11:01 Zoffix pmurias: good point
11:01 Zoffix m: use nqp; class Meow is Int {}; dd nqp::div_I(<42>, 1, Meow).^name
11:01 camelia rakudo-moar 9554a97c5: OUTPUT: «"Meow"␤»
11:06 pmurias nqp-m: say(nqp::eqaddr(1, 1)); say(nqp::eqaddr(20, 20));
11:06 camelia nqp-moarvm: OUTPUT: «1␤0␤»
11:06 pmurias btw. rakudo actually depends on 1 and 0 being cached for parameterizing Foo:U to work properly
11:12 jnthn That sounds fragile...
11:12 yoleaux 00:47Z <Zoffix> jnthn: S17-channel/stress.t was hanging on HEAD when run on its own (and box doesn't have load). I fixed that with https://github.com/rakudo/rakudo/commit/e95eb42c91 if you wanted to check it. The first half of S17-channel/stress.t is still 3x slower than what it were on 2017.09. I looked but don't really see any problems and it might be just how it works with the new scheduler. Here's the code:
11:12 yoleaux 00:47Z <Zoffix> jnthn: https://gist.github.com/zoffixznet/70cb09f80a48247839a54b1755575459 you can use committable to see timing diff: c: HEAD,2017.09 https://gist.githubusercontent.com/zoffixznet/70cb09f80a48247839a54b1755575459/raw/6fbabef155f4348bf867e704f7bce09422f8a25d/p6.p6
11:14 jnthn It should probably declare a couple of symbols
11:14 jnthn Instead of using 0/1
11:15 jnthn lunch &
11:41 pmurias jnthn: maybe it should just use True and False instead of 1 and 0?
11:42 pmurias ahh it's nqp not perl6
11:58 Geth ¦ rakudo/nom: 5f73579b23 | (Aleks-Daniel Jakimenko-Aleksejev)++ | 2 files
11:58 Geth ¦ rakudo/nom: Generated announcement and fixed date
11:58 Geth ¦ rakudo/nom: review: https://github.com/rakudo/rakudo/commit/5f73579b23
12:00 Grimy joined #perl6-dev
12:03 Zoffix AlexDaniel: did you do anything special to contributors list?
12:03 Zoffix I don't see my special treatment applied despite code still being there... wondering if it's a bug in rakudo somewhere.
12:04 AlexDaniel Zoffix: actually yes, it looked weird that your name is last so I put it first, is it wrong?
12:04 AlexDaniel haha
12:04 Zoffix lol
12:04 timotimo m)
12:04 Zoffix AlexDaniel: doesn't matter anymore
12:04 Zoffix But when I was release manager, I placed myself last if I were first, so people wouldn't think I put myself first on purpose while releasing or something :)
12:05 Geth ¦ rakudo/nom: 10e7af0091 | (Zoffix Znet)++ (committed using GitHub Web editor) | tools/contributors.pl6
12:05 Geth ¦ rakudo/nom: Zoffix isn't speshul anymore
12:05 Geth ¦ rakudo/nom: review: https://github.com/rakudo/rakudo/commit/10e7af0091
12:10 AlexDaniel today I received an email with subject “why delay ?”
12:10 AlexDaniel there was no body
12:11 Zoffix heh
12:12 Geth ¦ rakudo/nom: 4b60df8f84 | pmurias++ | src/Perl6/Metamodel/DefiniteHOW.nqp
12:12 Geth ¦ rakudo/nom: Parameterize using type objects instead of native ints
12:12 Geth ¦ rakudo/nom:
12:12 Geth ¦ rakudo/nom: Native int pointer equality in parameterization depends on int caches
12:12 Geth ¦ rakudo/nom: and as such is fragile.
12:12 Geth ¦ rakudo/nom: review: https://github.com/rakudo/rakudo/commit/4b60df8f84
12:13 AlexDaniel obviously that ↑ won't be toasted :)
12:14 Zoffix m: my int $orig = 2; my int $new = Int.new: 2; $new does role Meows {}; say $orig.^name
12:14 camelia rakudo-moar 10e7af009: OUTPUT: «Int+{Meows}␤»
12:15 Zoffix so even with div_I hack don't look like it fully fixes this action-at-a-distance thing
12:15 timotimo well, there you have a native int
12:16 timotimo the moment you call the "does" it'll box that into an Int object which it gets from the int cache
12:16 timotimo you'll see that $new won't actually have changed at all after that
12:16 Zoffix Ah ok
12:28 Zoffix "So I've been away from the Perl 6 scene partly because y'all can't stop fighting about it. One thing I've noticed after reading through these comments: there seems to be more optimism about Perl 6 (yes, name and all) outside the Perl community than what y'all got going on. So smarten up, call it Whatever, something marketable, don't listen to you-know-who and press on. PLEASE."
12:28 Zoffix +1 :)
12:29 Zoffix That's from https://www.reddit.com/r/perl/comments/78lx3g/perl6_should_be_renamed_perl/
12:31 * Zoffix & for $n hours
12:35 Ven joined #perl6-dev
12:54 ugexe I like this quote myself:
12:54 ugexe “BIP: What’s the level of interest for Perl 6 in the Brazil Perl community?”
12:55 ugexe “Garu: Quite a lot, actually! We are super excited at the current stage of Perl 6 and what we can achieve with it today. So much so that we have even seen brazilians get into our local Perl community *through* Perl 6, instead of the other way around.”
12:58 DrForr ugexe: Nod. It looked very positive.
13:00 AlexDaniel errr, there's a segfault in BSON module
13:00 AlexDaniel it was there since forever I think
13:00 AlexDaniel but I can't get it locally for some reason
13:01 AlexDaniel toaster catches it two times, once when instlaling BSON and once when installing MongoDB
13:02 AlexDaniel RT#132316 is probably exactly about that
13:03 synopsebot RT#132316 [open]: https://rt.perl.org/Ticket/Display.html?id=132316 [SEGV] Crash while running program (MongoDB module)
13:28 Zoffix Looks like there's a bunch of branches that likely were recently merged already and can be deleted: https://github.com/rakudo/rakudo/branches/active
13:31 AlexDaniel Zoffix: feel free to clean it up
13:33 Zoffix I was thinking more: the authors of the branches who already know whether their work was merged can deleted them.
13:33 Zoffix Much easier than me trying to guess.
13:33 travis-ci joined #perl6-dev
13:33 travis-ci Rakudo build failed. Aleks-Daniel Jakimenko-Aleksejev 'Remaining ChangeLog entries
13:33 travis-ci https://travis-ci.org/rakudo/rakudo/builds/293088961 https://github.com/rakudo/rakudo/compare/9554a97c509c...5d4ca586b0a3
13:33 buggable [travis build above] ✓ All failures are due to: GitHub connectivity (1 failure).
13:33 travis-ci left #perl6-dev
13:34 Zoffix reproed BSON SEGV on HEAD. After second `zef test .` run in the checkout
13:35 AlexDaniel it's not a HEAD issue, it was there since 2017.09 at least
13:35 AlexDaniel and I'm pretty sure it's even older than that
13:35 Zoffix ok
13:38 Zoffix "MoarVM panic: Internal error: invalid thread ID 133073 in GC work pass"
13:38 Zoffix with while perl6 -Ilib t/300-document.t; do true; done in BSON checkout
13:40 * AlexDaniel has hopes that maybe eventually one of the fixes for this kind of issues will sidefix RT#131003
13:40 synopsebot RT#131003 [open]: https://rt.perl.org/Ticket/Display.html?id=131003 [SEVERE][SEGV] Heap corruption when using Gumbo
13:42 AlexDaniel Zoffix: what did you do to repro it? Does it need extra CPU load?
13:43 Zoffix AlexDaniel: nothing special.
13:45 Zoffix I golfed it now to this: https://gist.github.com/zoffixznet/6d2e8ea8a25e6418f51e27f3103c6b9a  The crash seems to happen in "subtest "Big, wide and deep nesting"; strangely, if I remove previous tests, I get errors about doing stuff with `Any` despite not really seeing previous tests making anything the "deep nesting" test needs
13:51 Zoffix An eagle-eye's view tells me that module is just doing thread-unsafe things. I see a bunch of stuff like `Promise.start( { @!values[$idx] = `
13:52 AlexDaniel ahhhhh
13:52 Zoffix Maybe it's fine, but I just see Promises all over the place, so I wouldn't be surprised if it's a problem in the module and not rakudo
13:52 AlexDaniel that could be it, yeah
14:04 AlexDaniel toaster looks clean, appveyor is green, travis was green some time ago and should be ok now
14:05 Zoffix \o\ \o/ /o/
14:05 AlexDaniel releasable is doing the local release now, and I'm not expecting to see any issues there (spectests should be fine)
14:05 AlexDaniel so I'll just wait for s_a_m_c_v and we'll get the thing going
14:05 jdv79 Zoffix: thanks!  i think you fixed my bug.  at least my golf can run for 10 mins now..  i'll try the real app in situ before i close out my ticket.
14:06 Zoffix w00t cool :)
14:06 AlexDaniel what bug is that by the way?
14:06 jdv79 i would like to understand the exact issue.  i have yet to examine your commits though.
14:07 AlexDaniel ticket id?
14:07 Zoffix jdv79: which ticket is it?
14:07 jdv79 AlexDaniel: RT#132287 i think
14:07 synopsebot RT#132287 [open]: https://rt.perl.org/Ticket/Display.html?id=132287 [REGRESSION][CONC] stall/block in async heavy code
14:07 jdv79 yup
14:07 jdv79 which got morphed into GH#1202 i think
14:07 AlexDaniel huh!
14:07 synopsebot GH#1202 [open]: https://github.com/rakudo/rakudo/issues/1202 [severe] Async qqx sometimes hangs or dies ( await (^5).map({start { say qqx{… …} } }) )
14:07 jdv79 anyway, have to repark for the second time today.  nyc and cars don't mix:(
14:08 AlexDaniel well, 1202 still hangs here
14:08 AlexDaniel m: say 42
14:08 camelia rakudo-moar 4b60df8f8: OUTPUT: «42␤»
14:08 lizmat 1202 is still not fixed 100%
14:08 lizmat I only managed to cover the race conditions in Perl 6 code
14:08 lizmat (I think)
14:09 lizmat I'm still not sure about:  nqp::clone being threadsafe, and nqp::elems
14:09 lizmat if nqp::clone is not, some more tuning of the ThreadPoolScheduler is needed
14:09 lizmat (which I could do relatively quickly)
14:09 Zoffix jdv79: my fixes might've fixed hangs, but I see some comments about crashes and I don't rember fixing anything about crashes
14:10 timotimo clone is unlikely to be threadsafe
14:10 timotimo i'd flat-out say it's not
14:10 lizmat I'll take that as my cue then  :-)
14:10 timotimo if another thread changes its size while clone is going on, bad things happen
14:10 lizmat but nqp::elems should be ok ?
14:10 timotimo yes, but whether or not the result is still correct on the next instruction is up to luck
14:10 AlexDaniel jdv79: indeed, so far no hang here
14:11 lizmat actually, all the nqp::clones are protected blocks, as are the pushes
14:11 lizmat hmnmm...
14:11 lizmat brb
14:11 AlexDaniel Zoffix: well, it was bisected to better-sched merge, so that particular part of the issue seems to be resolved indeed
14:12 AlexDaniel GH#1202 provides a better way to reproduce the rest of problem I think
14:25 Zoffix Nothing hangs or crashes for me with `while perl6 -e 'await (^5).map({start { say qqx{echo -n foo $_} } })'; do :; done` even while running spectest on the same box.
14:26 AlexDaniel :( why am I the only one seeing the hang
14:28 Zoffix k, it hung almost right away on my 24-core box
14:28 * Zoffix tries 64-core :}
14:29 Zoffix on 24-core: hung once, but doesn't seem to want to hang again
14:30 AlexDaniel fwiw it hangs within 15 seconds on my 2 core old laptop
14:31 Zoffix 3x hangs. I see a new data point :}
14:34 Zoffix "[SCHEDULER] Supervisor thinks there are 64 CPU cores"   https://i.imgur.com/vztc6Bw.gif :P
14:40 Zoffix 64-core stresstest: Files=1270, Tests=152681, 82 wallclock secs (22.96 usr  3.63 sys + 3710.80 cusr 232.80 csys = 3970.19 CPU)
14:41 Zoffix t/fudgeandrun ................................... ===SORRY!===
14:41 Zoffix Could not find warnings
14:41 Zoffix huh?
14:41 Zoffix oh, nm, bad command
14:42 Zoffix ZOFFLOP: on 64-core: t/spec/S17-procasync/kill.t t/spec/S10-packages/precompilation.t t/spec/S32-io/IO-Socket-Async-UDP.t
14:45 Zoffix hung on 64 too. Though I bumped await to await (^50)
14:48 ugexe anyone see an issue with https://github.com/rakudo/rakudo/pull/1213 ? if i write an advent post on CUR it would require this, otherwise Star would not be able to run the code
14:48 * Zoffix has no knowledge of that part of code base and has no comments
14:48 ugexe nine: lizmat: ^
14:49 ugexe although im not sure why it was getting the wrong result to begin with
14:49 ugexe %options contains all the right keys, but all the values are associated with a single key
14:49 Geth ¦ rakudo/nom: 5a5482e77d | (Nick Logan)++ (committed using GitHub Web editor) | src/core/CompUnit/RepositoryRegistry.pm
14:49 Geth ¦ rakudo/nom: Fix multiple options passed to include specs
14:49 Geth ¦ rakudo/nom:
14:49 Geth ¦ rakudo/nom: Previously passing multiple options would result in the first option set (in %options) containing all the values for all the keys.
14:49 Geth ¦ rakudo/nom: review: https://github.com/rakudo/rakudo/commit/5a5482e77d
14:49 Geth ¦ rakudo/nom: fa69e4a3c5 | lizmat++ (committed using GitHub Web editor) | src/core/CompUnit/RepositoryRegistry.pm
14:49 Geth ¦ rakudo/nom: Merge pull request #1213 from rakudo/ugexe-patch-1
14:49 Geth ¦ rakudo/nom:
14:49 Geth ¦ rakudo/nom: Fix multiple options passed to include specs
14:49 Geth ¦ rakudo/nom: review: https://github.com/rakudo/rakudo/commit/fa69e4a3c5
14:50 lizmat ugexe: is that an answer :-)  (although I was just going by your description of before/after, not necessarily looking at the code)
14:50 dogbert2 Zoffix: wrt t/spec/S17-procasync/kill.t, it's seems to be test #8 which is failing from time to time
14:50 ugexe lizmat: the best kind of answer
14:52 lizmat ugexe: you could also consider getting a commit bit ?
14:52 lizmat :-)
14:52 Zoffix ugexehas it :)
14:52 ugexe i have one, but i didn't want to shove that in at the last second myself
14:52 AlexDaniel good
14:52 AlexDaniel :)
14:53 Zoffix hm, looks like t/spec/S17-supply/syntax.t hang on my buntu box and almost ate all the resources :P killed it in a nick of time after noticing mouse lagging
14:54 * lizmat is testing a ThreadPoolScheduler without nqp::clone
14:54 lizmat so far, it doesn't seem to fix GH #1202  :-(
14:54 synopsebot GH#1202 [open]: https://github.com/rakudo/rakudo/issues/1202 [severe] Async qqx sometimes hangs or dies ( await (^5).map({start { say qqx{… …} } }) )
14:55 jnthn ...without nqp::clone?
14:55 Zoffix lizmat: does it hang or crash for you? I haven't seen any crashes. Currently tailing the hang issue
14:55 lizmat crash
14:55 lizmat MoarVM panic: Heap corruption detected: pointer 0x10d0fa1e0 to past fromspace
14:55 jnthn o.O
14:55 Zoffix Hangs for me here: https://github.com/rakudo/rakudo/blob/nom/src/core/Proc/Async.pm#L338
14:55 lizmat note: I'm doing this while a spectest is running
14:56 Zoffix debug prints in affinity worker makage show it just completing and debug prints after that line never turn up (when it hangs)
14:58 lizmat Zoffix: fwiw, I've seen print / say interfere with multi-threaded issues
14:58 nine Ah lizmat++ beat me to merging that PR
15:03 Geth ¦ rakudo/nom: 6eb576ba70 | (Elizabeth Mattijsen)++ | src/core/ThreadPoolScheduler.pm
15:03 Geth ¦ rakudo/nom: Make sure we don't use nqp::clone
15:03 Geth ¦ rakudo/nom:
15:03 Geth ¦ rakudo/nom: - as that's guaranteed to not be threadsafe after all
15:03 Geth ¦ rakudo/nom: - instead, introduce a "push-worker" sub
15:03 Geth ¦ rakudo/nom:   - which copies the workers safely *and* adds the given worker
15:03 Geth ¦ rakudo/nom: review: https://github.com/rakudo/rakudo/commit/6eb576ba70
15:05 jnthn huh, nqp::clone does exactly that o.O
15:05 lizmat ah?  so it *is* threadsafe ??
15:05 timotimo jnthn: does clone ask for the elems over and over again?
15:06 jnthn timotimo: No, but doing that isn't threadsafe either
15:06 jnthn But worker lists are NEVER meant to be changed
15:06 lizmat so 6eb576ba70 is  unnecessary ?
15:06 jnthn We only ever install a new one
15:06 jnthn Yeah, or at least, if it is, something odd is going on
15:07 lizmat well, it doesn't fix MoarVM panic: Heap corruption detected: pointer 0x11284eb20 to past fromspace errors
15:07 jnthn Yeah, I'd expect it to make no difference
15:07 lizmat the code I run: time while perl6 --ll-exception -e 'await (^5).map({start { qqx{echo -n foo $_} } })'; do :; done
15:09 lizmat MoarVM panic: Internal error: zeroed target thread ID in work pass  # rare one
15:09 Zoffix For me that code hangs on nqp::spawnprocasync op. And based on my extra debug prints, looks to hang when 2 threads reach for it at the same time
15:13 Geth ¦ rakudo/nom: 2aaa32c961 | (Elizabeth Mattijsen)++ | src/core/ThreadPoolScheduler.pm
15:13 Geth ¦ rakudo/nom: Turns out we can nqp::clone after all
15:13 Geth ¦ rakudo/nom:
15:13 Geth ¦ rakudo/nom: - but keep the nice helper function :-)
15:13 Geth ¦ rakudo/nom: review: https://github.com/rakudo/rakudo/commit/2aaa32c961
15:13 ilmari presumably that does fork+exec, which needs to be _very_ careful with what it does between the two in the child in multi-threaded programs
15:14 ilmari calling any non-async-signal-safe function is undefined behaviour
15:16 timotimo so having a process-wide lock for that seems like a good idea?
15:17 lizmat and something that kills the worker queues ?
15:17 lizmat (in the child)
15:17 ilmari that's not really going to help, since anything another thread is doing could deadlock (taking the malloc() lock is a prime example)
15:18 timotimo we could force a gc before we fork, but that seems expensive and shitty
15:20 timotimo of course if i had built that "gc-syncup-but-without-gc" mechanism i had been desiring ... :)
15:21 ilmari I see moarvm uses uv_spawn, which _should_ take care of it
15:22 timotimo can it do everything that's necessary?
15:22 ilmari it does the forking and execing and everything inbetween
15:22 ilmari libuv 1.11 has «unix: use async-signal safe functions between fork and exec» in the changelog
15:24 timotimo oh i thought you said all other threads have to cooperate, too
15:24 timotimo anyway, bbl
15:25 ilmari I was talking about the lowest-level fork+exec stuff. there might be higher-level issues as well
15:26 Geth ¦ rakudo/nqp-spawnprocasync-debug-prints: e6d32deb17 | (Zoffix Znet)++ | 2 files
15:26 Geth ¦ rakudo/nqp-spawnprocasync-debug-prints: Stash debug prints
15:26 Geth ¦ rakudo/nqp-spawnprocasync-debug-prints: review: https://github.com/rakudo/rakudo/commit/e6d32deb17
15:28 Zoffix (gonna play with it later tonight; FWIW, swapping affinity workers to general queue did nothing about fixing the hang and it hangs right after two threads print "made envh" one after another)
15:28 * Zoffix &
15:29 ilmari Zoffix: at that point I'd try strace
15:30 ilmari and correlate that output with the syscalls made by uv_spawn
15:30 AlexDaniel does anybody want something do go in before the release?
15:31 Zoffix ilmari: thanks. I'll do that
15:31 Zoffix AlexDaniel: I'm good.
15:31 AlexDaniel to*
15:34 lizmat AlexDaniel: I'm also good
15:52 lizmat afk&
16:01 ugexe bisect: old=2017.07 my %seen of Int is default(0 but role :: { method Str() {'NULL'} }); say Int.new(%seen<not-there>);
16:01 bisectable6 ugexe, Bisecting by output (old=2017.07 new=2aaa32c) because on both starting points the exit code is 0
16:01 bisectable6 ugexe, bisect log: https://gist.github.com/ba628acd47123b9771f104f96f47ea3f
16:01 bisectable6 ugexe, (2017-09-19) https://github.com/rakudo/rakudo/commit/0834036dd436ac7372c8c0fe2f49511a4f5186dd
16:03 Zoffix Int.new returns a new Int
16:09 ilmari m: say (Int but role :: { method Str() { 'wat' } }).new(42)
16:09 camelia rakudo-moar 2aaa32c96: OUTPUT: «wat␤»
16:09 Zoffix Int+{whatever}.new returns a new Int+{whatever} :)
16:10 ilmari yeah
16:15 ugexe m: my %seen of Int is default(0 but role :: { method Str() {"NULL"} }); say int.new(%seen<not-there>); # heh
16:15 camelia rakudo-moar 2aaa32c96: OUTPUT: «NULL␤»
16:16 ilmari m: int.new("wat").WHAT.say
16:16 camelia rakudo-moar 2aaa32c96: OUTPUT: «(Str)␤»
16:17 ugexe (to be fair there is a deprecation warning camelia doesn't show)
16:17 Zoffix That's just a deprecation kludge so code relying on natives .new doesn't break. The method will throw eventually
16:17 AlexDaniel e: int.new("wat").WHAT.say
16:17 evalable6 AlexDaniel, rakudo-moar 2aaa32c96: OUTPUT: «(Str)␤Saw 1 occurrence of deprecated code.␤===============================================…»
16:17 evalable6 AlexDaniel, Full output: https://gist.github.com/4a04b1f45ca5cd1b0de5e41f5f52b980
16:17 Zoffix So it's not 100% accurate. Just enough to not break stuff
16:17 Zoffix (it just returns the arg as is)
16:21 Zoffix "Please use (my int $ = "wat") instead." hehe
16:21 Zoffix m: (my int $ = "wat")
16:21 camelia rakudo-moar 2aaa32c96: OUTPUT: «This type cannot unbox to a native integer: P6opaque, Str␤  in block <unit> at <tmp> line 1␤␤»
16:22 Zoffix This is the code that handles this stuff, FWIW: https://github.com/rakudo/rakudo/blob/2aaa32c961/src/Perl6/Metamodel/NativeHOW.nqp#L119-L125
17:09 ilmari joined #perl6-dev
17:24 [Coke] nine: https://github.com/perl6/doc/issues/1631 might be up your alley.
17:44 Ven joined #perl6-dev
18:28 Ven_ joined #perl6-dev
18:37 AlexDaniel .tell samcv let me know when you're here
18:37 yoleaux AlexDaniel: I'll pass your message to samcv.
18:38 AlexDaniel or just cut the release, that works too :)
19:15 Ven joined #perl6-dev
19:26 Ven_ joined #perl6-dev
19:34 samcv AlexDaniel, i'm here
19:39 samcv AlexDaniel, will do
19:39 AlexDaniel cool
19:51 perlpilot joined #perl6-dev
19:58 Ven joined #perl6-dev
20:43 samcv i'm getting failing tests in t/02-rakudo/09-rakudo-module-debug.t
20:51 ugexe what test is that?
20:57 samcv in rakudo
20:58 ugexe https://github.com/rakudo/rakudo/tree/nom/t/02-rakudo I dont see 09-rakudo-module-debug.t
20:59 samcv hmm i have that. weird
20:59 samcv anyway never mind then
21:33 evalable6 joined #perl6-dev
21:45 Zoffix m: dd (<a b>, <c d e>)».uc
21:45 camelia rakudo-moar 2aaa32c96: OUTPUT: «($("A", "B"), $("C", "D", "E"))␤»
21:46 Zoffix Kinda weird it's returning containerized lists
21:46 Zoffix (will change that, unless it breaks tests or I forget to)
21:49 samcv MoarVm has been released
21:49 Zoffix \o/
21:50 Zoffix samcv++
21:50 samcv nqp has no changelog right?
21:50 Zoffix Right
21:51 samcv ok i will release that now
21:53 MasterDuke samcv: i think releasable6 does nqp
21:53 samcv oh ok
21:53 samcv that's fine then
21:54 Zoffix m: dd ((1, 1), (1, (1, 1)))».squish
21:54 camelia rakudo-moar 2aaa32c96: OUTPUT: «((1,).Seq, (1, (1, 1)).Seq)␤»
21:54 Zoffix nodality is sure a can of worms :/
21:54 Zoffix zoffix@VirtualBox~/CPANPRC/rakudo (zoffer-post-release)$ grep -FR 'is nodal' src/core/List.pm | wc -l
21:54 Zoffix 15
21:54 Zoffix zoffix@VirtualBox~/CPANPRC/rakudo (zoffer-post-release)$ grep -FR 'is nodal' src/core/Any* | wc -l
21:54 Zoffix 75
21:55 Zoffix So we got 60 methods that are supposed to be nodal, but currently ». method op only nodalizes them if the `is nodal` method is provided by `List`
21:56 Zoffix I mean 60 extra methods (or candidates rather) are nodal in Any, but they're not working
21:58 AlexDaniel samcv: congratulations with your first release!
21:58 samcv :-D
21:58 samcv u: confetti
21:58 unicodable6 samcv, U+1F38A CONFETTI BALL [So] (🎊)
21:59 AlexDaniel samcv: yeah, that's basically it, but timotimo's joke about a point release applies :D
22:00 Zoffix m: use nqp; dd nqp::can(List.can('squish').AT-POS(0),"nodal")
22:00 camelia rakudo-moar 2aaa32c96: OUTPUT: «1␤»
22:00 Zoffix Oh nm, the 60 methods isn't the problem 'cause List is Any doh
22:02 AlexDaniel I think the release date on https://en.wikipedia.org/wiki/MoarVM is outdated?
22:03 Zoffix "However, Rakudo on the Java Virtual Machine is still faster for longer running programs."   really?
22:03 AlexDaniel citation needed :S
22:04 samcv Zoffix, nope!
22:04 ugexe i imagine their JIT warms up a bit better than ours still
22:04 samcv Zoffix, i've timed it and it's slower
22:05 samcv it may have once been true a long time ago...
22:08 jnthn Was probably true before spesh and such :)
22:09 jnthn It's probably still true for some artificial benchmarks
22:20 ugexe m: for 1..5 { KEEP " ".print; .print; } # this is a bug right? the second .print is True, but KEEP never fires
22:20 camelia rakudo-moar 2aaa32c96: OUTPUT: «12345»
22:22 Zoffix looks like it, yeah
22:22 Zoffix m: for 1..5 { KEEP " ".print; .print; True }
22:22 camelia rakudo-moar 2aaa32c96: OUTPUT: «WARNINGS for <tmp>:␤1 2 3 4 5 Useless use of constant value True in sink context (line 1)␤»
22:22 Zoffix m: for 1..5 { KEEP " ".print; .print; $ = True }
22:22 camelia rakudo-moar 2aaa32c96: OUTPUT: «1 2 3 4 5 »
22:23 jnthn m: for (1..5).list { KEEP " ".print; .print; True }
22:23 camelia rakudo-moar 2aaa32c96: OUTPUT: «WARNINGS for <tmp>:␤1 2 3 4 5 Useless use of constant value True in sink context (line 1)␤»
22:23 ugexe m: for 1..5 { KEEP " ".print; .print; False; }
22:23 camelia rakudo-moar 2aaa32c96: OUTPUT: «WARNINGS for <tmp>:␤1 2 3 4 5 Useless use of constant value False in sink context (line 1)␤»
22:23 jnthn m: (1..5).map: { KEEP " ".print; .print; True }
22:23 camelia rakudo-moar 2aaa32c96: OUTPUT: «1 2 3 4 5 »
22:23 jnthn Hm, actually
22:25 jnthn m: for 1..5 { KEEP " ".print; say .print; }
22:25 camelia rakudo-moar 2aaa32c96: OUTPUT: «1True␤ 2True␤ 3True␤ 4True␤ 5True␤ »
22:25 jnthn m: for 1..5 { KEEP " ".print; .print; }
22:25 camelia rakudo-moar 2aaa32c96: OUTPUT: «12345»
22:25 jnthn Odd
22:25 ugexe m: for 1..5 { KEEP " ".print; .print; Nil; }
22:25 camelia rakudo-moar 2aaa32c96: OUTPUT: «12345»
22:26 Zoffix What's a "successful block exit" again?
22:27 Zoffix The docs have it plastered all over phasers page, but I'm having a hard time finding what that means
22:29 ugexe m: for 1..5 { KEEP print(" "); UNDO print("_");  .print; } # well, it fires UNDO
22:29 camelia rakudo-moar 2aaa32c96: OUTPUT: «1_2_3_4_5_»
22:30 gfldex my guess would be no (control-)exceptions fired
22:33 jnthn Zoffix: .defined
22:34 Zoffix ah
22:34 jnthn KEEP/UNDO are just forms of LEAVE that are conditional on the result value
22:35 jnthn m: for 1..5 { LEAVE " ".print; .print; }
22:35 camelia rakudo-moar 2aaa32c96: OUTPUT: «1 2 3 4 5 »
22:43 Geth ¦ nqp: ddcbaba2be | (Aleks-Daniel Jakimenko-Aleksejev)++ | tools/build/MOAR_REVISION
22:43 Geth ¦ nqp: [release] Bump MoarVM revision to 2017.10
22:43 Geth ¦ nqp: review: https://github.com/perl6/nqp/commit/ddcbaba2be
22:43 Geth ¦ nqp: version bump brought these changes: https://github.com/MoarVM/MoarVM/compare/2017.09.1-621-g27f9134...2017.10
22:43 Geth ¦ nqp: 488cd2fcfd | (Aleks-Daniel Jakimenko-Aleksejev)++ | VERSION
22:43 Geth ¦ nqp: [release] Bump VERSION to 2017.10
22:43 Geth ¦ nqp: review: https://github.com/perl6/nqp/commit/488cd2fcfd
22:43 Geth ¦ rakudo/nom: f32033e385 | (Aleks-Daniel Jakimenko-Aleksejev)++ | tools/build/NQP_REVISION
22:43 Geth ¦ rakudo/nom: [release] Bump NQP revision to 2017.10
22:43 Geth ¦ rakudo/nom: review: https://github.com/rakudo/rakudo/commit/f32033e385
22:43 Geth ¦ rakudo/nom: version bump brought these changes: https://github.com/perl6/nqp/compare/2017.09-136-g8fa082b...2017.10
22:43 Geth ¦ rakudo/nom: e6c6ed2b5b | (Aleks-Daniel Jakimenko-Aleksejev)++ | VERSION
22:43 Geth ¦ rakudo/nom: [release] Bump VERSION to 2017.10
22:43 Geth ¦ rakudo/nom: review: https://github.com/rakudo/rakudo/commit/e6c6ed2b5b
22:44 Zoffix w00t
22:44 Zoffix AlexDaniel++
22:45 AlexDaniel Zoffix++
22:45 AlexDaniel also (everyone who helped make this release happen)++
22:47 jnthn \o/
22:47 jnthn AlexDaniel++, (many others)++ :)
22:58 Zoffix ZofBot: shake it \o/ https://www.youtube.com/watch?v=XIf6QfdrHiM
22:58 ZofBot Zoffix, It seems there's a kidnapper well known to the police all over the country as Dick the Snatcher
22:58 Zoffix ZofBot: what a Dick!
22:58 ZofBot Zoffix, He Moves in Society It was one of those things which are really nobody's fault
22:58 Zoffix Ah
23:02 Geth ¦ rakudo: zoffixznet++ created pull request #1215: "Do. Or do not. There is no try."
23:02 Geth ¦ rakudo: review: https://github.com/rakudo/rakudo/pull/1215
23:02 Geth ¦ rakudo/nom: 738908be4d | (Zoffix Znet)++ | src/core/Str.pm
23:02 Geth ¦ rakudo/nom: "Do. Or do not. There is no try."
23:02 Geth ¦ rakudo/nom:
23:02 Geth ¦ rakudo/nom: Fixes RT#126721: https://rt.perl.org/Ticket/Display.html?id=126721
23:02 Geth ¦ rakudo/nom:
23:02 Geth ¦ rakudo/nom: Do not silence errors when failing to assign to $/ as that introduces
23:03 synopsebot RT#126721 [resolved]: https://rt.perl.org/Ticket/Display.html?id=126721 $/ in closure arg of subst
23:03 Geth ¦ rakudo/nom: action-at-a-distance bugs that can be very hard to debug:
23:03 Geth ¦ rakudo/nom:
23:03 Geth ¦ rakudo/nom: <…commit message has 9 more lines…>
23:03 Geth ¦ rakudo/nom: review: https://github.com/rakudo/rakudo/commit/738908be4d
23:03 jnthn 'night, all o/
23:03 Geth ¦ rakudo/nom: b07e7b1d0f | (Zoffix Znet)++ (committed using GitHub Web editor) | src/core/Str.pm
23:03 Geth ¦ rakudo/nom: Merge pull request #1215 from rakudo/zoffer-post-release
23:03 Geth ¦ rakudo/nom:
23:03 Geth ¦ rakudo/nom: "Do. Or do not. There is no try."
23:03 Geth ¦ rakudo/nom: review: https://github.com/rakudo/rakudo/commit/b07e7b1d0f
23:03 Geth ¦ roast: zoffixznet++ created pull request #350: Zoffer post release
23:03 Geth ¦ roast: review: https://github.com/perl6/roast/pull/350
23:03 Geth ¦ roast/master: 4 commits pushed by (Zoffix Znet)++
23:03 Geth ¦ roast/master: c81c86403c | Write proper test for RT#71514
23:03 Geth ¦ roast/master: 9585230c26 | Test .subst works in BEGIN
23:03 Geth ¦ roast/master: 80a49c4324 | Test .subst complains when it can't use $/
23:03 Geth ¦ roast/master: e9443cc048 | Merge pull request #350 from perl6/zoffer-post-release
23:03 Geth ¦ roast/master: review: https://github.com/perl6/roast/compare/ab9668d5e7...e9443cc048
23:03 synopsebot RT#71514 [resolved]: https://rt.perl.org/Ticket/Display.html?id=71514 Calling .subst in a reduction method destroys the effect of make()
23:03 Zoffix \o
23:04 BenGoldberg joined #perl6-dev
23:12 Zoffix m: my $o1 = {my class Foo {method meow { say "meow" } }.new}; $o1.Foo::meow
23:12 camelia rakudo-moar b07e7b1d0: OUTPUT: «Cannot dispatch to method meow on Failure because it is not inherited or done by Block␤  in block <unit> at <tmp> line 1␤␤»
23:12 Zoffix Was wondering whether this should work:
23:12 Zoffix m: my $o1 = {my class Foo {method meow { say "meow" } }.new}; my $o2 = {my class Foo {method meow { say "moo" } }.new}; $o1.Foo::meow; $o2.Foo::meow
23:12 camelia rakudo-moar b07e7b1d0: OUTPUT: «Cannot dispatch to method meow on Failure because it is not inherited or done by Block␤  in block <unit> at <tmp> line 1␤␤»
23:13 Zoffix But I guess the first error kinda puts a damper on it...
23:13 Zoffix m: my $o1 = {my class Foo {method meow { say "meow" } }.new}(); my $o2 = {my class Foo {method meow { say "moo" } }.new}(); $o1.Foo::meow; $o2.Foo::meow
23:13 camelia rakudo-moar b07e7b1d0: OUTPUT: «Cannot dispatch to method meow on Failure because it is not inherited or done by Foo␤  in block <unit> at <tmp> line 1␤␤»
23:13 Zoffix This I mean
23:14 Zoffix Basically fixing nodality deletction for method calls other than plain ». and the ».:: dispatch is kinda tricky
23:15 Zoffix *detection
23:18 * Zoffix joins timotimo in the RSI camp
23:18 timotimo FFS, i took RSI so y'all don't have to
23:19 Zoffix :D
23:22 AlexDaniel OK, so I added the master branch, and changed the default in github settings. When dealing with pull requests you can click “Edit” and change the base branch before merging
23:22 AlexDaniel what else do we have with “nom” hardcoded?
23:33 Geth ¦ rakudo: f40babb81e | (Aleks-Daniel Jakimenko-Aleksejev)++ | 6 files
23:33 Geth ¦ rakudo: ⚠ “nom” → “master”
23:33 Geth ¦ rakudo:
23:33 Geth ¦ rakudo: language_versions.md has a very interesting definition of “nom” and
23:33 Geth ¦ rakudo: “master”, for now “master” is replaced with “some branch”.
23:33 Geth ¦ rakudo: review: https://github.com/rakudo/rakudo/commit/f40babb81e
23:35 Zoffix AlexDaniel: so what's changing? Just s:g/nom/master/ and the rest is business as usual?
23:35 AlexDaniel yes
23:36 Zoffix I'm guessin rakudobrew does the `nom` thing. 'cause you can specify as one of the params
23:36 AlexDaniel right now it means that everything that was using “nom” directly will keep using 2017.10 release
23:36 AlexDaniel well, + your post-release branch :)
23:37 AlexDaniel and whatever gets into nom accidentally :)
23:39 MasterDuke isn't there a way to mark branches as read-only in github?
23:39 AlexDaniel oooooooooh
23:39 AlexDaniel what a great idea
23:42 AlexDaniel done, but I don't think it's going to help much
23:42 AlexDaniel because it seems that you can still push given enough privs
23:44 Zoffix We need to post a notice on rakudo.org and add a message into nom branch builder as I imagine there's a ton of people who just pull and rebuild (all of my boxes except for the home one do that for example)
23:44 * Zoffix does the builder message
23:46 AlexDaniel nom: say 42
23:46 camelia rakudo-moar b07e7b1d0: OUTPUT: «42␤»
23:46 AlexDaniel m: say 42
23:46 camelia rakudo-moar b07e7b1d0: OUTPUT: «42␤»
23:50 AlexDaniel ok. Whateverable needs no change, camelia also
23:51 AlexDaniel (I did tweak camelia anyway but it wasn't necessary)
23:51 Zoffix "read_fhb requires a native array of uint8 or int8"
23:51 Zoffix How to get one in nqp?
23:52 Zoffix Or alternatively, how to do `get` in nqp? I got nqp::readfh(nqp::getstdin(), @a, 1) so far
23:53 ugexe decoder is in rakudo, so not sure you can
23:54 Zoffix Don't need to decode, just want to wait for user to press ENTER
23:54 Geth ¦ roast/6.c-errata: fd286d3c45 | (Aleks-Daniel Jakimenko-Aleksejev)++ | VERSION
23:54 Geth ¦ roast/6.c-errata: “nom” → “master”
23:54 Geth ¦ roast/6.c-errata:
23:54 Geth ¦ roast/6.c-errata: There are many TODOs with “nom regression” comment but I won't be
23:54 Geth ¦ roast/6.c-errata: touching these because I don't want to make 「git blame」
23:54 Geth ¦ roast/6.c-errata: harder. Doesn't really matter anyway.
23:54 Geth ¦ roast/6.c-errata: review: https://github.com/perl6/roast/commit/fd286d3c45
23:54 AlexDaniel wait what
23:54 AlexDaniel did I just commit to… errata… :S
23:54 AlexDaniel .oO( yeah, should've applied that bashrc thingy… )
23:57 Zoffix fussake... how to make a native array
23:57 Geth ¦ roast: a36e55eacd | (Aleks-Daniel Jakimenko-Aleksejev)++ | VERSION
23:57 Geth ¦ roast: “nom” → “master”
23:57 Geth ¦ roast:
23:57 Geth ¦ roast: There are many TODOs with “nom regression” comment but I won't be
23:57 Geth ¦ roast: touching these because I don't want to make 「git blame」
23:57 Geth ¦ roast: harder. Doesn't really matter anyway.
23:57 Geth ¦ roast: review: https://github.com/perl6/roast/commit/a36e55eacd
23:57 Zoffix hate when the most mundane of things are the biggest time waster
23:57 Zoffix buggable: zen whatthehellisitalready
23:57 buggable Zoffix, “This is the real secret of life -- to be completely engaged with what you are doing in the here and now. And instead of calling it work, realize it is play.”
23:57 Zoffix Good plan.
23:58 Zoffix Let's play "How to make a native uint8 array in nqp"
23:58 AlexDaniel hehe
23:59 Zoffix nqp::readfh(nqp::getstdin(), nqp::create($NQPBuf), 1)
23:59 Zoffix I win the game

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