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

February 2015

S M T W T F S
1234567
89101112 1314
15 1617181920 21
22232425262728

Most Popular Tags

Style Credit

Expand Cut Tags

No cut tags