Perl 6 language and compiler development | Logs at colabti.org/irclogger/irclogger_log/perl6-dev | For toolchain/installation stuff see #perl6-toolchain | For MoarVM see #moarvm
Set by Zoffix on 27 July 2018.
Geth rakudo/normalized-ZDRs: 6d70346cbf | (Zoffix Znet)++ | src/core/Rational.pm6
Check for ZDRs in .floor/.ceiling

This way we generate a good error message instead of relying on
  `div` doing that for us with a normalized numerator
Also fixes .floor `fail`ing, but `.ceiling` `die`ing due to an extra operation. Now we constistently `fail`
00:07
roast/normalized-ZDRs: 17761c2e48 | (Zoffix Znet)++ | S32-num/rat.t
Spec Rational.floor/.ceiling fail for ZDRs

Rakudo fix: github.com/rakudo/rakudo/commit/6d70346cbf
00:08
rakudo/normalized-ZDRs: c5a2eb81f0 | (Zoffix Znet)++ | src/core/Rat.pm6
Make `==` with Rationals up to 1.55x as fast
00:09
00:20 Zoffix joined, p6bannerbot sets mode: +v Zoffix
Zoffix ZOFFLOP: t/spec/S17-promise/lock-async-stress2.t 00:20
That's R#2261
synopsebot R#2261 [open]: github.com/rakudo/rakudo/issues/2261 [ASYNC] Crashes in t/spec/S17-promise/lock-async-stress2.t
00:20 Zoffix left 00:21 geekosaur left
Geth rakudo/normalized-ZDRs: 97e8413b4f | (Zoffix Znet)++ | src/core/Rat.pm6
Make Rational `===` Rational 2.47x as fast

We now normalize all the Rationals, so we can simplify things
00:21
00:23 MasterDuke joined, p6bannerbot sets mode: +v MasterDuke 00:24 MasterDuke left, MasterDuke joined, herbert.freenode.net sets mode: +v MasterDuke, p6bannerbot sets mode: +v MasterDuke 00:27 geekosaur joined 00:28 p6bannerbot sets mode: +v geekosaur
Geth rakudo: zoffixznet++ created pull request #2314:
Normalize ZDRs
00:31
rakudo/master: 9 commits pushed by (Zoffix Znet)++
roast: zoffixznet++ created pull request #475:
Normalize ZDRs
roast/master: 5 commits pushed by (Zoffix Znet)++
6.d-prep: 11266ec8c8 | (Zoffix Znet)++ | 2 files
Make ZDR normalization as completed

