Perl 6 language and compiler development 2.0 | Logs at irclog.perlgeek.de/perl6-dev/today | For toolchain/installation stuff see #perl6-toolchain | For MoarVM see #moarvm
Set by moderator on 20 May 2018.
00:00 lizmat joined
jnthn MasterDuke: No, missed that. I think it's still a sensible feature. About .* and .+, actually they are only about walking the MRO, not multi-candidates, so it can probably apply for methods too 00:18
MasterDuke interesting 00:22
and you think the static optimizer is the best place to check? 00:23
jnthn Maybe. An alternative is to do it right after CHECK time 00:30
MasterDuke when/where is that?
jnthn m: class A { ... } 00:31
camelia The following packages were stubbed but not defined:
A
jnthn It's the place that we handle that
MasterDuke thanks, i'll look there
jnthn Yeah, at the moment there's 00:32
# Checks.
$*W.assert_stubs_defined($/);
$*W.sort_protos();
I'd add it around there
Actually 00:33
sort_protos is doing candidate sorting, I think
You could potentially do the check right then since in theory that already has the list of things that'd want checking
MasterDuke nice 00:34
jnthn Sleep time for me, happy hacking :)
o/
MasterDuke later...
01:56 shareable6 joined 01:58 ilbot3 joined
moderator Perl 6 language and compiler development 2.0 | Logs at irclog.perlgeek.de/perl6-dev/today | For toolchain/installation stuff see #perl6-toolchain | For MoarVM see #moarvm
Kaiepi i'm adding a test to perl docs to ensure nbsp is used whenever perl 6 appears 02:46
AlexDaniel Kaiepi: cool but… didn't we have a test for that already? 02:47
Kaiepi i didn't think we did, but i'll check in a second 02:48
doesn't look like it 02:50
02:51 Zoffix joined
Zoffix Kaiepi: are you looking in t/ ? There's another set in xt/ github.com/perl6/doc/tree/master/xt 02:51
xt/perl-nbsp.t should be the one you're talking about
Kaiepi oh
what tests typically go in xt?
also, i guess what i could do is write a util that automatically replaces Perl 6 without the nbsp with the one with it 02:53
Zoffix Author tests. Basically stuff that end users aren't meant to be running. Or phrased differently, covering problems that aren't important enough to stop installation of the dist for end users if those problems exist, like typos and nbsps
Kaiepi ah
MasterDuke i'm getting a `Cannot find method 'gist' on object of type Signature`. however, this is the code `note('a = ' ~ nqp::can(%a<signature>, 'gist') ?? %a<signature>.gist !! "can't .gist");` 02:55
Zoffix MasterDuke: precedence 02:56
m: use nqp; dd "a" ~ nqp::can(42, "meows") ?? "yes" !! "no"
camelia "yes"
Zoffix m: use nqp; dd "a" ~ (nqp::can(42, "meows") ?? "yes" !! "no")
camelia "ano"
MasterDuke hm 02:57
i didn't realize ~ bound that tightly
Kaiepi how do i make an array like [1,2,3,4] into one like [[1,2],[3,4]]? 03:06
AlexDaniel m: say [1,2,3,4].rotor(2) 03:07
camelia ((1 2) (3 4))
Kaiepi thanks
Geth ¦ rakudo: zoffixznet self-assigned X::TypeCheck chops off .perl too soon github.com/rakudo/rakudo/issues/1848 03:25
Zoffix Kaiepi: note that that will toss the last element if there's an odd number of them. Use :partial to keep it 03:33
dd [[1,2,3,4].map: {[$^a, $^b]}] 03:34
evalable6 [[1, 2], [3, 4]]
Kaiepi aight, thanks
Zoffix m: dd [1,2,3,4].map: *RR,* 03:35
camelia ((1, 2), (3, 4)).Seq
Zoffix Neat. You a way to close over a comma :D
Geth rakudo/post-release-2018.05: a79de42904 | (Zoffix Znet)++ | 2 files
Fix premature .perl chopping in X::TypeCheck

