Tuesday, March 31, 2009

Sieben Tage Regen, Sieben Tage Schnee …

… und es tut nicht mehr weh!

Dieser Winter war der schmerzhafteste den ich bisher in Deutschland erlebt habe. Lang und kalt. Die Natur ist acht Wochen (oder mehr?) hinterher, unser Hunger nach Sonne unvorstellbar.

Wie gut, daß mein Wetter-Widget jetzt sieben Tage Sonne und angenehme Temperaturen verspricht! Das Haus ist nunmehr tiptop eingerichtet, die Gartensaison kann kommen.

Auf wiedersehen, Winter, willkommen Frühling!

Saturday, March 21, 2009

Lack of Total Order

My new project is starting to bind my mental resources at work. So some of the fringe projects which I casually do for fun will surely suffer.
  • 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.
Back to my regular work. The job is demanding, I co-develop the implementation, test framework and test-suite simultaneously. Of course I could accept some help, but it is also important that the basics get in right and unwatered. I have a nice plan for stub-libraries that can invoke TCL commands to fill in out parameters and result values. Fun.

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.

Wednesday, March 11, 2009


I am happy because my copy of Real World Haskell arrived today. I ordered it through my employer, and while waiting for it more than two months, it finally got delivered. Anyway, I plan to put QuickCheck to good use by generating testcases automatically. Let's see how far this can carry us.

Tuesday, March 3, 2009

3^2 Day

Today is 3^2 day, because 3 squared is 9 and today's date is 03.03.09. Number jokes aside, it was a good day, I am finally beginning the implementation part of my new project at work and the ideas keep sprouting.


PS.: Also I found a nice article about decidable type inference for GADTs. Final version hopefully for ICFP09!