Geth rakudo: 1815c36843 | (Zoffix Znet)++ | 4 files
Make `else`-less `if`/`with` blocks 3.4x faster…

  …when in sunk context and when condition is false.
When `else` is absent, we stick an `Empty` in its place, to facilitate list comprehension stuff. When in sink context, however, it's useless and we're paying to have it sunk. Annotate ... (9 more lines)
00:13
Zoffix ^ could use an extra pair of eyes on it, as I'm not 100% certain the END blocks getting nulls is entirely benign.
Also Fixes RT#130613 00:15
synopsebot RT#130613 [open]: rt.perl.org/Ticket/Display.html?id=130613 [OPTIMIZER][LTA] "if" without "else" much slower than "if" with empty "else"
ilmari Zoffix: I have no opinion on that bit, but shouldn't the {~$visit.node} in the warning be $value? 00:17
ilmari - the drive-by nitpicker
Zoffix ilmari++ good eye :) 00:19
Wonder what codepath would have $value.node as true, yet ~$value.node as empty string. 00:21
m: ''
camelia WARNINGS for <tmp>:
Useless use of constant string "" in sink context (line 1)
Zoffix ^ cause that doesn't even go through that path
TimToady m: say set($[1,2,3],$[1,2,3]) 00:28
camelia set([1 2 3] [1 2 3])
TimToady m: say set([1,2,3],[1,2,3])
camelia set(1 2 3)
TimToady that looks wrongish to me, insofar as [] is not () 00:29
Zoffix m: say set((1,2,3),(1,2,3))
camelia set(1 2 3)
Zoffix it gets flattened in slurpage
m: dd Set.new: (1,2,3),(1,2,3) 00:30
camelia Set.new((1, 2, 3))
Zoffix m: dd Set.new: [1,2,3],[1,2,3]
camelia Set.new([1, 2, 3],[1, 2, 3])
TimToady well, at least there's some way to get to it 00:31
Zoffix It breaks 6.c spec tho. There's a test that specifically tests that List is not a value type 00:32
Two: github.com/perl6/roast/commit/5670...81984f39f2 00:33
TimToady possible we should distinguish a Tuple type in 6.d
Geth rakudo: 82dbada3c0 | (Zoffix Znet)++ | src/Perl6/Optimizer.nqp
Use processed value instead of original in message; ilmari++
00:35
rakudo: jstuder-gh++ created pull request #1350:
Issue 1204: Don't wrap quoteword in Slip if one word
02:04
Zoffix ZOFFLOP: passing TODOs in t/spec/S12-construction/destruction.t 02:15
Also, I REALLY hope this stresstest run time is not a fluke: 122s vs 159s usual time :) 02:16
a fluke :) 02:41
ZOFVM: Files=1286, Tests=152982, 154 wallclock secs (21.12 usr 3.29 sys + 3318.10 cusr 172.46 csys = 3514.97 CPU)
Geth roast: dcce881633 | (Zoffix Znet)++ | S32-io/out-buffering.t
Test prompt doesn't hang on TTYs

RT#131700: rt.perl.org/Ticket/Display.html?id=131700 Rakudo fix: github.com/MoarVM/MoarVM/commit/4541cf6f6c
   github.com/perl6/nqp/commit/659ced5b57
   github.com/rakudo/rakudo/commit/096c4eadbe
03:03
synopsebot RT#131700 [new]: rt.perl.org/Ticket/Display.html?id=131700 [IO] prompt not working on bash-on-ubuntu on win10
user100500 🦋 08:19
[Tux] Rakudo version 2017.12-64-g096c4eadb - MoarVM version 2017.12-14-g4541cf6f6
csv-ip5xs1.125 - 1.155
csv-ip5xs-2013.138 - 13.311
csv-parser12.499 - 12.527
csv-test-xs-200.427 - 0.432
test11.622 - 11.624
test-t2.859 - 2.899
test-t --race1.176 - 1.257
test-t-2051.361 - 51.612
test-t-20 --race18.015 - 20.247
10:22
Geth tap-harness6: hankache++ created pull request #23:
Enhance prove6 pod and create a separate README
11:08
dogbert17 lizmat: tried changing github.com/rakudo/rakudo/blob/mast...s.pm#L1925 yesterday but I probably did something wrong since it didn't work :( 13:45
m: say Any.skip(*-1)
camelia No such method 'Int' for invocant of type 'WhateverCode'
in block <unit> at <tmp> line 1
lizmat dogbert17: busy with some other stuff atm, will look at it again in a few hours (if all goes well) 13:46
dogbert17 good luck with other stuff :) 13:47
geekosaur doesn't that need a dispatcher for a Callable for WhateverCode to work? otherwise, yeh, I'd expect that error because it tries to coerce the WhateverCode to Int 13:51
which is not automatic
er, not automatically going to run it and hope it's an Int result, because WhateverCode needs something as input as well and autocoerce doesn't know what to feed it 13:52
lizmat well, I've been thinking of adding a .Int to WheteverCode, but couldn't find a way to get the parameter it needs reliably
geekosaur right
dogbert17 geekosaur: the reason I asked about this is that the docs claims that this is supported. docs.perl6.org/type/Any#method_skip 14:00
lizmat yeah, and it should :-) 14:03
timotimo i don't think .Int to WhateverCode can be made to work; it'd have to inspect the rest of the argument list and find what object to call a method like .elems on. how is it supposed to know? 14:04
lizmat indeed, so I gave up on that idea :-)
timotimo like, do we want a coerced-to-Int WhateverCode to just take the first argument - because it's usually the invocant - and call .elems on it - because that's often what you want - for this case? %)
lizmat too magic
geekosaur yes, or even if it should be .elems or something else, in the most general case
timotimo well, i suppose it could be .Int 14:05
dogbert17 m: say (1..5).tail(*-2) 14:06
camelia (3 4 5)
dogbert17 m: say (1..5).skip(*-2) 14:08
camelia No such method 'Int' for invocant of type 'WhateverCode'
in block <unit> at <tmp> line 1
Geth rakudo: MasterDuke17++ created pull request #1351:
Remove some extraneous semicolons
15:36
rakudo: f982d9e07b | MasterDuke17++ | 3 files
Remove some extraneous semicolons
15:37
rakudo: 08c97d6135 | (Aleks-Daniel Jakimenko-Aleksejev)++ (committed using GitHub Web editor) | 3 files
Merge pull request #1351 from MasterDuke17/remove_extra_semicolons

