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.
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
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 :-))
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... :)
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
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«ǰ̣␤»
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>␤»
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>␤»
jnthn m: say Uni.new(0x0046, 0x0323).NFC 16:51
camelia rakudo-moar d05cb8: OUTPUT«NFC:0x<0046 0323>␤»
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 &
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
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
[Coke] nwc10: I got a malloc error running perl6-doc the other night... 18:25
couldn't duplicate it, though. :(
TimToady well, and jnthn++ actually writes tests 19:14
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
japhb Ah, very interesting. I especially liked the 'moving panic' and 'comment pseudocode, then translate' ideas. 23:02