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:39 lizmat_ joined, p6bannerbot sets mode: +v lizmat_, lizmat left 00:49 MasterDuke joined, p6bannerbot sets mode: +v MasterDuke 00:50 MasterDuke left, MasterDuke joined, herbert.freenode.net sets mode: +v MasterDuke, p6bannerbot sets mode: +v MasterDuke 01:24 leont left 02:28 Kaiepi left 02:31 Kaiepi joined 02:32 p6bannerbot sets mode: +v Kaiepi 02:39 Kaiepi left, Kaiepi joined 02:40 p6bannerbot sets mode: +v Kaiepi
MasterDuke huh, just got burned again with --stage=<anything other than parse> just hanging during a rakudo build 02:42
i saw an odd error during stage parse of a complete rebuild, but i had a local patch, so wanted to run it without my patch in a loop to see if it happened again 02:44
so started it with --target=parse to be more efficient, came back 30 min later and it was still sitting there in the very first stage parse, cpu at 100% 02:45
02:49 Kaiepi left, Kaiepi joined 02:50 p6bannerbot sets mode: +v Kaiepi
MasterDuke bisectable6: say Match.^roles 02:51
bisectable6 MasterDuke, Bisecting by exit code (old=2015.12 new=50f0fce). Old exit code: 0
MasterDuke, bisect log: gist.github.com/4244ce5f1ef3697a2e...0ca501f2d7 02:52
MasterDuke, There are 20 candidates for the first “new” revision. See the log for more details
02:53 lizmat_ left
MasterDuke bisectable6: (any(), any()).Seq.join 02:59
bisectable6 MasterDuke, Bisecting by exit code (old=2015.12 new=50f0fce). Old exit code: 0
MasterDuke, bisect log: gist.github.com/42176e41eb32eff2db...1ac7ee3b21
MasterDuke, (2017-08-09) github.com/rakudo/rakudo/commit/17...dab082750c
03:07 ufobat___ joined 03:08 p6bannerbot sets mode: +v ufobat___ 03:11 ufobat_ left
MasterDuke timotimo: you around? 03:12
timotimo: have you seen github.com/rakudo/rakudo/issues/2333 ? seems like something you'd find interesting 03:28
07:20 nine left 07:22 nine joined, camelia left, p6bannerbot sets mode: +v nine 07:23 camelia joined 07:24 p6bannerbot sets mode: +v camelia 07:25 b2gills left 07:30 nine left 07:32 nine joined 07:33 camelia left, p6bannerbot sets mode: +v nine 07:35 b2gills joined 07:36 p6bannerbot sets mode: +v b2gills 07:40 nine left 07:41 nine joined 07:42 p6bannerbot sets mode: +v nine 09:51 brrt joined, p6bannerbot sets mode: +v brrt 10:02 lizmat joined, p6bannerbot sets mode: +v lizmat
lizmat Files=1255, Tests=76370, 344 wallclock secs (15.83 usr 5.55 sys + 2427.03 cusr 231.53 csys = 2679.94 CPU) 10:11
Geth nqp: fa70d89213 | (Elizabeth Mattijsen)++ | tools/build/MOAR_REVISION
Bump MoarVM for brrt's last fixes
10:22
¦ nqp: version bump brought these changes: github.com/MoarVM/MoarVM/compare/2...2-g9468b7f
rakudo: 21b0a3a690 | (Elizabeth Mattijsen)++ | tools/build/NQP_REVISION
Bump NQP to get the latest MoarVM fix
10:37
¦ rakudo: version bump brought these changes: github.com/perl6/nqp/compare/2018....7-gfa70d89
10:45 brrt left
|Tux| Rakudo version 2018.10-164-g21b0a3a69 - MoarVM version 2018.10-82-g9468b7f75
csv-ip5xs0.897 - 0.922
csv-ip5xs-207.108 - 7.154
csv-parser22.426 - 22.662
csv-test-xs-200.426 - 0.452
test8.144 - 8.719
test-t1.798 - 1.806
test-t --race0.815 - 0.823
test-t-2029.829 - 31.326
test-t-20 --race9.632 - 10.751
10:50
10:59 lizmat left 11:01 yoleaux left 11:03 lizmat joined, p6bannerbot sets mode: +v lizmat
Geth nqp: edd5b1148f | (Elizabeth Mattijsen)++ | src/how/NQPParametricRoleHOW.nqp
Add :$transitive named re R#2401
11:06
synopsebot_ R#2401 [open]: github.com/rakudo/rakudo/issues/2401 Match.^roles does not behave 11:07
Geth rakudo: becbdeb9de | (Elizabeth Mattijsen)++ | tools/build/NQP_REVISION
Bump NQP to get fix for R#2401
11:11
rakudo: version bump brought these changes: github.com/perl6/nqp/compare/2018....8-gedd5b11
005261a4c2 | (Elizabeth Mattijsen)++ | 2 files

  - create a lazily filled cache of += %= -= *= ~=
  - whenever a METAOP_ASSIGN is called, check for core ops
  - the first time this happens, the cache will be filled
   - so we don't incur this overhead at every startup
  - more ops could be easily added if deemed necessary
