| 2018-10-25 |
| → MasterDuke joined | 00:00 |
| p6bannerbot set mode: +v | 00:00 |
| ← MasterDuke left | 00:00 |
| → MasterDuke joined | 00:00 |
| herbert.freenode.net set mode: +v | 00:00 |
| p6bannerbot set mode: +v | 00:00 |
| ← evalable6 left | 01:12 |
| → evalable6 joined | 01:12 |
| ChanServ set mode: +v | 01:12 |
| p6bannerbot set mode: +v | 01:13 |
| → ggoebel joined | 01:25 |
| p6bannerbot set mode: +v | 01:25 |
| ← donaldh left | 02:01 |
| → donaldh_ joined | 02:01 |
| p6bannerbot set mode: +v | 02:02 |
| → ufobat_ joined | 02:11 |
| p6bannerbot set mode: +v | 02:11 |
| ← ufobat left | 02:14 |
| ← ggoebel left | 02:32 |
| → fake_space_whale joined | 02:49 |
| p6bannerbot set mode: +v | 02:50 |
|
Geth
| ¦ rakudo: jstuder-gh++ created pull request #2425: Fix potential race condition in Proc::Async start | 03:10 |
|
| ¦ rakudo: review: https://github.com/rakudo/rakudo/pull/2425 | 03:10 |
| → Ven` joined | 04:58 |
| p6bannerbot set mode: +v | 04:59 |
| ← Ven` left | 05:02 |
| ← MasterDuke left | 06:19 |
| → robertle joined | 06:32 |
| p6bannerbot set mode: +v | 06:33 |
| ← [Tux] left | 06:36 |
| → [Tux] joined | 06:43 |
| p6bannerbot set mode: +v | 06:44 |
| ← fake_space_whale left | 06:50 |
|
lizmat
| Files=1257, Tests=76342, 337 wallclock secs (15.69 usr 5.66 sys + 2372.09 cusr 241.51 csys = 2634.95 CPU) | 06:58 |
| ufobat_ → ufobat | 07:34 |
| → Ven` joined | 08:05 |
| p6bannerbot set mode: +v | 08:06 |
| ← dalek left | 08:35 |
| ← Geth left | 08:36 |
| ← donaldh_ left | 08:47 |
| → donaldh joined | 08:49 |
| ← pmurias left | 08:49 |
| p6bannerbot set mode: +v | 08:49 |
| → pmurias joined | 08:55 |
| p6bannerbot set mode: +v | 08:55 |
| → stmuk joined | 09:25 |
| p6bannerbot set mode: +v | 09:25 |
| ← p6lert left | 09:26 |
| ← synopsebot left | 09:26 |
| ← SourceBaby left | 09:26 |
| → dalek joined | 09:26 |
| ChanServ set mode: +v | 09:26 |
| → synopsebot joined | 09:27 |
| → Geth joined | 09:27 |
| → p6lert joined | 09:27 |
| ChanServ set mode: +v | 09:27 |
| ChanServ set mode: +v | 09:27 |
| ← stmuk_ left | 09:27 |
| p6bannerbot set mode: +v | 09:27 |
| p6bannerbot set mode: +v | 09:27 |
| p6bannerbot set mode: +v | 09:27 |
| p6bannerbot set mode: +v | 09:27 |
| → ExtraCrispy joined | 09:46 |
| p6bannerbot set mode: +v | 09:46 |
| → SourceBaby joined | 09:55 |
| ChanServ set mode: +v | 09:55 |
| p6bannerbot set mode: +v | 09:55 |
| ← Geth left | 09:57 |
| → Geth joined | 09:57 |
| ChanServ set mode: +v | 09:57 |
| p6bannerbot set mode: +v | 09:58 |
|
Geth
| ¦ rakudo: 79bec897f5 | (Zoffix Znet)++ | appveyor.yml | 09:58 |
|
| ¦ rakudo: Revert to non-verbose nmake test | 09:58 |
|
| ¦ rakudo: | 09:58 |
|
| ¦ rakudo: No idea how to get the prove command to work right on appveyor | 09:58 |
|
| ¦ rakudo: review: https://github.com/rakudo/rakudo/commit/79bec897f5 | 09:58 |
| ← pmurias left | 10:36 |
| → pmurias joined | 10:38 |
| p6bannerbot set mode: +v | 10:38 |
| ← pmurias left | 10:39 |
| → pmurias joined | 10:42 |
| p6bannerbot set mode: +v | 10:42 |
| ← Ven` left | 10:48 |
|
lizmat
| bisectable6: dd sub (Str(Int) $a, Int $b ) { }.assuming(1).signature | 11:26 |
|
bisectable6
| lizmat, On both starting points (old=2015.12 new=79bec89) the exit code is 0 and the output is identical as well | 11:26 |
|
| lizmat, Output on both points: «:(Int $b)» | 11:26 |
| → Ven` joined | 11:29 |
|
lizmat
| bisectable6: dd sub (Str(Int) $a, Str(Int) $b ) { }.assuming(1).signature | 11:29 |
|
bisectable6
| lizmat, On both starting points (old=2015.12 new=79bec89) the exit code is 0 and the output is identical as well | 11:29 |
|
| lizmat, Output on both points: «:(Int $b)» | 11:29 |
|
lizmat
| that seems wrong to me :-) | 11:29 |
| p6bannerbot set mode: +v | 11:30 |
| → leont joined | 11:32 |
| p6bannerbot set mode: +v | 11:33 |
|
Geth
| ¦ rakudo: lizmat self-assigned Code.assuming doesn't honour coerce_type Parameters https://github.com/rakudo/rakudo/issues/2426 | 11:39 |
| ← pmurias left | 11:44 |
| → pmurias joined | 11:45 |
| p6bannerbot set mode: +v | 11:45 |
| ← pmurias left | 11:47 |
| → pmurias joined | 11:50 |
| p6bannerbot set mode: +v | 11:50 |
|
lizmat
| m: sub a (Str(Int) @a) { dd @a }; a Array[Int].new(1,2,3) # this is not what I expected | 12:00 |
|
camelia
| rakudo-moar 79bec897f: OUTPUT: «"1 2 3"» | 12:00 |
|
lizmat
| jnthn moritz masak ^^^ is that to be expected ? | 12:02 |
|
| I sorta expected an array of strings with "1","2","3" | 12:02 |
|
| perhaps we should disallow coercion on aggregate types? until we've figured out the semantics ? | 12:03 |
| → Zoffix joined | 12:05 |
| p6bannerbot set mode: +v | 12:05 |
|
Zoffix
| lizmat: FWIW, I would've expected an Array parametarized with Str(Int) type, though I think that hits whatever limitation prevents `my Str(Int) $x` from working. | 12:05 |
|
| lizmat: there's a ticket with a similar example: R#2319 | 12:05 |
|
synopsebot
| R#2319 [open] : https://github.com/rakudo/rakudo/issues/2319 Coercers as parameter parametarizers give wild results | 12:05 |
|
Zoffix
| m: -> Int() @v { dd @v.^name }(Array[Any].new: 1, 2, 34, 6) | 12:06 |
|
camelia
| rakudo-moar 79bec897f: OUTPUT: «"Int"» | 12:06 |
|
Zoffix
| "an Array parametarized with".. I mean for the signature to only accept such an Array | 12:07 |
|
| m: dd Array[Str(Int)].new | 12:07 |
|
camelia
| rakudo-moar 79bec897f: OUTPUT: «Array[Str(Int)].new()» | 12:07 |
|
Zoffix
| m: dd Array[Str(Int)].new: 42, 55 | 12:08 |
|
camelia
| rakudo-moar 79bec897f: OUTPUT: «Type check failed in assignment to ; expected Str(Int) but got Int (42) in block <unit> at <tmp> line 1» | 12:08 |
|
Zoffix
| heh | 12:08 |
|
| m: dd Array[Str(Any(Cool(IO(Array[Str(Any(Cool(IO(Int))))]))))].new: 42, 55 | 12:09 |
|
camelia
| rakudo-moar 79bec897f: OUTPUT: «Type check failed in assignment to ; expected Str(Any(Cool(IO(Array[Str(Any(Cool(IO(Int))))])))) but got Int (42) in block <unit> at <tmp> line 1» | 12:09 |
|
Zoffix
| m: -> Str(Int(Cool)) $x { dd $x }(42) | 12:09 |
|
camelia
| rakudo-moar 79bec897f: OUTPUT: «Type check failed in binding to parameter '$x'; expected Int(Cool) but got Int (42) in block <unit> at <tmp> line 1» | 12:09 |
|
Zoffix
| Filed as R#2427 | 12:12 |
|
synopsebot
| R#2427 [open] : https://github.com/rakudo/rakudo/issues/2427 Nested Coercers | 12:12 |
| ← Zoffix left | 12:12 |
|
Geth
| ¦ rakudo: 97996e5e9a | (Elizabeth Mattijsen)++ | src/core/Code.pm6 | 12:29 |
|
| ¦ rakudo: Make sure coerce_type is included in param info | 12:29 |
|
| ¦ rakudo: | 12:29 |
|
| ¦ rakudo: Fixes R#2426 | 12:29 |
|
| ¦ rakudo: review: https://github.com/rakudo/rakudo/commit/97996e5e9a | 12:29 |
|
synopsebot
| R#2426 [open] : https://github.com/rakudo/rakudo/issues/2426 Code.assuming doesn't honour coerce_type Parameters | 12:29 |
| ← pmurias left | 12:29 |
| → pmurias joined | 12:30 |
| p6bannerbot set mode: +v | 12:30 |
|
Geth
| ¦ rakudo: lizmat self-unassigned Code.assuming doesn't honour coerce_type Parameters https://github.com/rakudo/rakudo/issues/2426 | 12:31 |
| ← leont left | 12:59 |
| ← Ven` left | 13:00 |
| → j3nnn1 joined | 13:07 |
| p6bannerbot set mode: +v | 13:07 |
| → Ven` joined | 13:12 |
| p6bannerbot set mode: +v | 13:12 |
|
jnthn
| lizmat: Forbidden for now, I think | 13:17 |
| ← pmurias left | 13:24 |
| → leont joined | 13:34 |
| p6bannerbot set mode: +v | 13:34 |
| → pmurias joined | 13:40 |
| p6bannerbot set mode: +v | 13:40 |
| ← lizmat left | 13:45 |
|
dogbert2_
| jnthn: back from your trip? | 13:55 |
|
jnthn
| dogbert2_: Yeah...with a cold-ish thing :/ | 14:00 |
|
pmurias
| m: multi y(int $x is rw) { say('good') }; multi y(Int $x) { say('bad') }; y(my int $x = 42); | 14:14 |
|
camelia
| rakudo-moar 97996e5e9: OUTPUT: «bad» | 14:14 |
|
pmurias
| jnthn: ^^ is this a bug? | 14:14 |
|
jnthn
| Looks like, yes | 14:14 |
|
pmurias
| m: multi y(int $x is rw) { 'good' }; multi y(Int $x) { 'bad' }; say "optimizer has different semantics:", y(my int $x = 42); | 14:15 |
|
camelia
| rakudo-moar 97996e5e9: OUTPUT: «optimizer has different semantics:good» | 14:15 |
|
jnthn
| The "optimizer" can settle literal allomorphy | 14:17 |
|
| But in this case it's just a straight native reference and that should do the right thing at runtime | 14:17 |
|
| I think we'll rename the optimize phase also | 14:18 |
|
| Because it'll increasingly do spec things | 14:18 |
|
| And the name should reflect that | 14:18 |
|
| Optimizer implies it's entirely optional, which is the source of a lot of confusion. | 14:18 |
|
pmurias
| jnthn: if it starts doing spec things it should do them in consistent manner rather then based on adhocly gathered info ;) | 14:25 |
|
jnthn
| Please stop trying to have the same discussion 2000 times. | 14:28 |
|
timotimo
| we can call it the CHECKer, since it runs at check time ... or does it actually run earlier than that? | 14:28 |
|
| i think CHECK is kind of like link time? | 14:28 |
|
jnthn
| It comes after CHECK | 14:29 |
|
| Since CHECK is your last chance to do things before we make assumptions about things not changing. | 14:29 |
|
timotimo
| it's the baker | 14:29 |
| ← pmurias left | 14:41 |
| → pmurias joined | 14:48 |
| p6bannerbot set mode: +v | 14:48 |
| ← pmurias left | 14:48 |
| ← AlexDaniel left | 14:48 |
|
dogbert2_
| jnthn: oops, cold-ish things are not very nice | 14:48 |
| → pmurias joined | 14:53 |
| p6bannerbot set mode: +v | 14:53 |
| ← pmurias left | 14:54 |
| → pmurias joined | 14:58 |
| p6bannerbot set mode: +v | 14:58 |
| ← pmurias left | 15:08 |
| → pmurias joined | 15:11 |
| p6bannerbot set mode: +v | 15:11 |
| ← pmurias left | 15:11 |
| → fake_space_whale joined | 15:16 |
| → pmurias joined | 15:16 |
| p6bannerbot set mode: +v | 15:16 |
| p6bannerbot set mode: +v | 15:16 |
| ← robertle left | 15:29 |
|
pmurias
| jnthn: the problem is that nqp::isrwcont(nqp::captureposarg($capture, $index)) return 0 for a int lexicalref | 15:30 |
| ← ExtraCrispy left | 15:33 |
|
jnthn
| Ah. That's wrong. | 15:36 |
|
| Odd... https://github.com/MoarVM/MoarVM/blob/master/src/6model/containers.c#L352 | 15:40 |
|
| That looks correct | 15:40 |
|
timotimo
| perhaps the struct below is messed up in its order … | 15:41 |
|
| easy to check with gdb | 15:41 |
|
| yeah it's correct | 15:41 |
| → lizmat joined | 15:45 |
| p6bannerbot set mode: +v | 15:45 |
| ← pmurias left | 15:53 |
| → pmurias joined | 15:59 |
| p6bannerbot set mode: +v | 15:59 |
| ← pmurias left | 15:59 |
| ← fake_space_whale left | 16:01 |
| → ggoebel joined | 16:02 |
| p6bannerbot set mode: +v | 16:03 |
| → pmurias joined | 16:04 |
| p6bannerbot set mode: +v | 16:04 |
| → ExtraCrispy joined | 16:04 |
| p6bannerbot set mode: +v | 16:04 |
|
timotimo
| jnthn: i'm seeing that we're not setting rw_cont in the type tuple if we have a NativeRef ... is the distinction between a "scalar that's RW" and "a native ref" important? | 16:07 |
|
| i stumbled across it because the decontrv for those still have an isrwcont op in them | 16:08 |
|
| so we're not setting the RW_CONT fact in spesh for those cases | 16:08 |
|
jnthn
| timotimo: It should be set, but it exposes some other shortcomings that need to be addressed first. | 16:09 |
|
timotimo
| right, like we'd have the "is rw cont" flag set, but there wouldn't be a cont type vs decont type | 16:09 |
|
| or rather, we don't have a way to signal "decont on this will box, if you don't want it, here's the op that you want instead" | 16:10 |
|
| i've got a patch that will split a decont on a NativeRef into a decont_* plus a box_* | 16:10 |
|
| that devirtualizes "what kind of object do we have, how do i properly unbox it" plus the creation of the box object is either split into a fastcreate and a sp_bind_* | 16:11 |
|
| and that should allow for scalar replacement or box removal, too | 16:12 |
| ← pmurias left | 16:12 |
|
timotimo
| i was considering maybe adding a spesh op that can add an i to an I - mostly just because you can swap the LHS and RHS of an add_I | 16:13 |
|
jnthn
| Ooh, yes :) | 16:13 |
|
| (to the first opt) | 16:13 |
|
| Not sure on the second one | 16:13 |
|
| Though I guess maybe it makes ++ and -- cheaper | 16:13 |
|
timotimo
| it can improve our performance when we add an Int and an Int*Ref | 16:14 |
|
| right now we're deconting the ref into a boxed object, then add_I (or whatever) | 16:15 |
|
| we could skip that box | 16:15 |
|
jnthn
| True, but maybe SR will do that for us anyway | 16:15 |
|
timotimo
| that'd be cool. | 16:15 |
|
jnthn
| My plan is to try and let us store a P6bigint in a register ( | 16:15 |
|
timotimo
| i have a snippet in front of me right now that looks like something we should totally be able to do either already or very soon | 16:15 |
|
jnthn
| Only spesh-done of course, not exposed | 16:16 |
|
timotimo
| sp_bind_s_nowb r9(5), liti16(32), r40(1) | 16:16 |
|
jnthn
| We need to be super careful not to leak though | 16:16 |
|
timotimo
| sp_p6oget_s r13(2), r9(5), liti16(8) | 16:16 |
|
| aye, that'd be very bad news | 16:16 |
|
| i'm not sure how the 8 and 32 correspond there, though | 16:16 |
|
jnthn
| Offset from start of object vs. offset from data part of a P6opaque | 16:17 |
| → pmurias joined | 16:17 |
| p6bannerbot set mode: +v | 16:17 |
|
timotimo
| ooh | 16:18 |
|
| one includes the header, then | 16:18 |
|
| and the other might go through an indirection | 16:18 |
|
| maybe this discussion ought to move to #moarvm | 16:19 |
| → AlexDaniel joined | 16:34 |
| p6bannerbot set mode: +v | 16:34 |
| ← cognominal-p6 left | 17:05 |
| → cognominal-p6 joined | 17:06 |
| p6bannerbot set mode: +v | 17:07 |
| → robertle joined | 17:28 |
| p6bannerbot set mode: +v | 17:29 |
|
[Tux]
| Rakudo version 2018.09-510-g97996e5e9 - MoarVM version 2018.09-139-g8b4d58c7a | 17:34 |
|
| csv-test-xs-20 0.432 - 0.454 | 17:34 |
|
| test-t --race 0.833 - 0.836 | 17:34 |
|
| csv-ip5xs 0.902 - 0.915 | 17:34 |
|
| test-t 1.733 - 1.811 | 17:34 |
|
| csv-ip5xs-20 7.731 - 7.731 | 17:34 |
|
| test 8.897 - 9.355 | 17:34 |
|
| test-t-20 --race 11.829 - 12.357 | 17:34 |
|
| csv-parser 22.117 - 23.090 | 17:34 |
|
| test-t-20 30.355 - 33.189 | 17:34 |
| ← cognominal-p6 left | 17:41 |
| ← Ven` left | 17:43 |
| ← Kaiepi left | 17:44 |
| → Kaiepi joined | 17:45 |
| p6bannerbot set mode: +v | 17:45 |
| → Ven` joined | 17:48 |
| p6bannerbot set mode: +v | 17:49 |
| ← Ven` left | 17:53 |
| → cognominal-p6 joined | 17:58 |
| p6bannerbot set mode: +v | 17:58 |
| ← cognominal-p6 left | 18:15 |
| → cognominal-p6 joined | 18:15 |
| p6bannerbot set mode: +v | 18:16 |
| ← AlexDaniel left | 19:18 |
|
Geth
| ¦ rakudo: 1ea3ff2fb2 | (Elizabeth Mattijsen)++ | src/core/Code.pm6 | 19:28 |
|
| ¦ rakudo: Remove a few unneccessary initializations | 19:28 |
|
| ¦ rakudo: | 19:28 |
|
| ¦ rakudo: That are not yet picked up in codegen or by the static optimizer yet :-( | 19:28 |
|
| ¦ rakudo: review: https://github.com/rakudo/rakudo/commit/1ea3ff2fb2 | 19:28 |
| ← ggoebel left | 19:41 |
| → ggoebel joined | 19:57 |
| p6bannerbot set mode: +v | 19:58 |
| → AlexDaniel joined | 20:03 |
| p6bannerbot set mode: +v | 20:03 |
|
lizmat
| jnthn: re 'my Str(Int) @a', perhaps we could allow that by adding another role that takes 2 types: the constraint and the coercion type | 20:04 |
|
| the coercion type would be in the descriptor, and the whole type would be in the candidates ? | 20:05 |
|
| m: role a[::T] { method a(T $a) { dd $a } }; dd a[Str(Int)].new.a(42) # perhaps more work is needed there :-) | 20:07 |
|
camelia
| rakudo-moar 1ea3ff2fb: OUTPUT: «Type check failed in binding to parameter '$a'; expected Str(Int) but got Int (42) in method a at <tmp> line 1 in block <unit> at <tmp> line 1» | 20:07 |
| ← Kaiepi left | 20:49 |
| → Kaiepi joined | 20:49 |
| p6bannerbot set mode: +v | 20:50 |
|
jnthn
| lizmat: It's more that we'd want to allow Array[Str(Int)] to exist in the first place | 20:55 |
|
| lizmat: Which is a much more accessible task since the assignment refactors | 20:56 |
| → stmuk_ joined | 21:00 |
| p6bannerbot set mode: +v | 21:01 |
| ← stmuk left | 21:02 |
| ← cognominal-p6 left | 21:07 |
| → cognominal-p6 joined | 21:27 |
| p6bannerbot set mode: +v | 21:27 |
| ← robertle left | 21:31 |
| ← cognominal-p6 left | 21:42 |
| → cognominal-p6 joined | 21:43 |
| p6bannerbot set mode: +v | 21:43 |
| ← lizmat left | 21:46 |
| ← pmurias left | 21:52 |
| ← cognominal-p6 left | 22:08 |
| ← donaldh left | 22:35 |
| → lizmat joined | 23:00 |
| p6bannerbot set mode: +v | 23:00 |
| ← lizmat left | 23:04 |
| → donaldh joined | 23:35 |
| p6bannerbot set mode: +v | 23:35 |
| → cognominal-p6 joined | 23:40 |
| p6bannerbot set mode: +v | 23:41 |
| ← cognominal-p6 left | 23:51 |
| → cognominal-p6 joined | 23:51 |
| p6bannerbot set mode: +v | 23:52 |