« Algorithm W implementation | Main | Wand's simple objects »

October 01, 2004

Limsoon Wong and a squashed bug

I met Limsoon Wong, the creator of Kleisli. He presented shortly the basic principle of optimisation in Kleisli. It seems that from the dozens of potential optimisations described in his thesis, he actually only used four in the real implementation of Kleisli (at least for SQL optimisation): two to push row or column selection into the SQL query, one to use a SQL join for overlapping queries on the same database, and one to optimise joins on different databases. This is good news because there were really too many in the original thesis for my liking.

I then went to a talk by Wong about his current research. He is working on a technique to reduce errors in a particular biological experiment by applying data-mining techniques to the raw experimental data. Very interesting presentation, even though it doesn't really have much to do with my work here.

With all this, my day was well started already, but I finally squashed the naughty bug in my algorithm W implementation. Of course, the bug was not related to the implementation of the 'let' itself or the subsequent variable generalisation, but was merely revealed in this case. It was instead due to a faulty behaviour of the unify method which produced in some cases ugly substitutions like {α=β, α=γ}.