More than two years ago, my colleague Denis Firsov and I gave a series of three Theory Lunch talks about the MIU string rewriting system from Douglas Hofstadter’s MU puzzle. The first talk was about a Haskell implementation of MIU, the second talk was an introduction to the functional logic programming language Curry, and the third talk was about a Curry implementation of MIU. The blog articles *MIU in Haskell* and *A taste of Curry* are write-ups of the first two talks. However, a write-up of the third talk has never seen the light of day so far. This is changed with this article. Continue reading

# Grapefruit updated

Yesterday, I updated the Grapefruit FRP library once again, this time to make it compatible with GHC 7.8. Continue reading

# List of publications and talks updated

The list of publications and talks on my website has been pretty much out of date. Now it is updated, for you to enjoy. :-)

# Hyperreal numbers on Estonian TV

On 13 February, I talked about hyperreal numbers in the Theory Lunch. I have not yet managed to write a blog article about this, but my notes on the whiteboard have already been featured on Estonian TV. Continue reading

# ucs 2.2 released

I have released a new version of the LaTeX *ucs* package yesterday, which is version 2.2. It fixes the bug that is described in the TeX StackExchange question *Conflict between ifxetex and ucs under pdflatex/xelatex – why?*.

# A taste of Curry

Curry is a programming language that integrates functional and logic programming. Last week, Denis Firsov and I had a look at Curry, and Thursday, I gave an introductory talk about Curry in the Theory Lunch. This blog post is mostly a write-up of my talk. Continue reading

# MIU in Haskell

In the Theory Lunch of the last week, James Chapman talked about the MU puzzle from Douglas Hofstadter’s book *Gödel, Escher, Bach*. This puzzle is about a string rewriting system. James presented a Haskell program that computes derivations of strings. Inspired by this, I wrote my own implementation, with the goal of improving efficiency. This blog post presents this implementation. As usual, it is available as a literate Haskell file, which you can load into GHCi. Continue reading