Fixes github.com/rakudo/rakudo/issues/1848 R#1848
Before chopping .perl, check if object's .^name is part of it, and if it is, bump the chop length by the length of the .^name.
03:39
synopsebot R#1848 [open]: github.com/rakudo/rakudo/issues/1848 X::TypeCheck chops off .perl too soon
Zoffix m: class Foo is Int {}; class Bar does Rational[Foo, Foo] {}; dd (Bar.new: Foo.new(1), Foo.new(2)).numerator.^name 03:52
camelia "Int"
Zoffix turns out we were never creating our Rationals correctly :P
03:59 Zoffix left 04:54 Zoffix joined
Zoffix Turns out there's a 6.c-errata spectest that blocks zero-denominator rationals normalization: github.com/perl6/roast/commit/60dd...7c992b5929 04:55
BUT, the commit is a change from original tests that expected normalization. The commit message doesn't say the reasons for the change and the IRC chat around that commit doesn't say the reason for the change. 04:56
.ask lizmat do you recall the reason for this commit, but any chance? github.com/perl6/roast/commit/60dd...7c992b5929 The first two tests, that expected numerator to be normalized to 1 or -1. By CaR Grant's logic, the normalization is desired, but that commit is part of 6.c-errata 04:58
yoleaux Zoffix: I'll pass your message to lizmat.
Zoffix What sucks is normalization alone doesn't fix the ZDR math bugs -_-
m: say Num(<1/0> + <0/0>)
camelia Inf
Zoffix m: say Num(<1/0>.Num + <0/0>.Num) 04:59
camelia NaN
Zoffix ffffff... 05:12
note to self. git reset --hard doesn't undo last commit >_<
Geth roast/car-grant-unreduce: 798b571f5f | (Zoffix Znet)++ | S32-num/rat.t
[CaR Grant] Change spec of zero-denominator rationals normalization

I deem lack of normalization a bug, and thus the tests wrong.
Since they're numerically equivalent, the .numerator/.denominator should be the same and we should normalize them right away. This lets us also use simpler logic in things like == and === and to have .WHICH give the same thing. ... (8 more lines)
05:13
roast/car-grant-unreduce: 58322b77ee | (Zoffix Znet)++ | 2 files
[CaR Grant] Amend ZDR equivalency proptests

The proptests were added[^1] a year ago and did not consider that ZDRs could be normalized to have numerically-equivalent Rationals have the same numerator/denominator
  [1] github.com/perl6/roast/commit/fd7c...e0b7785f40
05:19
rakudo/car-grant-unreduce: 7b890bcd23 | (Zoffix Znet)++ | src/core/Rational.pm6
[CaR Grant] Optimize/fix Rational.new

  - Makes creation of Rationals 19% faster
  - Fixes loss of proper typing of numerator/denominator with the
   types the role was parametarized with
  - Implements normalization of ZDRs to ensure .WHICH, .numerator,
   .denominator, etc. give the same value for
   numerically-equivalent Rationals
05:40
rakudo/car-grant-unreduce: d9ca15f110 | (Zoffix Znet)++ | src/core/Rat.pm6
[CaR Grant] Make Rational == Rational 28% faster

We now normalize ZDRs and so can use simpler testing logic
05:42
rakudo/car-grant-unreduce: 070e250ab7 | (Zoffix Znet)++ | src/core/Rat.pm6
[CaR Grant] Make Rational === Rational 52% faster

