Aug. 28th, 2012

tim: Tim with short hair, smiling, wearing a black jacket over a white T-shirt (working)
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

March 2014

S M T W T F S
      1
2345678
9101112131415
16171819202122
23 24252627 2829
3031     

Most Popular Tags

Style Credit

Expand Cut Tags

No cut tags