01:47 ilbot3 joined 02:08 tokuhirom joined 02:23 vendethiel joined 02:43 leedo joined 06:09 FROGGS[mobile] joined 06:24 FROGGS joined 06:35 domidumont joined 06:39 Ven joined 07:25 zakharyas joined 07:41 Ven joined 07:45 sivoais joined 07:55 sivoais joined 08:06 sivoais joined 08:16 sivoais joined 08:25 domidumont joined 08:26 sivoais joined 08:36 sivoais joined 08:46 sivoais joined 08:56 sivoais joined 09:06 sivoais joined 09:12 domidumont joined
dalek arVM: bee5299 | jnthn++ | src/strings/ops.c:
Toss a dead macro.
09:15
arVM: edc44b5 | jnthn++ | src/strings/ops.c:
Implement final sigma special casing rule.
09:17 sivoais joined
jnthn Who'da thunk case changes would be so involved... :) 09:17
FROGGS ohh dΣΣr 09:20
jnthn writes tests to make sure we're getting the precomposed lower -> synthetic upper transitions right... 09:21
09:27 sivoais joined 09:31 domidumont joined 09:37 sivoais joined 09:48 sivoais joined 09:58 sivoais joined
dalek arVM/debug-dynvar-bug: 043a779 | brrt++ | src/ (7 files):
Add a sequence number to distinguish frames

I suspect there may be multiple spesh candidates or something similar involved with the JIT bug, so I add a sequence number to test this.
09:59
arVM/debug-dynvar-bug: 1a090f3 | brrt++ | src/jit/compile.c:
Log specific exit (useful for gdb :-))
10:01 Ven joined 10:08 sivoais joined 10:18 sivoais joined
nwc10 jnthn: ASAN welcomes careful coders 10:21
jnthn nwc10: But does it welcome me? :) 10:22
nwc10 well, it didn't barf at what it saw
jnthn Phew
nwc10 (and yes, good question)
jnthn And I added a bunch of tests, so... :)
10:29 sivoais joined 10:39 sivoais joined 10:50 sivoais joined 11:00 sivoais joined 11:11 sivoais joined 11:21 sivoais joined 11:29 Ven joined 11:32 sivoais joined 11:40 Peter_R joined 11:42 sivoais joined 11:52 sivoais joined 12:03 sivoais joined 12:14 sivoais joined 12:25 sivoais joined 12:36 sivoais joined 12:37 Ven joined 12:46 sivoais joined 12:56 sivoais joined 13:06 sivoais joined 13:16 sivoais joined 13:23 Ven joined 13:27 sivoais joined 13:36 sivoais joined 13:47 sivoais joined 13:57 sivoais joined 14:07 sivoais joined 14:17 sivoais joined 14:27 sivoais joined 14:32 Ven joined 14:37 sivoais joined 14:47 sivoais joined 14:58 sivoais joined 15:10 sivoais joined 15:20 sivoais joined 15:30 sivoais joined 15:32 tokuhirom joined 15:41 sivoais joined 15:51 sivoais joined 16:01 sivoais joined 16:10 FROGGS joined 16:11 sivoais joined
dalek arVM: 9a9a43c | jnthn++ | src/strings/nfg.c:
Turn abort() into a panic with useful message.
16:17
arVM: dbd15dc | jnthn++ | src/strings/nfg.c:
Provide fc on synthetics.

Or at least, make it work as well as uc/tc/lc do. We still need to take care of synthetics that involving a base grapheme that has a special casing or full case folding rule.
jnthn Fixes the SIGABRT someone got on #perl6 an hour ago, at least :) 16:18
FROGGS :o) 16:19
16:22 sivoais joined
jnthn Now I just have the really evil cases left. 16:22
m: say "\c[LATIN SMALL LETTER J WITH CARON]\c[COMBINING DOT BELOW]".NFC 16:25
camelia rakudo-moar d05cb8: OUTPUT«NFC:0x<01f0 0323>␤»
jnthn m: say "\c[LATIN SMALL LETTER J WITH CARON]\c[COMBINING DOT BELOW]".chars 16:26
camelia rakudo-moar d05cb8: OUTPUT«1␤»
jnthn m: say "\c[LATIN SMALL LETTER J WITH CARON]\c[COMBINING DOT BELOW]"
camelia rakudo-moar d05cb8: OUTPUT«ǰ̣␤»
16:28 Ven joined
jnthn m: say "\c[LATIN SMALL LETTER N PRECEDED BY APOSTROPHE]\c[COMBINING DOT BELOW]".NFC 16:28
camelia rakudo-moar d05cb8: OUTPUT«NFC:0x<0149 0323>␤»
16:32 sivoais joined
jnthn m: say uniprop 16:40
camelia rakudo-moar d05cb8: OUTPUT«===SORRY!=== Error while compiling /tmp/FuBPs3gQ1V␤Calling uniprop() will never work with any of these multi signatures:␤ (Str $str, |c is raw) ␤ (Int $code, Stringy $propname = { ... })␤at /tmp/FuBPs3gQ1V:1␤------> say ⏏unipr…»
jnthn m: say uniprop(0x030C, 'Canonical_Combining_Class')
camelia rakudo-moar d05cb8: OUTPUT«230␤»
jnthn m: say uniprop(0x0323, 'Canonical_Combining_Class')
camelia rakudo-moar d05cb8: OUTPUT«220␤»
jnthn m: say Uni.new(0x004A, 0x0323, 0x030C).NFD 16:41
camelia rakudo-moar d05cb8: OUTPUT«NFD:0x<004a 0323 030c>␤»
16:42 sivoais joined
jnthn m: say Uni.new(0x0046, 0x0323).NFC 16:51
camelia rakudo-moar d05cb8: OUTPUT«NFC:0x<0046 0323>␤»
16:52 sivoais joined 17:03 sivoais joined 17:14 sivoais joined
jnthn m: say Uni.new(0x01F0, 0x0323).NFD 17:16
camelia rakudo-moar d05cb8: OUTPUT«NFD:0x<006a 0323 030c>␤»
dalek arVM: 6a4423b | jnthn++ | src/strings/nfg.c:
Partially deal with SpecialCasing in NFG.