POV: github.com/rakudo/rakudo/pull/2314 Propspec: github.com/perl6/roast/pull/475 Docs: github.com/perl6/doc/pull/2327
00:33
00:36 buggable left, buggable joined, ChanServ sets mode: +v buggable 00:37 p6bannerbot sets mode: +v buggable 01:09 fake_space_whale left 01:20 agk18 joined 01:23 calbers18 joined 01:24 agk18 left 01:25 calbers18 left 01:28 ZzZombo left 02:20 ZzZombo joined, p6bannerbot sets mode: +v ZzZombo 03:05 pgervase joined 03:07 pgervase left 03:27 seanicus0 joined 03:32 seanicus0 left 04:44 lizmat left 06:19 robertle joined 06:20 p6bannerbot sets mode: +v robertle
[Tux] Rakudo version 2018.09-24-g75cf8be72 - MoarVM version 2018.09
csv-ip5xs0.907 - 0.945
csv-ip5xs-207.178 - 7.639
csv-parser24.272 - 24.797
csv-test-xs-200.427 - 0.435
test8.887 - 8.956
test-t2.107 - 2.123
test-t --race0.911 - 0.917
test-t-2037.446 - 37.890
test-t-20 --race11.798 - 12.311
06:45
yeah, disappointing numbers. I'll run a second one later today over ssh when not working on the box
07:03 [TuxCM] left 07:22 stmuk_ joined, p6bannerbot sets mode: +v stmuk_ 07:24 stmuk left 07:27 patrickb joined, p6bannerbot sets mode: +v patrickb 07:31 stmuk joined 07:32 p6bannerbot sets mode: +v stmuk 07:33 stmuk_ left 08:03 robertle left 08:05 robertle joined 08:06 p6bannerbot sets mode: +v robertle 08:23 robertle_ joined, lizmat joined, p6bannerbot sets mode: +v lizmat
lizmat Files=1254, Tests=76151, 338 wallclock secs (15.81 usr 5.37 sys + 2375.57 cusr 221.43 csys = 2618.18 CPU) 08:23
08:23 p6bannerbot sets mode: +v robertle_ 08:24 robertle1 joined, p6bannerbot sets mode: +v robertle1, robertle left 08:25 Ven` joined, p6bannerbot sets mode: +v Ven` 08:50 stmuk_ joined 08:51 p6bannerbot sets mode: +v stmuk_ 08:52 stmuk left 08:56 [TuxCM] joined 08:57 p6bannerbot sets mode: +v [TuxCM] 09:03 [TuxCM] left 09:12 pmurias joined, p6bannerbot sets mode: +v pmurias 09:24 kroovy joined 09:29 kroovy left 09:45 ExtraCrispy left 09:55 brrt joined 09:56 p6bannerbot sets mode: +v brrt 10:11 r_hector20 joined 10:13 ZzZombo left, r_hector20 left 10:14 Ven` left 10:34 Skarn19 joined 10:35 jnthn is now known as jnthn-nomsg 10:42 Skarn19 left 10:43 ExtraCrispy joined 10:44 p6bannerbot sets mode: +v ExtraCrispy 10:53 brrt left 11:24 ZzZombo joined, p6bannerbot sets mode: +v ZzZombo 11:33 Guest36318 joined 11:38 pmurias left 11:39 pmurias joined, p6bannerbot sets mode: +v pmurias 11:41 Guest36318 left, Ven` joined 11:42 p6bannerbot sets mode: +v Ven`
lizmat notable6: weekly 11:46
notable6 lizmat, 6 notes: gist.github.com/6971560dee95933cab...391ca4f94b
12:12 Windy joined
lizmat reportable: 2018-09-10T00:00:00Z 2018-09-17T00:00:00Z 12:12
reportable6 lizmat, OK, working on it! This may take up to 40 seconds
lizmat reportable: 2018-09-17T00:00:00Z 2018-09-24T00:00:00Z 12:13
I guess reportable6 only does one at at time
reportable6 lizmat, OK, working on it! This may take up to 40 seconds
lizmat, gist.github.com/1aa8c212c09739d7f5...d5f5a54562
lizmat, gist.github.com/f36ec025ec52f11b2b...06784fb42c 12:14
lizmat notable6: weekly reset
notable6 lizmat, Moved existing notes to “weekly_2018-09-24T12:14:26Z”
12:16 Windy left 12:26 hoonetorg8 joined
Geth 6.d-prep: 824e24a000 | (Christopher Bottoms)++ (committed using GitHub Web editor) | TODO/COMPLETED/completed-FEATURES.md
(minor) fixed link path
12:27
12:31 hoonetorg8 left
AlexDaniel lizmat: 2018-09-17T00:00:00Z 2018-09-24T00:00:00Z 12:33
oops
wrong bot :)
reportable6: 2018-09-17T00:00:00Z 2018-09-24T00:00:00Z
reportable6 AlexDaniel, OK, working on it! This may take up to 40 seconds
lizmat AlexDaniel: thanks, but I just it myself :-)
AlexDaniel lizmat: yes, but I deleted the spam 12:34
reportable6 AlexDaniel, gist.github.com/16d41d838a90999b13...67a8de3089
lizmat ah? ok
AlexDaniel yeah, there was one spammy RT ticket
lizmat I see
ok
AlexDaniel lizmat++
12:51 Ven` left 12:52 Ven` joined 12:53 p6bannerbot sets mode: +v Ven`
lizmat and another Perl 6 Weekly hits the Net: p6weekly.wordpress.com/2018/09/24/...-than-two/ 13:07
cognominal-p6 yea 13:10
jnthn-nomsg ooh, earlier than usual today :) 13:12
lizmat yeah, have some other stuff to do the rest of the day 13:13
|Tux| Rakudo version 2018.09-24-g75cf8be72 - MoarVM version 2018.09
csv-ip5xs0.913 - 0.953
csv-ip5xs-207.249 - 7.343
csv-parser22.126 - 22.394
csv-test-xs-200.421 - 0.430
test8.475 - 8.502
test-t1.997 - 2.040
test-t --race0.875 - 0.886
test-t-2035.176 - 35.956
test-t-20 --race11.704 - 11.737
13:58
timotimo sweet, there's another sub-2 time 13:59
|Tux| it shows the noise-window of actively working on the desktop and doing it remote as nothing changed in between these two timings 14:00
14:02 holla12 joined 14:04 holla12 left 14:08 edmoore5 joined 14:14 edmoore5 left 14:22 Ven` left 14:25 ndowens4 joined 14:29 ndowens4 left
Geth nqp: bc5099ddce | (Elizabeth Mattijsen)++ | tools/build/MOAR_REVISION
Bump Moar for *many* changes
14:33
¦ nqp: version bump brought these changes: github.com/MoarVM/MoarVM/compare/2...9-gdeba2e1
14:35 Ven` joined, p6bannerbot sets mode: +v Ven`
Geth rakudo: 43919c6b84 | (Elizabeth Mattijsen)++ | tools/build/NQP_REVISION
Bump NQP for latest (big) batch of MoarVM goodies
14:45
rakudo: version bump brought these changes: github.com/perl6/nqp/compare/2018....1-gbc5099d
2bdf2b35a1 | (Elizabeth Mattijsen)++ | src/core/List.pm6

Add a candidate for LIST.STORE(:$initialize!), which does not interfere with the normal use of List.STORE that is used for ($a,$b,$c) = 1,2,3
lizmat my test-t timing dropped from 1.821 to 1.632 14:46
1.581 14:47
1.542
m; say 1.821 / 1542
m: say 1.821 / 1.542
camelia 1.180934
lizmat so about 18% faster :-) 14:48
[Tux] : ^^
jnthn-nomsg That's quite nice :)
lizmat and that's without the escape analysis bits, right ?
FWIW, I don't really see a change with --race: I guess we're running into the warmup limits there 14:49
jnthn-nomsg Yeah, pea is at a very early stage and still in a branch :) 14:50
dogbert2 wasn't there some postrelease-opts in Rakudo as well? 14:51
lizmat post-release-2018.08 is the latest I saw
dogbert2 aha 14:52
what about fixes like github.com/rakudo/rakudo/commit/5f...6432b610a8 are they already merged? 14:54
lizmat yeah, that one was already in master afak 14:55
afaik
dogbert2 cool 14:56
15:07 scott-ph13 joined 15:10 scott-ph13 left 15:25 fake_space_whale joined 15:26 p6bannerbot sets mode: +v fake_space_whale 15:30 Zoffix joined, p6bannerbot sets mode: +v Zoffix
15:41 patrickb left
Zoffix ZOFFLOP: t/spec/S12-class/stubs.t (SEGV during last test) 15:48
ZOFVM: Files=1310, Tests=153194, 166 wallclock secs (27.58 usr 3.75 sys + 3624.71 cusr 160.92 csys = 3816.96 CPU) 15:54
15:58 jnthn-nomsg is now known as jnthn
AlexDaniel Zoffix: segvs are rare, no? Maybe file a ticket right away 16:12
Zoffix Rare? Most of ZOFFLOPs are SEGV I think 16:14
Zoffix is too lazy to file 16:15
AlexDaniel I should run spectest more often :)
or stress even 16:16
16:18 robertle1 left, robertle_ left
pmurias nqp-truffle just started being able to load a (partial) NQP setting using the ModuleLoader (rather then have in concated on in string form) :), got to clean it up and cut it up into commits 16:32
dogbert17 AlexDaniel: perhaps you could to a toaster run in order to give the new opts a workout 16:36
*do 16:37
16:39 fake_space_whale left
Zoffix Cue in reels of "crazy emoji operators" discussions in 3... 2... 1... 16:46
In Perl 6 6.d you're now able to harness the Power of The Atom! Thread-safe atomic operations on a new atomicint type! marketing.perl6.org/id/1537803105/pdf_digital
timotimo we'll still want to figure out the thing where if you put a variant selector on the atom symbol it won't be recognized 16:47
16:48 Kaiepi joined
Zoffix
.oO( make variant selector offer different features :P )
16:48
16:49 p6bannerbot sets mode: +v Kaiepi 16:50 Zoffix left
Geth rakudo: b537ce2e5a | (Elizabeth Mattijsen)++ | 2 files
Allow for initializations of "is List" attributes

This commit makes it possible to assign to attributes marked as "is List", so that you can create Listy attributes that are immutable.
   class A {
   has @.foo is List
... (6 more lines)
17:35
lizmat dinner&
AlexDaniel dogbert17: anyone can do that
I'm running out of GCE credit :D 17:37
but my next generation toaster should run at a fraction of cpu time, I just need to finish it 17:38
the issue with it currently is that whateverable blocks on the release path whenever it runs anything
so I can't parallelize it, but it's trivial to fix
17:38 patrickb joined
AlexDaniel in fact I should've fixed it earlier because Quotable already does this: github.com/perl6/whateverable/blob...p6#L35-L60 17:39
17:39 p6bannerbot sets mode: +v patrickb
AlexDaniel so it tests on HEAD, HEAD^, HEAD^^, etc. in parallel so that it's not locked :D 17:39
also once we get code from JSON::Fast into rakudo it will help both toasters 17:40
as a lot of it is spent on zef doing json parsing, as far as I can see 17:41
s/release path/build path/g
17:42 Ven` left 17:49 brrt joined 17:50 p6bannerbot sets mode: +v brrt
tony-o same here, not enough log history in my irc 18:05
18:12 travis-ci joined, p6bannerbot sets mode: +v travis-ci
travis-ci Rakudo build errored. Elizabeth Mattijsen 'Allow for initializations of "is List" attributes 18:12
travis-ci.org/rakudo/rakudo/builds/432583987 github.com/rakudo/rakudo/compare/2...37ce2e5ac3
18:12 travis-ci left
buggable [travis build above] ✓ All failures are due to: timeout (1 failure). 18:12
Geth nqp/truffle: 09448ffc7f | (Paweł Murias)++ | 19 files
[truffle] Load a NQP setting properly using a ModuleLoader
18:33
nqp/truffle: 76652d25b7 | (Paweł Murias)++ | 6 files
[truffle] Remove a bunch of debugging print statements
nqp/truffle: 7ec3a18ab7 | (Paweł Murias)++ | src/vm/jvm/runtime/org/perl6/nqp/truffle/nodes/expression/NQPElemsNode.java
[truffle] Support nqp::elems on hashes
18:52 AlexDaniel left, AlexDaniel joined, p6bannerbot sets mode: +v AlexDaniel 18:54 kloinka28 joined
Geth nqp: dec8bd79b4 | (Elizabeth Mattijsen)++ | tools/build/MOAR_REVISION
Bump MoarVM to get fork-safety patches
18:55
¦ nqp: version bump brought these changes: github.com/MoarVM/MoarVM/compare/2...3-gdb11d5f
19:00 kloinka28 left
Geth nqp/truffle: b2677b52b0 | (Paweł Murias)++ | nqp-truffle.nqp
[truffle] Load our truffle setting from java when using nqp-truffle
19:13
nqp/truffle: 782330a4fd | (Paweł Murias)++ | src/vm/jvm/bin/run_tests.pl
[truffle] Run passing test 11
nqp/truffle: d696271314 | (Paweł Murias)++ | src/vm/jvm/runtime/org/perl6/nqp/truffle/NQPScopeWithFrame.java
[truffle] Remove null checks for something that is never a null now
19:19
nqp/truffle: 651bb3a1b1 | (Paweł Murias)++ | src/vm/jvm/runtime/org/perl6/nqp/truffle/NQPScopeWithFrame.java
Revert "[truffle] Remove null checks for something that is never a null now"

