Pattern matching
I continued working on the lists of things to do. In particular, the pattern matching is starting to work. There is still a little bit to do, but the basic infrastructure is in place. Lovely expressions like def ^mul = (fun {#a=^x,#b=^y} -> x*y);; now work. When playing with this new feature, I noticed however that using a hat for the binding of variables has a little drawback: on 'continental' keyboards (like a swiss-french one) you end up typing 'îd' more often than '^id', because the input method 'folds' a hat with the next character.