Remove some extraneous semicolons
lizmat stackoverflow.com/questions/480356...-unixencod # bug ? 16:15
Geth roast: 22f7cf220c | usev6++ | 3 files
[jvm] Re-fudge tests for RT #127756

Tests have been unfudged with 8533ec6924, but they do not pass on the JVM, yet.
17:12
roast: 2452b9dce1 | usev6++ | 4 files
[jvm] Fudge some newly added tests
synopsebot RT#127756 [resolved]: rt.perl.org/Ticket/Display.html?id=127756 setelems on native arrays doesn't clear the array
Geth rakudo/js: 4 commits pushed by pmurias++ 17:55
6.d-prep: 7b22b72451 | (Zoffix Znet)++ (committed using GitHub Web editor) | TODO/README.md
A pox on firefox
18:25
6.d-prep: 29d55f97fb | (Zoffix Znet)++ (committed using GitHub Web editor) | TODO/README.md
Update Zoffix's 6.d reviewer commit mark
18:26
Zoffix At least the first half of this commit looks like it's masking a bug: github.com/perl6/roast/commit/e5b4...1a26bab7ba 18:37
m: role Bar { method z { ::?ROLE } }; class Foo does Bar {}; use nqp; dd nqp::eqaddr(Foo.z, Bar)
camelia 0
Zoffix Shouldn't it be eqaddr? They're the same types, are they not? 18:38
m: role Bar { method z { ::?ROLE } }; use nqp; dd nqp::eqaddr(Bar.z, Bar)
camelia 0
Geth rakudo: ad684de383 | (Jeremy Studer)++ | 2 files
Strip Slip wrapping quoteword if one only word

When using word quoting with interpolation, interpolated words are wrapped in a Slip. This is desirable when there are multiple words, as the interpolated values in the Slip get integrated into the surrounding List, but is problematic when there is only one word total (prior to interpolation). ... (9 more lines)
18:43
rakudo: e2c7bcaec7 | (Zoffix Znet)++ (committed using GitHub Web editor) | 2 files
Merge pull request #1350 from jstuder-gh/issue_1204

Issue 1204: Don't wrap quoteword in Slip if one word
Zoffix Listed the commit for re-review on github.com/perl6/6.d-prep/issues/2 and filed Issue R#1352 18:56
synopsebot R#1352 [open]: github.com/rakudo/rakudo/issues/1352 ::?ROLE is not nqp::addr the role's type, breaking `===`
Geth 6.d-prep: 8361d8ea2a | (Zoffix Znet)++ (committed using GitHub Web editor) | TODO/README.md
Document glop aliases don't filter some old commtis for some reason
19:09
roast: aca8689bc4 | (Zoffix Znet)++ | S32-hash/adverbs.t
[v6.d REVIEW] Use politer language
20:45
roast: b3936232aa | (Zoffix Znet)++ | S32-num/rat.t
[v6.d REVIEW] Respec fudged Inf.Int/1 test

Closes RT#74648: rt.perl.org/Ticket/Display.html?id=74648
Inf.Int Fails, because Inf is not representable in Int. This makes the test `Failure/1`, which rightfully explodes and shouldn't be making any Rats.
Unfudge and change test to `throws-like`
21:14
synopsebot RT#74648 [resolved]: rt.perl.org/Ticket/Display.html?id=74648 Rakudo fails when creating Rat from Inf.Int / 1
roast: ede7488dcc | usev6++ | 3 files
[jvm] Use better todo message
21:24
roast: b70f1883fe | usev6++ | S06-traits/misc.t
[jvm] Skip test that selects wrong multi