Doesn't really pass :(
This reverts commit d696271314b8a145cef68040dc26abed225b5198.
jdv79 c: 2018.06,2018.06,2018.06,HEAD,HEAD,HEAD gist.github.com/AlexDaniel/7102bb2...2a41ea121f 19:21
committable6 jdv79, gist.github.com/a691ea56320d97ec53...41123f9dc5
Geth rakudo: 02fbbc0c02 | (Elizabeth Mattijsen)++ | tools/build/NQP_REVISION
Bump NQP to get Moar's fork-safety patches
19:26
¦ rakudo: version bump brought these changes: github.com/perl6/nqp/compare/2018....2-gdec8bd7
brrt oh,yay, thanks lizmat++ 19:28
now I can actually implement the fork() opcode as well
lizmat also on JVM ? :-) 19:36
19:47 brrt left 19:54 MasterDuke left
pmurias lizmat: I don't think calling the fork() systemcall is a good idea on the js/jvm/truffle backends :/ 19:56
lizmat neither
I guess that will be MoarVM / POSIX only
Geth nqp/truffle: 09439dd8d1 | (Paweł Murias)++ | src/vm/jvm/bin/run_tests.pl
Revert "[truffle] Run passing test 11"

This reverts commit 782330a4fd34b0f4a7f3454bf2393700146cb527.
19:59
nqp/truffle: 0049539e41 | (Paweł Murias)++ | src/vm/jvm/runtime/org/perl6/nqp/truffle/NQPScopeWithFrame.java
Revert "Revert "[truffle] Remove null checks for something that is never a null now""