We now normalize ZDRs and so can use simpler testing logic
¦ rakudo: zoffixznet self-assigned ZDRs broken with `<=>` and possibly other comparator ops github.com/rakudo/rakudo/issues/1850 05:44
06:21 robertle joined 06:32 AlexDaniel joined
[Tux] + zef upgrade Slang::Tuxic File::Temp CSV::Parser Data::Dump Inline::Perl5 p6doc 08:50
===SORRY!===
This type cannot unbox to a native string: P6opaque, Failure
Rakudo version 2018.04.1-115-g791c3e350 - MoarVM version 2018.04.1-121-gd634d24cf
csv-ip5xs0.864 - 0.909
csv-ip5xs-208.830 - 9.132
csv-parser26.204 - 26.622
csv-test-xs-200.450 - 0.452
test9.021 - 10.017
test-t2.408 - 2.418
test-t --race1.002 - 1.218
test-t-2043.894 - 45.537
test-t-20 --race16.643 - 16.856
08:54
09:12 AlexDani` joined 09:56 lizmat joined
lizmat . 09:57
yoleaux 04:58Z <Zoffix> lizmat: do you recall the reason for this commit, but any chance? github.com/perl6/roast/commit/60dd...7c992b5929 The first two tests, that expected numerator to be normalized to 1 or -1. By CaR Grant's logic, the normalization is desired, but that commit is part of 6.c-errata
lizmat .tell Zoffix no, not really: I vaguely recall normalizing N/0 to 1/0 brought some issues somewhere in error reporting 09:59
yoleaux lizmat: I'll pass your message to Zoffix.
lizmat notable6: weekly 10:31
notable6 lizmat, 15 notes: gist.github.com/908a480e8c3ba6dfcd...93e2a512e8
10:32 AlexDani` joined
AlexDani` reportable6: 2018-05-14T00:00:00Z 2018-05-21T00:00:00Z 10:32
reportable6 AlexDani`, OK, working on it! This may take up to 40 seconds
AlexDani`, gist.github.com/17bf3baa55c9c9c57f...fa0493e499 10:33
AlexDaniel lizmat: ↑ 10:34
lizmat AlexDaniel: noted :-)
10:36 ExtraCrispy joined 10:42 a3f joined 10:53 shareable6 joined 10:57 PufferBot joined 11:00 Kaiepi joined 12:17 brrt joined 12:26 Zoffix left
samcv AlexDaniel`: ok noted. will be back later today 12:53
12:53 PufferBot joined 12:55 Kaiepi joined 12:56 Kaiepi joined 12:58 Zoffix joined
Zoffix AlexDaniel`: samcv what's the release status? Any more blockers that need to be fixed? 12:58
13:28 skids joined 13:54 lucasb joined 14:17 PufferBot joined
Geth ¦ rakudo: tbrowder self-assigned Pod convert non-breaking space into normal space. github.com/rakudo/rakudo/issues/1852 15:02
rakudo/car-grant-unreduce: 29570f10ce | (Zoffix Znet)++ | src/core/Rational.pm6
[CaR Grant] Make argless Rational.round 4.7x faster

It's used by Rational.Str and Rational.base, so should give some gravity boost to those as well.
15:23
roast: tbrowder++ created pull request #429:
add test for upcoming fix for Rakudo GH #1852
15:52
roast: 360e132242 | (Tom Browder)++ (committed using GitHub Web editor) | S26-documentation/11-non-breaking-space.t
add test for upcoming fix for Rakudo GH #1852 (#429)
15:53
16:24 shareable6 joined 17:12 stmuk joined 17:47 Ven`` joined 17:52 Ven` joined
Geth rakudo: tbrowder++ created pull request #1854:
Fix for GH #1852: pod converts non-breaking space into normal space
18:02
synopsebot RAKUDO#1852 [open]: github.com/rakudo/rakudo/issues/1852 Pod convert non-breaking space into normal space.
Geth roast: d86f648fb8 | (Tom Browder)++ (committed using GitHub Web editor) | S26-documentation/11-non-breaking-space.t
remove todo

test is now valid for fix to rakudo GH #1852 after rakudo PR #1854 is merged
18:05
rakudo: 662f19edef | (Tom Browder)++ | src/Perl6/Pod.nqp
Fix for GH #1852: pod converts non-breaking space into normal space

Tests have been added for the fix.
18:08
rakudo: 4cbb0fa408 | (Elizabeth Mattijsen)++ (committed using GitHub Web editor) | src/Perl6/Pod.nqp
Merge pull request #1854 from tbrowder/fix-gh1852