Currently, the code does not die when the wrong multi is called. This is caused by a different bug. Since fixing this second bug would make the test explode, it's better to skip it for now.
rakudo: 9d8bd49027 | (Aleks-Daniel Jakimenko-Aleksejev)++ | docs/ChangeLog
Link to the wiki for the upcoming changelog section

Still hoping that this will allow others to make micro-contributions.
21:28
rakudo: 4945dc40e3 | usev6++ | src/vm/jvm/runtime/org/perl6/rakudo/Binder.java
[jvm] Mention modifiable constraint in bind fail

The error message has been improved for MoarVM with 053729c7d4.
21:34
Zoffix m: Inf.Rat.nude.say 21:47
camelia (Inf 0)
Zoffix Gonna try to rework ^ that to be IEEE Rats instead right now. 21:48
(so 1/0 for Inf, -1/0 for -Inf, and 0/0 for NaN0
m: NaN.Rat.isNaN.say
camelia False
Zoffix 'cause I noticed this bug ^ and I figure instead of fixing it, should try to do the IEE rats instead and see if any 6.c spec blocks that change 21:49
lizmat Zoffix: I vaguely recall it originally being 1/0 and that Inf/0 was a solution to something
Zoffix lizmat: I vaguely recall it was being 1/0 exploding, so Inf.Rat.Num did not round-trip. But now 1/0 converts to Inf Num 21:50
mc: (1/0).Num 21:51
committable6 Zoffix, ¦2015.12: «»
Zoffix hm
mc: (1/0).Num.say
committable6 Zoffix, ¦2015.12: «Inf␤»
Zoffix Well, I trust there are tests covering whatever the issue was being addressed, so the change would trigger those tests.
lizmat one can hope :-)
jnthn Zoffix++ # massive test review 21:54
Geth roast: a257fb79a6 | (Zoffix Znet)++ | S32-num/rat.t
[v6.d REVIEW] Use correcter tests for Num.Rat conversions

The test descriptions say `==` is being checked, but the `is` routine is actually testing Str views of Rats and Nums. Change to `cmp-ok` with
  `==` as comparator, since IEEE-style zero-denominator Rats are explosive
in Str views, while non-explosive in Num views, so they will match here.
Since NaN does not `==` to itself, use `.isNaN` test for it. Fudge it for now, since there's currently a to-be-fixed bug where NaN.Rat is not `isNaN`.
21:55
nqp: cccaf20352 | usev6++ | 10 files
[jvm] Port fix for clearing old VMArray elements

This ports a bug fix for MoarVM and resolves RT #127756 for the JVM backend.
  See github.com/MoarVM/MoarVM/commit/43c926f9e0 which has a detailed
commit message (Zoffix++).
23:04
synopsebot RT#127756 [resolved]: rt.perl.org/Ticket/Display.html?id=127756 setelems on native arrays doesn't clear the array
Geth rakudo: 042cb7413f | (Zoffix Znet)++ | 2 files
Use IEEE-style Rationals for ±Inf/NaN Num conversions

Fixes RT#130459: rt.perl.org/Ticket/Display.html?id=130459 Fixes RT#130171: rt.perl.org/Ticket/Display.html?id=130171 Fixes RT#128857: rt.perl.org/Ticket/Display.html?id=128857
Fix follows TimToady++'s recommendation: ... (24 more lines)
23:41
synopsebot RT#130459 [new]: rt.perl.org/Ticket/Display.html?id=130459 Some operations with Inf.Rat blow up (Inf.Rat.perl)
synopsebot RT#130171 [new]: rt.perl.org/Ticket/Display.html?id=130171 [LTA] Inf.Rat.perl produces a really bad error message (Inf.Rat.perl)
RT#128857 [new]: rt.perl.org/Ticket/Display.html?id=128857 [LTA] ∞.Rat ~~ Rat is False 23:42
Zoffix ^ rest of commit message traces how we got Num-numerator rationals. I think overall my change addresses all the problems that had to be solved. 23:43
.oO( Rule 3: Larry can be blamed for everything :P )
23:46
Geth roast: c3086244fd | (Zoffix Znet)++ | S32-num/rat.t
Expand spec on ±Inf/NaN <-> Rational conversions

  - Conversions give zero-denominator Rationals with ±1/0 numerators
  - .Str views explode
  - Rational.Num.[Fat]Rat normalizes numerator to ±1/0
Rakudo fix: github.com/rakudo/rakudo/commit/042cb7413f Covers RT#130459: rt.perl.org/Ticket/Display.html?id=130459 Covers RT#130171: rt.perl.org/Ticket/Display.html?id=130171 Covers RT#128857: rt.perl.org/Ticket/Display.html?id=128857
23:50
MasterDuke Zoffix++ 23:52