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.
00:12 [Tux] joined 02:29 grayrider joined 02:44 grayrider left
samcv releasable6, status 07:10
releasable6 samcv, Next release will happen when it's ready. 3 blockers. 262 out of 312 commits logged
samcv, Details: gist.github.com/d6b7e07a17ec4536f3...047febb7d8
samcv sounds good
lizmat Files=1267, Tests=88064, 402 wallclock secs (20.75 usr 6.30 sys + 2915.36 cusr 224.46 csys = 3166.87 CPU) 07:36
Geth rakudo: 616b757a46 | (Elizabeth Mattijsen)++ | src/core/Rakudo/Iterator.pm6
Make sure hash slice auto-vivifies using infix metaop

Fixes R#2718
07:59
synopsebot R#2718 [open]: github.com/rakudo/rakudo/issues/2718 [regression] Assigning to Hash slice with »=» no longer auto-vivifies the Hash
Geth roast: a3b365fcda | (Elizabeth Mattijsen)++ | S13-overloading/metaoperators.t
Add test for R#2718
10:04 dct joined 10:09 dct left
[Tux] Rakudo version 2018.12-313-g616b757a4 - MoarVM version 2018.12-114-g7ca628263
csv-ip5xs0.739 - 0.763
csv-ip5xs-206.150 - 6.155
csv-parser21.457 - 21.613
csv-test-xs-200.436 - 0.436
test7.182 - 7.722
test-t1.827 - 1.923
test-t --race0.837 - 0.863
test-t-2030.729 - 31.206
test-t-20 --race10.066 - 10.198
13:03
13:12 lucasb joined 15:05 gfldex_ is now known as gfldex
AlexDaniel samcv: ok, running Blin for the last time (hopefully) 16:29
MasterDuke AlexDaniel: how long does a full Blin run take? 16:57
AlexDaniel MasterDuke: I think about an hour
± something
some luck involved also :) If it starts bisecting the last tested module then it might take some extra time doing just that, even though everything else is finished 17:00
I think you can shave off a few minutes if you reorder modules taking into account the time it took to install them during the last run 17:02
or, well, just stop rakudo development so that there's nothing to bisect xD
MasterDuke that's not too bad at all 17:04
AlexDaniel I'm not sure…
the ecosystem is growing, so I wouldn't be surprised if we somewhat soon get like 10x the modules we have now
that'd mean you either wait more than 10 hours or you create a machine with 240 cores xD 17:05
although… if you make zef faster, then it can get much faster 17:06
MasterDuke or just divide the list and run on 10 machines?
AlexDaniel yes
what's the progress on getting JSON::Fast into rakudo, btw?
or, more precisely, replacing the built-in internal parser with code from JSON::Fast
though currently we only get around 300 new modules per year or so? 17:08
MasterDuke iirc, the internal one and JSON::Fast aren't 100% compatible 17:09
AlexDaniel yeah, I think a lot of json libs are not very compatible 17:10
but does that incompatibility affect us in any way?
MasterDuke don't remember exactly, but i think the reason for not using JSON::Fast in zef was because it could lead to problems 17:12
but i don't know why rakudo's internals couldn't be replaced by JSON::Fast 17:13
maybe someone could try that, do a Blin run, and see if anything can't be installed
AlexDaniel mmm I don't think this is going to show anything 17:14
MasterDuke if everything is fine, then just use that going forward (and zef will get that change automatically, because i think it uses the internal parser)
AlexDaniel Blin starts from scratch and attempts to install thing on HEAD first
it won't even try the --old version if something installs fine on HEAD 17:15
MasterDuke AlexDaniel: i don't see the problem? 17:19
AlexDaniel MasterDuke: maybe I don't understand how that's going to help… but you can change the internal rakudo to-json/from-json routines to produce xml instead of json and Blin won't notice :) 17:21
or not?
ahhhh, wait now I remember
zef is using from-json to parse the huge list of modules, right? That's what we were trying to speed up? 17:22
but then you can just test that the list of modules is parsed correctly
MasterDuke yeah. i don't remember if it's one big blob of json, or lots of small blobs though 17:23
hm, maybe for that part. but zef also has to parse the META6.json, and i think that's where there are worries about incompatibility
AlexDaniel mmm
right
well, I'm not too worried. Who's going to put combiners at the start of the strings in META6.json 17:24
or what the other edge cases are
IIRC there was a consensus that the code of the rakudo json parser can be replaced, and there was someone working on it 17:25
except that it never happened in the end
MasterDuke timotimo? don't know who else it would be 17:27
timotimo i didn't work on it 17:28
AlexDaniel o there's a ticket github.com/rakudo/rakudo/issues/2311 17:37
looks like nobody was working on it… 17:40
17:40 Kaiepi left
timotimo and it got forgot 17:41
MasterDuke m: my @a = ("a".."k").pick(*) xx 100; my $b; for @a -> $a { $b = $a.starts-with("b" | "j") }; say so $b # what am i doing wrong here? 17:42
camelia Type check failed for return value; expected Bool:D but got Junction (any(Bool::False, Bool...)
in block <unit> at <tmp> line 1
AlexDaniel oooh… 17:45
c: 2018.12 my @a = ("a".."k").pick(*) xx 100; my $b; for @a -> $a { $b = $a.starts-with("b" | "j") }
committable6 AlexDaniel, ¦2018.12: «»
AlexDaniel c: HEAD my @a = ("a".."k").pick(*) xx 100; my $b; for @a -> $a { $b = $a.starts-with("b" | "j") }
committable6 AlexDaniel, ¦HEAD(616b757): «Type check failed for return value; expected Bool:D but got Junction (any(Bool::False, Bool...)␤ in block <unit> at /tmp/2fxq5B351T line 1␤␤ «exit code = 1»»
AlexDaniel MasterDuke: I don't think you're doing anything wrong
bisect: old=2018.12 my @a = ("a".."k").pick(*) xx 100; my $b; for @a -> $a { $b = $a.starts-with("b" | "j") }
timotimo i'd expect the return value of the loop body has to be an Any
bisectable6_ AlexDaniel, Bisecting by exit code (old=2018.12 new=616b757). Old exit code: 0
AlexDaniel, bisect log: gist.github.com/53c4d742899c8d64d6...66b223f632
AlexDaniel, (2018-12-28) github.com/rakudo/rakudo/commit/2c...7d8fcbebc6
AlexDaniel yeah 17:46
that's what I was looking for
timotimo oh, huh
the starts-with sub takes a capture, so the autothread the junctions part doesn't trigger there, right
AlexDaniel m: say ‘foo’.starts-with(‘a’ | ‘b’) 17:47
camelia any(False, False)
AlexDaniel but why does that work?
m: say <foo bar>.starts-with(‘a’ | ‘b’)
camelia Type check failed for return value; expected Bool:D but got Junction (any(Bool::False, Bool...)
in block <unit> at <tmp> line 1
AlexDaniel ahhh I see, only on Cool
timotimo m: my @a = ("a".."k").pick(*) xx 100; my $b; for @a -> $a --> Mu { $b = $a.starts-with("b" | "j") }; say so $b
camelia Type check failed for return value; expected Bool:D but got Junction (any(Bool::False, Bool...)
in block <unit> at <tmp> line 1
AlexDaniel MasterDuke: yeah btw you're calling .starts-with on a list
MasterDuke ah, right. AlexDaniel++ 17:48
AlexDaniel I'm pretty sure that needs to be reverted
MasterDuke: can you file a ticket?
maybe not fully, but for anything that can potentially take a Junction as an argument 17:49
m: <foo %s bar>.printf(‘abc’ | ‘bca’) 17:54
camelia This representation (Null) does not support elems (for type VMNull)
in block <unit> at <tmp> line 1
AlexDaniel interesting
c: 2018.12 <foo %s bar>.printf(‘abc’ | ‘bca’)
committable6 AlexDaniel, ¦2018.12: «This representation (Null) does not support elems (for type VMNull)␤ in block <unit> at /tmp/uU1_VVBdCG line 1␤␤ «exit code = 1»»
AlexDaniel c: all <foo %s bar>.printf('abc' | 'bca')
probably never worked
committable6 AlexDaniel, gist.github.com/66f6be2225f8e8cf10...6b0b45ef8a 17:55
AlexDaniel somehow only these are affected: starts-with ends-with substr-eq contains
MasterDuke btw, the reason i was trying the above code, github.com/ugexe/zef/blob/master/l...m6#L50-L93
AlexDaniel hah… huh…
it's interesting that we didn't catch it earlier 17:56
MasterDuke i'm not sure this profile (of `zef info zef`) can be trusted (the numbers are insane), but it's pointing out those as some of thing at the top by exclusive time 17:58
18:01 lucasb left
MasterDuke benchable6: compare HEAD my @a = ("a".."k").pick(*).join xx 50000; my $b; for @a -> $a { $b = $a.starts-with("b" | "j") }; ||| my @a = ("a".."k").pick(*).join xx 100000; my $b; for @a -> $a { $b = ($a.starts-with("b") || $a.starts-with("j")) }; 18:05
benchable6 MasterDuke, starting to benchmark the 1 given commit
MasterDuke, ¦HEAD: «Benchmark: ␤«timed out after 25 seconds»»
MasterDuke benchable6: compare HEAD my @a = ("a".."k").pick(*).join xx 50000; my $b; for @a -> $a { $b = $a.starts-with("b" | "j") }; ||| my @a = ("a".."k").pick(*).join xx 50000; my $b; for @a -> $a { $b = ($a.starts-with("b") || $a.starts-with("j")) }; 18:06
benchable6 MasterDuke, starting to benchmark the 1 given commit
MasterDuke, ¦HEAD: «Benchmark: ␤«timed out after 25 seconds»»
MasterDuke benchable6: compare HEAD my @a = ("a".."k").pick(*).join xx 10000; my $b; for @a -> $a { $b = $a.starts-with("b" | "j") }; ||| my @a = ("a".."k").pick(*).join xx 10000; my $b; for @a -> $a { $b = ($a.starts-with("b") || $a.starts-with("j")) };
benchable6 MasterDuke, starting to benchmark the 1 given commit
MasterDuke, gist.github.com/7235651a82ff79fd2d...026fccfdf1 18:07
AlexDaniel MasterDuke: so, ticket? 18:44
thanks 18:48
19:50 Kaiepi joined 21:24 dct joined 21:29 Kaiepi left
Geth rakudo: b27a7381ac | (Nick Logan)++ (committed using GitHub Web editor) | .circleci/config.yml
Add CircleCI config
21:37
roast/6.c-errata: 1af03334be | (Elizabeth Mattijsen)++ (committed by Aleks-Daniel Jakimenko-Aleksejev) | S15-unicode-information/unival.t
Make unival tests less picky about how they die
21:54
roast/6.d-errata: 94c9b40b48 | (Elizabeth Mattijsen)++ (committed by Aleks-Daniel Jakimenko-Aleksejev) | S02-types/WHICH.t
Remove mention of ForeignCode

As discussed in github.com/rakudo/rakudo/issues/2575
21:55
roast/6.d-errata: f3dee0dc6c | (Elizabeth Mattijsen)++ (committed by Aleks-Daniel Jakimenko-Aleksejev) | S02-types/instants-and-durations.t
Make test for Instant + Instant less picky

In light of github.com/rakudo/rakudo/commit/e48712a30a
roast/6.d-errata: f6ff2a7788 | (Elizabeth Mattijsen)++ (committed by Aleks-Daniel Jakimenko-Aleksejev) | S15-unicode-information/unival.t
Make unival tests less picky about how they die
roast/6.d-errata: 94c9b40b48 | (Elizabeth Mattijsen)++ (committed by Aleks-Daniel Jakimenko-Aleksejev) | S02-types/WHICH.t
Remove mention of ForeignCode

As discussed in github.com/rakudo/rakudo/issues/2575
roast/6.d-errata: f3dee0dc6c | (Elizabeth Mattijsen)++ (committed by Aleks-Daniel Jakimenko-Aleksejev) | S02-types/instants-and-durations.t
Make test for Instant + Instant less picky

In light of github.com/rakudo/rakudo/commit/e48712a30a
roast/6.d-errata: f6ff2a7788 | (Elizabeth Mattijsen)++ (committed by Aleks-Daniel Jakimenko-Aleksejev) | S15-unicode-information/unival.t
Make unival tests less picky about how they die
rakudo: 176127fe44 | (Nick Logan)++ (committed using GitHub Web editor) | README.md
Add CircleCI badge
22:04
22:13 robertle left
Geth roast/6.c-errata: 894dee8d4d | (Aleks-Daniel Jakimenko-Aleksejev)++ | S11-repository/curli-install.t
Test installation with proper Distribution usage

This change was adapted from b82233a6973ad18d7b74a2fdd0ae8789a1977a76 (@ugexe++).
  “The intent of this test is installing a Distribution, and the fact
it used a class called Distribution to do it should be irrelevant. This instead installs something that *does* Distribution.”
23:25
23:40 Kaiepi joined