Fix for GH #1852: pod converts non-breaking space into normal space
18:18 shareable6 joined 18:55 AlexDaniel joined 18:59 Ven`` joined
Geth rakudo/post-release-2018.05: 75430ac9cb | (Tom Browder)++ (committed by Aleks-Daniel Jakimenko-Aleksejev) | src/Perl6/Pod.nqp
Fix for GH #1852: pod converts non-breaking space into normal space

Tests have been added for the fix.
18:59
rakudo: 2f4b2f4285 | (Aleks-Daniel Jakimenko-Aleksejev)++ | src/Perl6/Pod.nqp
Revert "Fix for GH #1852: pod converts non-breaking space into normal space"

This reverts commit 662f19edef85e2208ac0e84b9b9a1655f3e452eb.
The commit does a significant change, but we're too close to the release. Moving to post-release branch.
synopsebot RAKUDO#1852 [open]: github.com/rakudo/rakudo/issues/1852 Pod convert non-breaking space into normal space. 19:00
AlexDaniel good * o/
yoleaux 15:12Z <tbrowder_> AlexDaniel: i can fix p6 part of pod handling but need some guidance and consensus of how to do it.
AlexDaniel Zoffix: I don't know of any blockers. I still stand by this: irclog.perlgeek.de/perl6-dev/2018-...i_16186939 :) 19:01
Geth roast: 27c8985ed5 | usev6++ | S11-compunit/compunit-dependencyspecification.t
[JVM] Trait 'is required' not working for natives
19:30
Zoffix ok 19:52
.seen samcv
yoleaux I saw samcv 12:53Z in #perl6-dev: <samcv> AlexDaniel`: ok noted. will be back later today
20:01 Kaiepi joined
lizmat is starting to think that the 2018.05 release is going to be for next week's P6W 20:04
AlexDaniel lizmat: yes, most likely 20:05
Zoffix AlexDaniel: what do you think of this commit? It'd need to be cherry-pick to 6.c-errata for .06 release, if branches get merged: github.com/perl6/roast/commit/798b...f53ef40656 20:07
m: my $a := <1/0>; my $b := <2/0>; say [$a == $b, $a === $b, $a.numerator == $b.numerator ] 20:08
camelia [True False False]
Zoffix It specs ^ this to give all True, making all numerically-equivalent Rationals to also be === equivalent (if they're the same type) and their numerators to be equivalent 20:09
Right now there's an "unlimited" set of Rationals that are numerically the same, but don't compare the same in `===` and stuff. 20:10
Despite being normalized if doing .Num.Rat roundtrip
AlexDaniel new behavior makes sense to me
Zoffix m: my $a := <1/0>; my $b := <2/0>; $a := $a.Num.Rat; $b := $b.Num.Rat; say [$a == $b, $a === $b, $a.numerator == $b.numerator ] 20:11
camelia [True True True]
Zoffix k
AlexDaniel I don't think the change will affect anyone?
6c: say Rat.new(25, 0).nude 20:13
committable6 AlexDaniel, ¦6c (29 commits): «(25 0)␤» 20:14
AlexDaniel releases: say Rat.new(25, 0).nude
committable6 AlexDaniel, ¦releases (29 commits): «(25 0)␤»
AlexDaniel all: say Rat.new(25, 0).nude 20:15
AlexDaniel doesn't know how to use his own bots
committable6 AlexDaniel, gist.github.com/d4461575ad6f0bf321...2b5fde477f
AlexDaniel bisect: old=2015.05 new=2015.06 say Rat.new(25, 0).nude 20:16
bisectable6 AlexDaniel, Bisecting by output (old=2015.05 new=2015.06) because on both starting points the exit code is 0
AlexDaniel, bisect log: gist.github.com/049f951bc988a9d326...df21a06e3e
AlexDaniel, (2015-06-07) github.com/rakudo/rakudo/commit/44...b67d2995b7
AlexDaniel BUT WHY :)
quotable6: 442a567 20:17
quotable6 AlexDaniel, OK, working on it! This may take up to three minutes (4582161 messages to process)
lizmat AlexDaniel: for error reporting
m: my $a = 42; say $a/0
camelia Attempt to divide 42 by zero using div
in block <unit> at <tmp> line 1
lizmat AlexDaniel: of normalized, that would say "divide 1 by zero" 20:18
*if
quotable6 AlexDaniel, 2 messages (2015-06-07⌁2015-06-07): gist.github.com/8f487905ed67f057bb...c84861d5b1
Zoffix hm
Well, it doesn't have to say what it's dividing by zero. 20:20
I mean the current error ain't that great in the first place. There ain't no "div" in the user's code. 20:21
lizmat well, yeah, that was an other issue
but at the time "1 divided by zero" was deemed to be LTA 20:22
Zoffix right.
Geth roast/car-grant-unreduce: 6ef08cf127 | (Zoffix Znet)++ | S32-num/rat.t
[CaR Grant] Spec Rational keeps nu/de in proper types
20:23
lizmat so that's the reason. I don't care how this gets fixed in the CaR grant, but I would find reverting to "1 divided by zero" a LTA solutionn
Zoffix agreed 20:24
m: say <42/0>.Int 20:26
camelia Attempt to divide by zero when coercing Rational to Int
in block <unit> at <tmp> line 1
Zoffix I need to experiment with ZeroDenominator role for ZDRs... 20:27
AlexDaniel quotable6: by zero using div 20:29
quotable6 AlexDaniel, OK, working on it! This may take up to three minutes (4582161 messages to process)
AlexDaniel, 4 messages (Inf⌁-Inf): gist.github.com/8e60986d99a057e5c4...a1236b88a9 20:30
AlexDaniel
quotable6: ‘by zero using div’
quotable6 AlexDaniel, OK, working on it! This may take up to three minutes (4582161 messages to process)
AlexDaniel, 112 messages (2013-08-02⌁2018-03-23): gist.github.com/cdb3db40449ba3c03b...116c252ff5 20:31
Geth nqp: uzluisf++ created pull request #447:
Fix STDIN error for non-interactive REPL mode
20:32
Zoffix c: 2015.12 my $x = <1/0>.Int; say $x.^name 20:42
committable6 Zoffix, ¦2015.12: «Failure␤»
Zoffix Wonder if that's part of spec. Kinda inconsistent that .Str throws but .Int fails, yet making .Str fail leads to "This type cannot unbox to a native string: P6opaque, Failure" when printing 20:43
Geth nqp/post-release-2018.05: fc6441a192 | (Luis F. Uceta)++ | src/HLL/Compiler.nqp
Fix STDIN error for non-interactive REPL mode