This handles the cases where something casefolds into multiple code points, but they still come out as a single grapheme. The case where even with NFG we get multiple graphemes is still to do.
17:18
jnthn Enough for now... :) 17:19
dinner &
17:25 sivoais joined 17:34 tokuhirom joined 17:35 sivoais joined 17:45 sivoais joined
japhb rezzes in after 2-3 weeks away 17:50
.ask jnthn How do you keep track (aside from in commit messages) of what you haven't finished in work like the NFG casefolding that you've only partially completed, when you switch often to other work? 17:51
Right, no bot 17:52
Well, in any case, I'm basically wondering what you're doing to make sure you don't forget to finish up some line of coding work that you've context switched off of?
timotimo oh hey japhb! 17:53
17:55 sivoais joined
nwc10 japhb: from a somewhat outsider perspsective, it looks to me like jnthn is only doing stuff when he thinks he has time to get the whole chunk finished 17:57
and in particular, he's not task switching between Big Job A and Big Job B. 17:58
so there's only one pointer to state to be tracked
jnthn: ASAN still happy. Try harder! 18:05
18:05 sivoais joined 18:15 sivoais joined 18:20 vendethiel joined 18:23 leont joined
[Coke] nwc10: I got a malloc error running perl6-doc the other night... 18:25
couldn't duplicate it, though. :(
18:25 sivoais joined 18:36 sivoais joined 18:46 sivoais joined 18:48 Ven joined 18:56 sivoais joined 19:06 sivoais joined 19:09 Ven joined
TimToady well, and jnthn++ actually writes tests 19:14
19:16 sivoais joined 19:27 sivoais joined 19:37 sivoais joined 19:47 sivoais joined 19:57 sivoais joined 20:03 sivoais joined
japhb TimToady: Shocking. Really, who does that? :-P 20:06
FROGGS and jnthn regularly talks about The List™, and I believe he really has one :o) 20:11
jnthn japhb: nwc10 is about right - I tend to only have one really involved ongoing task at a time. 20:18
japhb: When I push not entirely done stuff, I also often do it in a way that makes it clear where the next additions/changes need to go. 20:19
Like github.com/MoarVM/MoarVM/commit/6a4423b996 took a panic away, dealt with some of what needed doing, and left a new one in for the remaining bits 20:20
In this case I've also a bunch of tests I wrote beforehand
There isn't actually One True List. rt.perl.org/Ticket/Display.html?id=123766 is my current worklist, to a large degree. 20:22
FROGGS really, huh 20:23
jnthn There's a few on my phone
The NFG one is nearly empty, it just has "fix the NFA engine to have a clue about NFG" on it. :)
FROGGS ahh, so you are a list item ticker :o)
jnthn I tend to delete the ones I got done :)
FROGGS and then you're happy?
jnthn Dunno, just doesn't really help me to keep lists of things I *did* do :) 20:24
I've got git for that :P
FROGGS hehe, yeah 20:25
jnthn Mostly they're on my phone so I can stick things in if I think of them and I'm somewhere random
But yeah, "how do I know where to continue" I mostly handle by leaving myself enough reminders in the code, and then "git show" or so when I come back to it. 20:26
FROGGS nice 20:27
psch sometimes things go on my white board
but mostly it has other chores and errands
jvm-interop went on it a lot...
jnthn Generally, I like to keep things related to code in the code, though... :)
psch yeah, it's rare enough for me to conceptualize what-needs-to-be-done high-level enough to have it make sense on the white board :P 20:28
jnthn You can also tell how hard I had to think about things when implementing them by comment density :) 20:31
Because I often describe the algo in comments and then fill it out in code when it's something tricky.
psch ...that just makes me think i'm bad at programming :P 20:32
jnthn github.com/MoarVM/MoarVM/blob/mast...sh/deopt.c probably has some of the more dense commenting :)
tbh, I probably put more effort into commenting data structures than code, though... 20:33
github.com/MoarVM/MoarVM/blob/mast...ings/nfg.h for example 20:34
FROGGS jnthn: I do sometimes something similar... I write pseudo code (in english) for the needed steps, and then I translate that to code and later to comments
yes, I really like these concept describing blocks 20:36
because especially when I'm hunting for a bug you find something the is coded differently than meant... and such a comment helps getting clarity 20:37
21:35 tokuhirom joined
japhb Ah, very interesting. I especially liked the 'moving panic' and 'comment pseudocode, then translate' ideas. 23:02
23:31 tokuhirom joined