synopsebot_ R#2401 [open]: github.com/rakudo/rakudo/issues/2401 Match.^roles does not behave
12:27 lucasb joined 12:28 p6bannerbot sets mode: +v lucasb 12:29 brrt joined 12:30 p6bannerbot sets mode: +v brrt 12:43 j3nnn1 joined, p6bannerbot sets mode: +v j3nnn1 12:56 yoleaux joined 12:57 p6bannerbot sets mode: +v yoleaux 14:06 |Tux| left 14:19 |Tux| joined, p6bannerbot sets mode: +v |Tux| 14:33 brrt left
14:56 Kaiepi left 14:57 Kaiepi joined, p6bannerbot sets mode: +v Kaiepi 15:11 Kaiepi left, Kaiepi joined 15:12 p6bannerbot sets mode: +v Kaiepi 15:14 leont joined 15:15 p6bannerbot sets mode: +v leont 15:16 brrt joined 15:17 p6bannerbot sets mode: +v brrt 15:22 MasterDuke left
AlexDaniel Any other thoughts on R#2498 ? 17:10
synopsebot_ R#2498 [open]: github.com/rakudo/rakudo/issues/2498 [⚠ blocker ⚠] Tinky and Tinky::JSON “P6M Merging GLOBAL symbols failed: duplicate definition of symbol NoState”
17:15 patrickb joined 17:16 p6bannerbot sets mode: +v patrickb 17:30 Kaiepi left 17:33 Kaiepi joined, p6bannerbot sets mode: +v Kaiepi
lucasb committable6: d3c5381b7^,d3c5381b7 role R[::T] { has T $!x }; class C does R[Any] { method m { $!x = Nil } }; C.new.m; say 'ok' 17:36
committable6 lucasb, ¦d3c5381b7^: «ok␤» ¦d3c5381: «Died with X::TypeCheck::Assignment␤ in method m at /tmp/fdeAFu3XLb line 1␤ in block <unit> at /tmp/fdeAFu3XLb line 1␤␤ «exit code = 1»»
lucasb github.com/rakudo/rakudo/commit/d3...c5d8165116
jnthn: ^^
18:30 Kaiepi left 18:33 Kaiepi joined 18:34 p6bannerbot sets mode: +v Kaiepi 18:35 lizmat left 18:50 Kaiepi left, Kaiepi joined 18:51 p6bannerbot sets mode: +v Kaiepi 18:57 lizmat joined, p6bannerbot sets mode: +v lizmat
lizmat m: my @a = 1..3; dd @a >>xx<< @a # this feels wrong to me 19:25
evalable6 Array element = [(1,).Seq, (2, 2).Seq, (3, 3, 3).Seq]
lizmat m: my @a = 1..3; say @a >>xx<< @a # you don't really see it when you make strings of it
evalable6 [(1) (2 2) (3 3 3)]
lizmat jnthn: thoughts about >>xx<< ^^^ ? 19:26
19:27 lgtaube left 19:44 lgtaube joined, lucasb left, p6bannerbot sets mode: +v lgtaube
lizmat hmmm... maybe I borked it 19:56
bisectable6: old=2018.10 my @a = 1..3; dd @a >>xx<< @a
bisectable6 lizmat, On both starting points (old=2018.10 new=005261a) the exit code is 0 and the output is identical as well
lizmat, Output on both points: «Array element = [(1,).Seq, (2, 2).Seq, (3, 3, 3).Seq]␤»
lizmat bisectable6: my @a = 1..3; dd @a >>xx<< @a
bisectable6 lizmat, Bisecting by output (old=2015.12 new=005261a) because on both starting points the exit code is 0
lizmat, bisect log: gist.github.com/c87eff2fc2a1018983...cc81710bc5 19:57
lizmat, (2017-03-08) github.com/rakudo/rakudo/commit/1e...b29076dc78
AlexDaniel 6c: my @a = 1..3; dd @a >>xx<< @a 20:24
committable6 AlexDaniel, gist.github.com/d254f728b47531409f...9484e3a9c5
20:25 lucasb joined 20:26 p6bannerbot sets mode: +v lucasb
lucasb m: say True ?? a=>1 !! 42 20:29
evalable6 a => 1
lucasb m: say True ?? 'a'=>1 !! 42
evalable6 (exit code 1) 04===SORRY!04=== Error while compiling /tmp/74dF6Q5MRf
Precede…
lucasb, Full output: gist.github.com/c1924eb9c0360b5f2b...c687b348b8
lucasb Precedence of => is too loose to use inside ?? !!; please parenthesize 20:30
lizmat m: my @a = ^5; dd @a >>xx=>> 1
evalable6 Array @a = [(my \List_94773139299440 = ($(List_94773139299440.Seq),)).Seq, (my \List_94773…
Geth 6.d-prep: 1b092d89f5 | (Zoffix Znet)++ (committed using GitHub Web editor) | deferred-to-6.e/README.md
List R#2502 in 6.e TODO work
synopsebot_ R#2502 [open]: github.com/rakudo/rakudo/issues/2502 [math] 1e0 / 0e0 should return Inf
evalable6 lizmat, Full output: gist.github.com/d2de9214323eac524e...5f4863c289
lizmat m: my @a = ^5; dd @a >>xx>> 2 20:32
evalable6 Array element = [(0, 0).Seq, (1, 1).Seq, (2, 2).Seq, (3, 3).Seq, (4, 4).Seq]
lucasb m: say True ?? 10 !! a => 42 # (1) 20:44
evalable6 10
lucasb m: say True ?? 10 !! 'a' => 42
evalable6 10 => 42
lucasb if "=>" has looser precedence than the conditional operator, then example (1) is wrong, no? 20:45
IOW, does it seems there's some syntax parsing problem with regard pairs with bareword keys? 20:47
a=>1 seems to be tighter than 'a'=>1
20:59 Kaiepi left 21:01 Kaiepi joined 21:02 p6bannerbot sets mode: +v Kaiepi 21:07 dct joined, p6bannerbot sets mode: +v dct 21:32 dct left 21:45 dct joined, p6bannerbot sets mode: +v dct 22:03 lucasb left
jnthn lizmat: Hm, that xx is right, no? 1 xx 1, 2 xx 2, 3 xx 3 22:09
22:09 brrt left 22:10 MasterDuke joined, p6bannerbot sets mode: +v MasterDuke, MasterDuke left, MasterDuke joined, herbert.freenode.net sets mode: +v MasterDuke 22:11 p6bannerbot sets mode: +v MasterDuke
jnthn .tell lucasb `a => 1` is actually a term directly and doesn't involve infix:<< => >> at all; the `a =>` is part of the longest token match (and it even limits to \h+ instead of <.ws> to achieve that). 22:14
yoleaux jnthn: I'll pass your message to lucasb.
lizmat jnthn: but the point is that the Seq doesn't get flattened, one *could* expect a List there, no? 22:15
m: dd ^5 >>xx<< ^5 22:16
evalable6 (().Seq, (1,).Seq, (2, 2).Seq, (3, 3, 3).Seq, (4, 4, 4, 4).Seq)
jnthn Why would it get flattened?
I'd expect you to have to write `flat` explicitly for that
And xx produces a Seq
m: dd flat ^5 >>xx<< ^5 22:17
evalable6 (1, 2, 2, 3, 3, 3, 4, 4, 4, 4).Seq
lizmat m: my @a := ^5 >>xx<< ^5; say @a[0]; say @a[0]
evalable6 ()
()
lizmat m: my @a := ^5 >>xx<< ^5; say @a[1]; say @a[1]
evalable6 (1)
(1)
lizmat hmmm
m: dd ^5 >>xx<< ^5 22:18
evalable6 (().Seq, (1,).Seq, (2, 2).Seq, (3, 3, 3).Seq, (4, 4, 4, 4).Seq)
22:18 lucasb joined
lizmat m: use Test; is-deeply ^3 >>xx<< ^3, (().Seq, (1,)Seq, (2,2).Seq) 22:18
evalable6 (exit code 1) 04===SORRY!04=== Error while compiling /tmp/PmdyXH2Itw
Precedi…
lizmat, Full output: gist.github.com/65c2f7e30578a37c12...96f0ec62d5
22:19 p6bannerbot sets mode: +v lucasb
lizmat m: use Test; is-deeply ^3 >>xx<< ^3, (().Seq, (1,).Seq, (2,2).Seq) 22:19
evalable6 ok 1 -
lizmat hmmm...
Guess I need to revisit some tests then :-)
lucasb . 22:22
yoleaux 22:14Z <jnthn> lucasb: `a => 1` is actually a term directly and doesn't involve infix:<< => >> at all; the `a =>` is part of the longest token match (and it even limits to \h+ instead of <.ws> to achieve that).
lucasb thanks jnthn
so, to recapitulate :) 22:24
'a => 1' is a single token, while "'a' => 1" are three
I guess this wouldn't bother me if it didn't complete change the meaning of some expression 22:25
github.com/rakudo/rakudo/blob/mast....nqp#L1543
github.com/rakudo/rakudo/blob/mast...r.pm6#L138 22:26
^^ iiuc, they come from these places?
Geth roast: f144154cf9 | (Elizabeth Mattijsen)++ | S03-metaops/infix.t
First stab at exhaustive metaop infix testing
jnthn lucasb: Well, there's also an infix for parsing => in Grammar.nqp too 22:27
They're quite different in other ways too (foo(a => 1) passes a named arg, foo('a' => 1) passes a positional arg, for example)
22:28 dct left
lucasb ah, ok, for arguments I was more used to the idea of they being different 22:28
just meet this detail in a different context and was surprised :-| 22:29
but ok, it's the same thing 22:30
jnthn Yeah, I can see it being a surprise. On the other hand, I can't remember running into it, or having to explain it, before now, so I guess it's at least a relatively rare surprise :)
lucasb ok, thanks again 22:32
lizmat m: say -1 % 109 22:33
evalable6 108
lizmat is that to be expected ?
lucasb perl5 agrees with it 22:34
lizmat apparently C++ doesn't: twitter.com/shniperson2/status/106...7281733632
Geth rakudo: 5720ef223f | (Elizabeth Mattijsen)++ | t/spectest.data
Add exhaustive metaop infix tests
22:36
lucasb console.log(-1 % 109) //=> -1 Node.js
but Ruby and Python are the same as P5 and 6
lizmat well, I guess we're in the good group then 22:37
lucasb yes :)
lizmat BTW, does anybody know what happened to Camelia ?
22:37 patrickb left
AlexDaniel nine: ↑ 22:38
lucasb m: role R[::T] { has T $!x }; class C does R[Any] { method m { $!x = Nil } }; C.new.m; say 'ok' 22:40
evalable6 (exit code 1) Died with X::TypeCheck::Assignment
in method m at /tmp/HJLBsZsTWq line 1
in block <unit> at /tmp/HJLBsZsTWq line 1
lucasb ^^ sorry to ask again, but I would appreciate if anyone could confirm if this is an actual problem 22:41
bisectable6: role R[::T] { has T $!x }; class C does R[Any] { method m { $!x = Nil } }; C.new.m; say 'ok'
bisectable6 lucasb, Bisecting by exit code (old=2015.12 new=005261a). Old exit code: 0
lucasb, bisect log: gist.github.com/02124f93e5702d1724...03dd249261
lucasb, (2018-07-09) github.com/rakudo/rakudo/commit/d3...c5d8165116
jnthn lucasb: Yeah, that should probably be resetting it back to Any 22:42
lucasb ah, thanks!
jnthn Please file it
lucasb R#2503 22:47
synopsebot_ R#2503 [open]: github.com/rakudo/rakudo/issues/2503 Can't assign Nil to an attribute from a role
jnthn Thanks 22:48
Geth roast: bd04e44a85 | (Elizabeth Mattijsen)++ | S03-metaops/hyper.t
Replace unexhaustive tests with syntax tests

The infix.t file uses >>[ ]<< syntax to test a lot of different operators. We also need to test the various metaop infix syntaxes. These two were sorta joined before, now they're separated.
22:52
22:53 lucasb left
lizmat m: my $a = 42; $a xx= 3; say $a[0][0][0][0][0] # it's a fractal :-) 22:58
evalable6 (\List_94800570439680 = (List_94800570439680 List_94800570439680 List_94800570439680)) 22:59
23:32 j3nnn1 left 23:38 lgtaube left
Geth rakudo: 8854bbd3fc | (Nick Logan)++ (committed using GitHub Web editor) | src/core/IO/Path.pm6
Fix missing path volume after .. is resolved

Fixes issue on windows where `$*CWD.resolve` would include the volume but `$*CWD.add("../foo").resolve` would not.
23:45
23:54 lgtaube joined, p6bannerbot sets mode: +v lgtaube