This reverts commit 651bb3a1b1ffb273ba345ae55f734941206586f7.
nqp/truffle: 2badb7fa02 | (Paweł Murias)++ | src/vm/jvm/Truffle.nqp
[truffle] Refactor QAST::Var compilation
20:05 brrt joined, p6bannerbot sets mode: +v brrt
Geth rakudo: 2dd02751da | (Elizabeth Mattijsen)++ | src/Perl6/Optimizer.nqp
Make "for ^10 .reverse" just as fast as "for ^10"

Literal ranges in for loops are heavily optimized. However, looping over a reverted Range was only optimized at the Range.reverse method level. This commit statically optimizes "for ^10 .reverse" in the same way as "for ^10". This makes it about 6x faster.
20:09
lizmat inspired by stackoverflow.com/questions/524839...nting-down 20:12
Geth rakudo: 645eeb52dd | (Elizabeth Mattijsen)++ | src/Perl6/Optimizer.nqp
A slightly more correct handling of ^10 .reverse

We should first check for the .reverse, *the* check for nqp::stmts
20:33
lizmat *then (bloody n on my keyboard)
20:33 patrickb left 20:36 Zeising4 joined 20:39 Zoffix joined, p6bannerbot sets mode: +v Zoffix
Zoffix lizmat: I thought we couldn't optimize methodcalls in static optimizer like that because we don't know if they'd be modified by runtime? 20:40
timotimo: is that right? They're latebound something something
lizmat Zoffix: in this case, this is about a *literal* ^10 20:41
that would mean overriding prefix:<^>
I think we're pretty safe in this case 20:42
Zoffix lizmat: but how do you know .reverse on a Range object does sub_i stuff?
lizmat because it is a "^10" thing
Zoffix doesn't follow
lizmat ^10 normally is a Range 20:43
but in the context of "for ^10" it never becomes a Range object because the opt rewrites the optree
Zoffix lizmat: but does that mean we can optimize a ton of other stuff. I mean `42.cos` is also on a literal, for example 20:44
timotimo depends on what we want monkey-patchers to get
lizmat well, if that "42" is a unmixed-in Int, then I would say yes
timotimo but to be fair, cos 42 could also be "unsafe" if someone went and changed Int early enough 20:45
lizmat I mean: in Perl 5 you can change "undef" to 42
and that messes up a *lot* :-)
20:46 Zeising4 left
lizmat FWIW, if consensus says that the reverse opt shouldn't happen, then I'm fine with that too 20:46
Zoffix How about this: we optimize all we can until someone complains and brights forth a real-life useful usecase for when it's useful to have `42.cos` on mutated Int, and then we stick all these opts under some pragma/trait or something?
s/brights/brings/; 20:47
lizmat sounds like a plan to me
timotimo "use soft" is a thing iirc 20:48
TimToady yes, the compiler is allowed to make assumptions in the absence of declarations before CHECK time 20:50
Geth nqp/truffle: 2ba515521e | (Paweł Murias)++ | nqp-truffle.nqp
[truffle] Make nqp-truffle.nqp set module-path too
20:52
nqp/truffle: 08367fe4d6 | (Paweł Murias)++ | 12 files
[truffle] Teach the DSL about FrameSlot contextSlot arguments and get rid of a bunch of boilerplate
lizmat perhaps it is safer to actually perform this optimization on "10 ... 1" 20:53
and tell people to use that ?
timotimo it'd be cool to also optimize ones with a custom "step" 20:54
pmurias lizmat: that is safer
lizmat that would make 10 ... 1 about 75x faster :-) 20:55
20:55 mst is now known as mSt
Zoffix \o/ 20:56
20:56 mSt is now known as mst
lizmat ok, will look at that tomorrow and revert the .reverse opt 20:56
pmurias lizmat: the reverse opt should happen, but it feels like something should be done at runtime or else filthy monkey patchers will get into trouble if they augument Int
timotimo it's not really possible to do that optimization at run time
diakopter patch those filthy monkeys!
Zoffix lizmat: but shouldn't we keep the .reverse opt, based on what we discussed above?
timotimo apart from inlining all parts of the iterator and the body
Zoffix The monkey patchers will have to use a pragma if they want to throw away those opts 20:57
lizmat ok, then I'll keep the .reverse opt
pmurias timotimo: it's possible I just need to get the truffle backend working so we can do it ;)
timotimo :) 20:58
pmurias Zoffix: re real-life useful usecase, monkey patching builtin types in general is super doubious 21:02
21:15 pmurias left 21:21 brrt left 21:41 Zoffix left 21:49 MasterDuke joined, p6bannerbot sets mode: +v MasterDuke, MasterDuke left, MasterDuke joined, herbert.freenode.net sets mode: +v MasterDuke, p6bannerbot sets mode: +v MasterDuke
Geth ¦ rakudo: zoffixznet self-assigned Core dump when dividing some Rats with denominator 2**30 by -2 github.com/rakudo/rakudo/issues/2280 22:40
23:09 ilogger2 joined, p6bannerbot sets mode: +v thesherpa27 23:10 p6bannerbot sets mode: +v ilogger2