Perl 6 - the future is here, just unevenly distributed

IRC log for #moarvm, 2017-07-08

| Channels | #moarvm index | Today | | Search | Google Search | Plain-Text | summary

All times shown according to UTC.

Time Nick Message
00:07 samcv please tell spesh not to be a meanie
00:09 TimToady spesh: don't be a meanie!
00:10 Geth ¦ MoarVM: 4bc916e2ba | (Samantha McVey)++ | src/strings/normalize.c
00:10 Geth ¦ MoarVM: Fix mixed declarations and code from ccc()
00:10 Geth ¦ MoarVM:
00:10 Geth ¦ MoarVM: Was causing a compilation error for some configs.
00:10 Geth ¦ MoarVM: review: https://github.com/MoarVM/MoarVM/commit/4bc916e2ba
00:27 samcv ok dogbert17 looks like  2.11.91 they changed the format
00:27 samcv so i'll need to alter my plugin
00:27 samcv er module
00:30 travis-ci joined #moarvm
00:30 travis-ci MoarVM build passed. Samantha McVey 'Fix mixed declarations and code from ccc()
00:30 travis-ci https://travis-ci.org/MoarVM/MoarVM/builds/251358389 https://github.com/MoarVM/MoarVM/compare/e92ea5a35abb...4bc916e2ba62
00:30 travis-ci left #moarvm
03:02 TimToady joined #moarvm
05:43 samcv jnthn, i found a problem in our handling of Hangul I believe
05:46 samcv err wait nvm
05:47 samcv misread something for a sec
08:01 domidumont joined #moarvm
08:07 domidumont joined #moarvm
08:16 FROGGS joined #moarvm
08:16 FROGGS o/
08:19 timotimo o/ FROGGS
08:19 FROGGS hi timotimo
09:40 Geth ¦ MoarVM: 6011f876db | (Stefan Seifert)++ | 2 files
09:40 Geth ¦ MoarVM: Improved debug output for serialization errors
09:40 Geth ¦ MoarVM: review: https://github.com/MoarVM/MoarVM/commit/6011f876db
11:31 nine 12/win 10
11:34 lizmat no lottery ?
11:37 nine Nah, only leading spaces make it into the lottery
12:06 jnthn .oO( Don't leave me hanguling... )
12:08 nine Lesson of the day: NULL debug_name makes debugging hellish
12:09 jnthn Back in the day we didn't have that at all and coped ;)
12:09 jnthn But yeah, it's very useful :)
12:09 jnthn I suspect only a handful of things don't set it
12:09 jnthn It needs doing explicitly after newtype
12:09 jnthn So you can probably grep for those places with context
12:10 jnthn To figure where we forgot it
12:11 nine Ah I already know it's DefiniteHOW :) I just didn't know how debug_name is set at all
12:12 jnthn There's an op for setting it
12:12 jnthn Meta-objects set it on new types they make
12:15 nine But according to the comments, we avoid a meta-object instance per coercion type, which may be the reason for not setting a debug_name
12:16 jnthn Avoid a meta-object instance yes, but maybe do have an STable per coercion type
12:17 jnthn Yes, we must
12:18 jnthn 'cus we have distinct type objects
12:18 nine Where would such an STable be created?
12:18 jnthn https://github.com/rakudo/rakudo/blob/nom/src/Perl6/Metamodel/CoercionHOW.nqp#L62
12:18 jnthn That's where we'd set the debug name also
12:19 jnthn It's created as part of the parameterization process
12:26 nine debug_name = 0x3811160 "?:?:D"
12:26 nine Talk about Perl being cryptic :)
12:32 jnthn I...suspect we could do better than that :P
12:39 jnthn (I think since we get passed the parameters, which are the types, we can call .HOE.name on each of them
12:39 jnthn uh. .HOW
12:39 jnthn This ain't a meta-shed...
12:40 nine Ah, I tried it on $type, which is probably the type currently in creation and thus not yet ready to be queried for its name
12:43 nine STable Mu:U does not exist in serialization context
12:45 nine I juts setdebugtypename in method new_type like in ClassHOW
12:46 jnthn I'd expect it to make the name something like $params[0].HOW.name($params[0]) ~ '(' ~ $params[1].HOW.name($params[1]) ~ ')' or so
12:47 jnthn $type is what you're setting the debug name for
12:48 nine Both work. nqp::setdebugtypename($root, self.name($root)); in new_type and nqp::setdebugtypename($thing, $params[0].HOW.name($params[0]) ~ ($params[1] ?? ':D' !! ':U')); in the setparameterizer sub
12:48 nine I like the first better for obvious reasons :)
12:49 nine That will work in CoercionHOW, too, though I lack a test case for verification
12:50 jnthn Oh wait, we were looking at different meta-objects
12:50 jnthn hah
12:51 jnthn Shows how awake I am today
12:54 nine Well, now that I see that it's about Mu:U, I at least know that something's seriously b0rked ;) With that I will move on to re-potting plants. It's too hot for anything else anyway :)
12:54 nine jnthn: thanks for the explanations :) At least this way I was able to make a bit of progress.
12:55 jnthn heat--
12:55 timotimo it's too hot to be doing manual labour like re-potting plants :o
12:57 domidumont joined #moarvm
15:08 AlexDaniel joined #moarvm
15:54 nine timotimo: plants are in my office. Office has AC :) Though the AC had quite some work to do to keep up while at home it's quite bearable without any AC at all. Insulation++, (being able to open all windows at night)++
15:54 timotimo wow
15:56 nine In summer we follow a very strict "keep everything open exactly as long as its cooler outside than inside" policy. With that we managed to keep top temperatures at 26 degrees inside during a 2 week heat wave the year before last
15:57 timotimo we don't have good measurement tools on hand to implement such a policy
16:17 mst I mostly open all the windows and rely on the breeze
16:17 timotimo the breeze is like 33 degC at the moment :|
16:19 AlexDaniel it's actually pretty hot here today
16:19 AlexDaniel 19°C
16:19 AlexDaniel :|
16:20 AlexDaniel but that's probably better than all days of June, so… :(
16:49 MasterDuke screenshot of the flamegraph view in hotspot (after running the example from jnthn's blog post about reading a 1million line file): http://i.imgur.com/pfgXGI7.png
16:54 timotimo wow, that frame_try_return
17:03 MasterDuke any way to make it cheaper?
17:14 timotimo yeah, inline everything
17:16 jnthn Much of the work seems in remove_one_frame.
17:16 jnthn One further note - spesh currently runs at frame exit
17:16 jnthn So the spesh work will probably come under that too
17:16 timotimo i see
17:16 jnthn Also that graph seems a tad...confused?
17:17 jnthn Why isn't everything under main?
17:17 jnthn I'm guessing 'cus the JIT confuses it
17:40 timotimo oh, that's possible
17:40 timotimo the jit really is confusing
20:02 committable6 joined #moarvm
20:02 greppable6 joined #moarvm
20:04 committable6 joined #moarvm
20:12 greppable6 joined #moarvm
20:53 samcv o/ hi all
21:26 vendethiel joined #moarvm
21:55 stmuk joined #moarvm
22:00 stmuk_ joined #moarvm
22:12 dogbert17 hello samcv
22:13 samcv hey :)
22:13 dogbert17 if you pull the latest rakudo changes your font prg will work without MVM_SPESH_DISABLE
22:14 Geth ¦ MoarVM: 20812a0ba4 | (Samantha McVey)++ | 2 files
22:14 Geth ¦ MoarVM: Rename is_control_beyond_latin1 to is_control_full
22:14 Geth ¦ MoarVM:
22:14 Geth ¦ MoarVM: More accurately describes the function, as it also works for
22:14 Geth ¦ MoarVM: codepoints in the Latin-1 range.
22:14 Geth ¦ MoarVM:
22:14 Geth ¦ MoarVM: Also reorder the latin1 range check to make the range more visible.
22:14 Geth ¦ MoarVM: review: https://github.com/MoarVM/MoarVM/commit/20812a0ba4
22:14 Geth ¦ MoarVM: 48371396f3 | (Samantha McVey)++ | src/strings/normalize.c
22:14 Geth ¦ MoarVM: Work Hangul grapheme seg into GCB switches
22:14 Geth ¦ MoarVM:
22:14 Geth ¦ MoarVM: This simplifies the code in should_break() and we are able to
22:14 Geth ¦ MoarVM: use the same switches we use for all the other properties.
22:15 Geth ¦ MoarVM:
22:15 Geth ¦ MoarVM: This mostly has the same functionality except it is more strictly in
22:15 Geth ¦ MoarVM: line with Unicode's spec. by going off property and not assuming
22:15 Geth ¦ MoarVM: everything returning true from maybe_hangul() is Hangul.
22:15 Geth ¦ MoarVM: review: https://github.com/MoarVM/MoarVM/commit/48371396f3
22:29 samcv dogbert17, :)
22:29 samcv yay!
22:31 samcv dogbert17, well it works for much longer
22:31 samcv i still got a segfault eventually though
22:31 samcv gonna time it. before it took 5.2 seconds. took way longer this time
22:32 samcv oh rakudo. my bad i pulled Moar :p
22:33 dogbert17 :)
22:33 dogbert17 perhaps an ENOOCOFFEE error :-)
22:33 samcv :-)
22:36 unicodable6 joined #moarvm
22:36 bisectable6 joined #moarvm
22:36 evalable6 joined #moarvm
22:36 greppable6 joined #moarvm
22:36 committable6 joined #moarvm
22:36 bloatable6 joined #moarvm
22:36 quotable6 joined #moarvm
22:36 coverable6 joined #moarvm
22:36 benchable6 joined #moarvm
22:36 statisfiable6 joined #moarvm
22:38 samcv yay now it works!
22:38 dogbert17 :)
22:50 dogbert17 samcv: do you know if we have tests for RT #127047 (it has been working for some time, see https://github.com/rakudo/rakudo/commit/7c8b705b3375522fc36304b771f82f50246afcf0)
22:50 synopsebot6 Link:  https://rt.perl.org/rt3/Public/Bug/Display.html?id=127047
22:50 samcv yeah we do
22:50 dogbert17 then we can close it :)
22:50 samcv we have a whole emoji test file that contains all of the Emoji v4.0
22:50 samcv xwell
22:51 samcv we don't pass all tests
22:51 dogbert17 nooooo :)
22:51 samcv but i think we do pass the ones they list there
22:51 samcv yeah we do
22:52 samcv but there's others not yet passing sadly
22:52 samcv need to figure out how to do that.. ugh
22:53 dogbert17 I have to click on reply or comment in order to change status on an issue
22:54 samcv i'll comment on it.
22:55 dogbert17 with some luck you'll see a 'status' listbox at the top
22:55 MasterDuke dogbert17: you don't have an 'Actions' link/menu in the upper right?
22:56 dogbert17 no
22:56 dogbert17 MasterDuke: are the bots working better now?
22:57 MasterDuke AlexDaniel just built a new rakudo to run them, and they've been restarted, but i don't know if they've been tested
22:59 MasterDuke dogbert17: might want to ask [Coke] or Zoffix about that, i thought you were given ticket management permissions in RT
23:01 dogbert17 well, I can manage them if I go to them directly and use comment or reply
23:01 dogbert17 probably not the optimal solution though :)
23:02 samcv jk closing the issue :)
23:03 samcv because of semi arbitrary reasons. and counting the ZWJ sequences different from the non ZWJ sequences. and we pass all the non zwj ones
23:03 samcv well.
23:03 samcv except the rainbow flag. let me see what that is
23:03 samcv ZWJ. ok so i'm right
23:03 dogbert17 cool, any comments on the next one, i.e. T #127048
23:03 synopsebot6 Link:  https://rt.perl.org/rt3/Public/Bug/Display.html?id=127048
23:04 samcv :( makes me sad. i need to make it save state and come up with ways to know i'm in an emoji sequence. and stuff
23:04 samcv frustrating that the unicode rules are not very good for the ones we are not passing
23:05 dogbert17 :(
23:09 samcv jk. what. did i just
23:09 samcv solve the 240 emoji that were failing
23:10 samcv and now i fail graphemeclusterbreak tests tho
23:11 samcv eeeh
23:17 AlexDaniel dogbert17: yes
23:17 AlexDaniel dogbert17: the whole test suite just passed without any segfaults
23:18 AlexDaniel MasterDuke: in the end we still bisected it with bisectable :D
23:20 samcv maybe i'll try updating to unicode 10 and maybe hope they changed the properties for some emoji to be not crap
23:32 samcv i was able to get them all passing AlexDaniel all emoji getting the right number of chars. 100%
23:33 samcv and not making any more GCB.t tests failing!
23:33 samcv awesome.
23:33 AlexDaniel \o/
23:34 samcv i did something i'd never though of. well i had. but thought it was too crazy to ever work
23:35 samcv having it so we don't break if it's ZWJ + (Emoji=True && GCB=Other)
23:37 samcv though it might make sense to whitelist specific codepoints to avoid it causing numbers to bind to zwj. since zwj should probably not bind that way. well it should bind to the cp on the left and then only to the one on the right in specific circumstances
23:38 samcv though there's not really any *real* cases where someone would do that. so that's more technicality

| Channels | #moarvm index | Today | | Search | Google Search | Plain-Text | summary