Perl 6 - the future is here, just unevenly distributed

IRC log for #perl6-dev, 2016-11-29

| Channels | #perl6-dev index | Today | | Search | Google Search | Plain-Text | summary

All times shown according to UTC.

Time Nick Message
01:34 Guest96738 joined #perl6-dev
01:40 MasterDuke viki: CORE.setting.moarvm is the runtime, i didn't change anything about its printing
01:40 yoleaux2 28 Nov 2016 11:57Z <viki> MasterDuke: would you know how come this Backtrace::Frame doesn't get the seperate-core-file treatment and still has CORE.setting.moarvm in it instead of src/Backtrace or whatever? m: printf '%z'; CATCH { default { dd [.is-setting, .Str] given .backtrace[4] } }
01:41 MasterDuke "from SETTING::src/core/Exception.pm:2431  (././CORE.setting.moarvm:)"
01:42 MasterDuke m: printf '%z'; CATCH { default { dd [.is-setting, .Str] given .backtrace[3] } }
01:42 camelia rakudo-moar 054aca: OUTPUT«[Bool::True, "  in block  at SETTING::src/core/Cool.pm line 318\n"]␤»
01:46 MasterDuke if you take out the 'given .backtrace[x]' and add --ll-exception locally you'll see more .moarvm files (e.g., './blib/Perl6/BOOTSTRAP.moarvm', '/home/dan/Source/perl6/rakudo/perl6.moarvm')
02:02 viki OK. Thanks.
02:20 kalkin- joined #perl6-dev
02:46 vendethiel joined #perl6-dev
02:48 ilbot3 joined #perl6-dev
02:48 Topic for #perl6-dev is now Perl 6 language and compiler development 2.0 | Logs at http://irclog.perlgeek.de/perl6-dev/today
03:13 TimToady joined #perl6-dev
04:33 MasterDuke m: use Test; my (\x1) = 1; dies-ok { x1 = 2 }, 'cannot assign to sigilless variable after declaration (one)'
04:33 camelia rakudo-moar 054aca: OUTPUT«ok 1 - cannot assign to sigilless variable after declaration (one)␤»
04:35 MasterDuke i just made that segfault with "Invalid read of size 8" and "Access not within mapped region at address 0x30", by adding "if (rcd->name) MVM_exception_throw_adhoc(tc, "Cannot assign to a readonly variable (%s) or a value", MVM_string_utf8_encode_C_string(tc, rcd->name));" here: https://github.com/rakudo/rakudo/blob/nom/src/vm/moar/ops/container.c#L82
04:36 MasterDuke valgrind is complaining about the if (rcd->name) line
04:39 MasterDuke oh, gotta check rcd also, of course
06:49 RabidGravy joined #perl6-dev
07:11 dalek roast: fe0404c | usev6++ | S09-multidim/assign.t:
07:11 dalek roast: Fudge test for X::Assignment::ToShaped for JVM
07:11 dalek roast:
07:11 dalek roast: The fudged test made the test file explode badly.
07:11 dalek roast: It still passed on 7c1f5e197c.
07:11 dalek roast: review: https://github.com/perl6/roast/commit/fe0404cc2d
07:13 dalek roast: 265fbce | usev6++ | S04-statements/terminator.t:
07:13 dalek roast: Unfudge passing test for JVM
07:13 dalek roast:
07:13 dalek roast: was fixed with Rakudo commit b516784b83
07:13 dalek roast: review: https://github.com/perl6/roast/commit/265fbce8a8
08:38 dalek rakudo/nom: 3982b20 | MasterDuke17++ | src/vm/ (2 files):
08:38 dalek rakudo/nom: Better error message for assigning to ro variable
08:38 dalek rakudo/nom:
08:38 dalek rakudo/nom: If possible, include the name of the variable that was assigned to.
08:38 dalek rakudo/nom: review: https://github.com/rakudo/rakudo/commit/3982b20efa
08:38 dalek rakudo/nom: e7fd61e | lizmat++ | src/vm/ (2 files):
08:38 dalek rakudo/nom: Merge pull request #931 from MasterDuke17/better_error_message_for_assigning_to_ro_variable
08:38 dalek rakudo/nom:
08:38 dalek rakudo/nom: Better error message for assigning to ro variable
08:38 dalek rakudo/nom: review: https://github.com/rakudo/rakudo/commit/e7fd61ee88
08:51 dalek rakudo/nom: 4a59ab4 | 0racle++ | src/core/allomorphs.pm:
08:51 dalek rakudo/nom: Add allomorph multis for &infix:<===>
08:51 dalek rakudo/nom:
08:51 dalek rakudo/nom: Previously trying to use an allomorph on either side of `===` would result in an ambiguous call.
08:51 dalek rakudo/nom: review: https://github.com/rakudo/rakudo/commit/4a59ab428d
08:51 dalek rakudo/nom: 8110471 | 0racle++ | src/core/allomorphs.pm:
08:51 dalek rakudo/nom: Merge pull request #1 from 0racle/0racle-allomorph-value-eq
08:51 dalek rakudo/nom:
08:51 dalek rakudo/nom: Add allomorph multis for &infix:<===>
08:51 dalek rakudo/nom: review: https://github.com/rakudo/rakudo/commit/81104714a3
08:51 dalek rakudo/nom: 44ddfd4 | lizmat++ | src/core/allomorphs.pm:
08:51 dalek rakudo/nom: Merge pull request #932 from 0racle/nom
08:51 dalek rakudo/nom:
08:51 dalek rakudo/nom: Add allomorph multis for &infix:<===>
09:07 [TuxCM] This is Rakudo version 2016.11-94-g44ddfd4 built on MoarVM version 2016.11-20-g0f7277a
09:07 [TuxCM] csv-ip5xs        3.281
09:07 [TuxCM] test            14.549
09:07 [TuxCM] test-t           6.584
09:07 [TuxCM] csv-parser      13.836
09:16 lizmat Multi method 'STORE' with signature :(array[int]+{array::shaped2intarray}:D $: Iterable:D \from, *%_) must be resolved by class array[int]+{array::shaped2intarray} because it exists in multiple roles (array::shapedintarray, array::shapedintarray)
09:16 lizmat jnthn: exists in multiple roles: but they are the same ???
09:18 jnthn Well, same name at least
09:18 jnthn Did the same role somehow get added twice?
09:18 lizmat hmmm....
09:19 jnthn m: role R { method m() { } }; class C does R does R { }
09:19 camelia rakudo-moar 054aca: OUTPUT«===SORRY!=== Error while compiling <tmp>␤Method 'm' must be resolved by class C because it exists in multiple roles (R, R)␤at <tmp>:1␤»
09:19 lizmat lemme check
09:20 lizmat shape2intarray does shapedintarray
09:20 lizmat shapedintarray does shapedarray
09:20 lizmat shapedarray does Rakudo::Internals::ShapedArrayCommon
09:21 lizmat hmmm... and shaped2intarray gets mixed in with array[int]
09:22 lizmat and array only does Iterable
09:22 lizmat ShapedArrayCommon doesn't do any other roles
09:23 lizmat what I'm trying to do is to add a STORE candidate for shapedintarray that uses optimised _i nqp ops
09:24 lizmat instead of the generic .ASSIGN-POS(AT-POS) logic
09:25 lizmat shapedarray *does* have a STORE with the same signature, but I thought the STORE in shapedintarray would shadow that
09:25 lizmat was I wrong?
09:26 jnthn Would have thought it would, but it seems somehow the role is getting in twice
09:26 lizmat https://gist.github.com/lizmat/0e734516f6a08a5f2a01498d62b38159   # my changes
09:27 jnthn Try tweaking add_role (probably in RoleContainer.nqp or so)
09:27 lizmat ok
09:27 jnthn To either quietly filter out the dupe or complain about it
09:32 lizmat need to be afk for a few hours, will get back to this&
11:29 gfldex m: EVAL 'role R { method overload-this(){...} }; class A does R {}; '; CATCH { default { say .^name, .Str } }
11:29 camelia rakudo-moar 054aca: OUTPUT«X::Comp::AdHocMethod 'overload-this' must be implemented by A because it is required by a role␤»
11:30 gfldex does Rakudo not know by which role the method overload is required?
11:30 timotimo it probably does, actually. just doesn't get recorded and then reported
11:31 psch right, it probably currently just doesn't care which role it comes from is my thought too
11:31 jnthn The place we encounter the rquirement isn't where we detect the failure, so it's possible it's not passing the info along that we need for the error. Improvements welcome. :)
11:31 jnthn (In the lucky case, the info is there and the error generation just needs a tweak)
11:32 gfldex i just doced it so it must stay that way forevaaaa
11:33 gfldex i will rakudobug with a note to where to update the docs
11:59 gfldex m: role R1 { method m { say 'R1' } }; role R2 { method m { say 'R2' } }; my $a = (1 but R1) but R2; $a.m
11:59 camelia rakudo-moar 054aca: OUTPUT«R2␤»
12:00 gfldex is it a rule that the last mixed in method sticks?
12:15 arnsholt Yeah, I think so
12:15 arnsholt But you do get a conflict on "does R1, R2" IIRC
12:18 lizmat joined #perl6-dev
12:19 gfldex m: role R2 {...}; role R1 does R2 {}; role R2 {}; class C does R1; say C ~~ R1, ' ', C ~~ R2;
12:19 camelia rakudo-moar 054aca: OUTPUT«===SORRY!=== Error while compiling <tmp>␤Too late for unit-scoped class definition;␤Please use the block form.␤at <tmp>:1␤------> does R2 {}; role R2 {}; class C does R1;⏏ say C ~~ R1, ' ', C ~~ R2;␤»
12:19 gfldex m: role R2 {...}; role R1 does R2 { method m {} }; role R2 { method m {} }; class C does R1 {}; say C ~~ R1, ' ', C ~~ R2;
12:19 camelia rakudo-moar 054aca: OUTPUT«True True␤»
12:20 gfldex m: role R2 {...}; role R1 does R2 { method m { say 'R1' } }; role R2 { method m { say 'R2' } }; class C does R1 {}; say C ~~ R1, ' ', C ~~ R2; C.new.m
12:20 camelia rakudo-moar 054aca: OUTPUT«True True␤R1␤»
12:21 gfldex i don't like the difference in behaviour of runtime and compiletime mixins
12:52 jnthn gfldex: Which difference in particular?
12:53 jnthn Constructing the runtime ones is done by deriving a subclass and then add_role of the role in question
12:53 jnthn And then making the input object take on that new type
12:53 gfldex m: role R1 { method m { say 'R1' } }; role R2 { method m { say 'R2' } }; my $a = (1 does R1) does R2; say $a.^name; $a.m
12:53 camelia rakudo-moar 054aca: OUTPUT«Int+{R1}+{R2}␤R2␤»
12:53 gfldex for runtime mixins the last mixed in method wins
12:54 jnthn m: role R1 { method m { say 'R1' } }; role R2 { method m { say 'R2' } }; my $a = 1 does R1,R2; say $a.^name; $a.m
12:54 camelia rakudo-moar 054aca: OUTPUT«Int+{R1}␤R1␤»
12:55 jnthn m: role R1 { method m { say 'R1' } }; role R2 { method m { say 'R2' } }; my $a = 1 does (R1,R2); say $a.^name; $a.m
12:55 camelia rakudo-moar 054aca: OUTPUT«Method 'm' must be resolved by class Int+{R1,R2} because it exists in multiple roles (R2, R1)␤  in any apply at gen/moar/Metamodel.nqp line 2806␤  in any compose at gen/moar/Metamodel.nqp line 3006␤  in any generate_mixin at gen/moar/Metamodel.nqp li…»
12:55 jnthn Each "does" introduces a new level of inheritance
12:55 jnthn But if you mix the two in at once you get the collision.
12:55 cpin joined #perl6-dev
12:55 gfldex does R1,R2 is ENODOC :->
12:56 jnthn Ah :)
12:58 ggoebel joined #perl6-dev
13:19 * lizmat is watchen das blinkenlights of a TimeMachine restore on a new MBP
13:21 DrForr That would be the monster you mentioned on the book of Faces?
13:23 lizmat well, monster... would have preferred 32G, but that was not an option :-(
13:26 dogbert17 joined #perl6-dev
13:26 dogbert17 lizmat: is it a touchbar thingie?
13:26 lizmat yup
13:27 timotimo make it show a bunch of camelias and upload a video of that on twitter :D
13:27 dogbert17 do you use ESC often, I believe that button has been moved to the bar
13:27 lizmat will try  ;-)
13:27 lizmat dogbert17: it's indeed on the bar
13:28 lizmat considering first trying that, and if I don't like it, repurposing caps-lock as an ESC key
13:29 dogbert17 will be interesting to hear and also how much faster it is compared to your old machine
13:30 lizmat it now claims it's going to need 5+ hours for the restore to complete
13:30 lizmat so it will be much later today before I have any figures  :-)
13:31 jnthn That's...a lot of restoring o.O
13:35 lizmat hmmm... I guess I should have removed all of those precomped files before making the last backup  :-)
13:36 ugjka joined #perl6-dev
13:37 timotimo heh heh
13:39 viki Would be useful to have  https://github.com/rakudo/web-rakudo repo to stuff various bits from rakudo.org like this download page PHP script I'm writing.
14:39 dogbert17 lizmat: when the restore is complete it would be interesting to know more about the test that failed for you yesterday
14:45 gfldex m: role R1 { method m {} }; role R2 { method m {} }; my $a but R1,R2
14:45 camelia rakudo-moar 054aca: ( no output )
14:45 gfldex m: role R1 { method m {} }; role R2 { method m {} }; my $a but (R1,R2)
14:45 camelia rakudo-moar 054aca: OUTPUT«Method 'm' must be resolved by class Any+{R1,R2} because it exists in multiple roles (R2, R1)␤  in any apply at gen/moar/Metamodel.nqp line 2806␤  in any compose at gen/moar/Metamodel.nqp line 3006␤  in any generate_mixin at gen/moar/Metamodel.nqp li…»
14:45 gfldex that's a bit of a trap
14:46 jnthn Yes, I was a bit surprised not to get a sink warning about that
14:49 gfldex shall I rakudobug as LTA?
14:50 jnthn +1
14:55 kalkin- joined #perl6-dev
16:31 camelia joined #perl6-dev
17:30 dogbert17 joined #perl6-dev
17:41 dogbert17 joined #perl6-dev
17:41 Guest38426 joined #perl6-dev
18:19 [Coke] someone have some code that is known to be slowish in --profile?
18:33 dalek nqp: 7eb2824 | coke++ | src/vm/moar/profiler/template.html:
18:33 dalek nqp: Use latest versions of css/js from CDNs
18:33 dalek nqp: review: https://github.com/perl6/nqp/commit/7eb282420b
18:37 [Coke] I just did a bump and made sure that a basic profile still worked there.
18:37 [Coke] hopefully all the new stuff is faster. :)
19:13 lizmat_ joined #perl6-dev
19:16 timotimo well, that was a simple upgrade
19:23 lizmat yeah, need to get a faster backup disk for next time
19:24 lizmat 👀
19:24 lizmat 🐪
19:25 timotimo is it finished?
19:25 lizmat trying out the touchbar emoji selection :-)
19:25 lizmat yeah
19:25 timotimo i actually meant coke's last commit with the "simple upgrade" thing
19:25 lizmat ah, ok
19:25 lizmat sorry, wasn't sure   :-)
19:25 timotimo weechat didn't even show you had joined until your first message appeared
19:25 timotimo (the smart filter thingie)
19:33 vendethiel joined #perl6-dev
19:41 [Coke] timotimo: upgrade might be too strong a word.
20:13 camelia joined #perl6-dev
20:36 AlexDaniel joined #perl6-dev
20:47 dalek star/origin/zef: 3e2ad8f | (Steve Mynott)++ | tools/build/Makefile.in:
20:47 dalek star/origin/zef: install zef not panda
20:47 dalek star/origin/zef: review: https://github.com/rakudo/star/commit/3e2ad8f81a
20:47 dalek star/origin/zef: 3a728d3 | (Steve Mynott)++ | tools/build/module-install.pl:
20:47 dalek star/origin/zef: args for zef
20:47 dalek star/origin/zef: review: https://github.com/rakudo/star/commit/3a728d3e84
20:48 viki :o
20:50 dalek star/origin/zef: 96400ab | (Steve Mynott)++ | / (3 files):
20:50 dalek star/origin/zef: delete panda submodule and add zef one
20:50 dalek star/origin/zef: review: https://github.com/rakudo/star/commit/96400abade
21:25 jnthn We merged a memory leak earlier today: https://github.com/rakudo/rakudo/pull/931#pullrequestreview-10641686
21:33 lizmat Files=1155, Tests=53799, 182 wallclock secs (10.35 usr  4.72 sys + 1026.25 cusr 124.58 csys = 1165.90 CPU)
21:33 lizmat jnthn: want me to revert that ?
21:33 jnthn Or we can just fix it...
21:34 jnthn I can tomorrow; way too tired to trust myself to write code tonight :)
21:34 lizmat ah, ok...
21:34 jnthn But if somebody wants to beat me to it, go ahead :)
21:34 lizmat will be commuting to London most of tomorrow
21:34 jnthn LPW?
21:34 lizmat yup
21:35 lizmat not going to do a keynote this time, *phew*  :-)
21:41 dogbert17 lizmat: so is the new computer blazingly fast?
21:42 lizmat well, blazingly... it feels faster and the first clean spectest make it looks like
21:42 lizmat m: say 182/209
21:42 camelia rakudo-moar 843a6b: OUTPUT«0.870813␤»
21:42 jnthn lizmat: Phew. Enjoy it! :)
21:43 dogbert17 and do you like the touchbar?
21:43 lizmat jnthn: will do....  travel tomorrow, then two days of seeing sights in London
21:43 lizmat still getting used to it
21:44 lizmat especially the suggestions it gives when typing
21:44 dogbert17 aha, interesting
21:44 timotimo i can fix the memory leak there in the container ops
21:44 lizmat and emojis: 😍😒👌😊😘😭😩😔😏😁
21:44 dogbert17 yay
21:45 lizmat 👍👍✌️😌🙈😎🖨🖥💻📲📱
21:45 dogbert17 memory leaks, I actually have a question about such a beast
21:46 dogbert17 is there any reason why t/spec/S17-procasync/no-runaway-file-limit.t should leak memory?
21:46 jnthn dogbert17: Not that I can think of
21:47 * jnthn takes an early night, and hopes to have good debugging energy tomorrow for that pesky "zeroed owner" GC crash
21:47 jnthn 'night, #perl6
21:48 jnthn *-dev :)
21:48 timotimo gnite jnthn
21:48 timotimo dogbert17: how do you measure the leak?
21:48 dogbert17 timotimo: does this gist tell you anything? https://gist.github.com/dogbert17/b381b649a79be47eacf686761f45f1ba
21:48 dogbert17 gist :-)
21:49 timotimo yeah, it probably shouldn't do that
21:50 dogbert17 of course, the test does 1000 iterations so each leak is not that big but still
21:52 timotimo yeah, we should ideally only ever leak things that happen only a single time
21:52 timotimo like how we currently leak the unicode database
21:53 dogbert17 yes, I've seen that, its ~120k if I remember correctly
21:53 timotimo right
21:53 cognominal joined #perl6-dev
22:23 dalek star/origin/zef: b0d5744 | ugexe++ | tools/build/module-install.pl:
22:23 dalek star/origin/zef: Skip [build&test]-depends
22:23 dalek star/origin/zef: review: https://github.com/rakudo/star/commit/b0d5744b6f
22:23 dalek star/origin/zef: 568f25f | (Steve Mynott)++ | tools/build/module-install.pl:
22:23 dalek star/origin/zef: Merge pull request #80 from ugexe/patch-1
22:23 dalek star/origin/zef:
22:23 dalek star/origin/zef: Skip [build&test]-depends
22:23 dalek star/origin/zef: review: https://github.com/rakudo/star/commit/568f25fb1c
22:30 dalek star/zef: 7331b7e | (Steve Mynott)++ | README:
22:30 dalek star/zef: zef is new panda in README coke++
22:30 dalek star/zef: review: https://github.com/rakudo/star/commit/7331b7e096
22:40 dalek star/zef: fb718d8 | (Steve Mynott)++ | tools/build/module-install.pl:
22:40 dalek star/zef: don't access the network for modules ugexe++
22:40 dalek star/zef: review: https://github.com/rakudo/star/commit/fb718d8f96
22:55 dalek rakudo/nom: 3800e99 | timotimo++ | src/vm/moar/ops/container.c:
22:55 dalek rakudo/nom: don't leak variable name C string on exception
22:55 dalek rakudo/nom: review: https://github.com/rakudo/rakudo/commit/3800e990a3
23:16 lizmat $ 6 'my @a[2,2] = (0,1),(2,3); my int @b[2;2] = @a'
23:16 lizmat Segmentation fault: 11
23:16 * lizmat gives up for today
23:16 lizmat good night, #perl6-dev
23:38 MasterDuke timotimo++ for fixing that leak i created
23:39 MasterDuke btw, how/where in the world is that rakudo_scalar_store called?
23:44 MasterDuke git grep in rakudo, nqp, and moarvm all show nothing besides the couple hits in countainer.c itself. i see container.c in the rakudo makefile
23:49 timotimo do you see the rakudo_scalar_spec struct in container.c?
23:53 synopsebot6 joined #perl6-dev

| Channels | #perl6-dev index | Today | | Search | Google Search | Plain-Text | summary