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/FuBPs3gQ1VCalling 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
|