- LLVM: Two of my recent patches had to be backed out of the tree, because they caused trouble with bootstrapping llvm-gcc. I am pretty sure these are not caused by bugs on my side (geee!), but frustrating nevertheless. The situation is also aggravated by the fact that I am unable to build a stock llvm-gcc on my Tiger machines I have access to, so I have lost my ability to debug these beasts. A third patch is in-progress (CallInst operand reorg - function to the back) but it is dependent on one of the backed-out ones. It is also pretty stubborn, since there are many hidden assumptions in the codebase which expect the callee in front position. I am slowly weeding out the problems.
- Omega: Little progress on this front. Tim also seems to have reduced his workload on here - probably caused by the "Cyber Milennium" course - so I do not feel a lot of motivation. Which is sad, because there are some nice papers on GADT decidable type inference appearing. Omega could benefit from those.
- Clang: Doug has been working on the template instantiation machinery lately, and I took over a mini-project: instantiation of "?:" expressions. It mostly works, but there is still review feedback to satisfy and the missing middle-expression problem needs a solution. These must be unit-tested as well.
Regarding the headline, it was inspired by thinking about a purely-functional (i.e. immutable) lattice library for use by Clang's (partial) template specialization feature. Yes, and lattices arise as containers of partially-ordered data.