Do not close STDIN it is the source of the program
Fixes github.com/rakudo/rakudo/issues/1824
20:45
nqp/post-release-2018.05: 68aa44de08 | (Aleks-Daniel Jakimenko-Aleksejev)++ (committed using GitHub Web editor) | src/HLL/Compiler.nqp
Merge pull request #447 from uzluisf/master

Fix STDIN error for non-interactive REPL mode
lizmat and another Perl 6 Weekly hits the Net: p6weekly.wordpress.com/2018/05/21/...ng-denial/ 20:50
Zoffix \\o/ 20:51
21:01 dct joined
moritz lizmat++ 21:02
Zoffix lizmat++ # Good weekly 21:03
lizmat notable6: weekly reset 21:09
notable6 lizmat, Moved existing notes to “weekly_2018-05-21T21:09:47Z”
AlexDaniel weekly: SQUASHathon github.com/rakudo/rakudo/wiki/Mont...Squash-Day 21:10
notable6 AlexDaniel, Noted!
AlexDaniel lizmat++
22:24 dct joined 22:51 nebuchadnezzar joined 22:58 skids joined 23:28 PufferBot joined
MasterDuke anyone have a suggestion for pretty(ish)-printing Signatures early in the compilation? .perl dies with `Cannot coerce to Any with named arguments` (with the Signature.perl a ways deep into the backtrace) 23:55