tim: Tim with short hair, smiling, wearing a black jacket over a white T-shirt (working)
[personal profile] tim
Today, I banged my head against issue 2936 basically all day long, and am not that much the wiser for it. At least I finally understand that a couple of the functions called in the vtable checking code are basically just wrappers for unification. I'm not sure why I didn't just try to understand the code in the first place instead of jumping in and hacking on it, but there you go. After getting hopelessly confused about all the substitutions that are flying around the code and what they do, I decided to start with a clean branch and just insert print statements to confirm my hypothesis about what each of the types and each of the lists of type substitutions means.

Today: not my finest hour.

ETA: well, having said that apparently guaranteed that I would fix the bug within an hour. Here's the commit. It turned out that my previous approach was just totally wrong and I was barking up the tree by trying to fix the code without understanding it. Some judicious use of print statements exposed the real problem, which wasn't in vtable at all, but rather in ty. Totally easy fix. Programming: from the agony of defeat to the thrill of victory in 55 minutes or less... and that's why I haven't given up on it yet.

Profile

tim: Tim with short hair, smiling, wearing a black jacket over a white T-shirt (Default)
Tim Chevalier

August 2014

S M T W T F S
      12
345 6789
10111213141516
17181920212223
24252627282930
31      

Most Popular Tags

Style Credit

Expand Cut Tags

No cut tags