Because I am now reading a book about Haskell, but also because when I implemented the gist of Palo in Erlang , I was bitten by - tada! - a typing error, I decided to port the code over to Haskell. While the functional core syntax of the two languages is quite similar, here's one detail that took me a while to figure out: A case construct in Haskell always introduces new name bindings, whereas Erlang uses existing bindings as equality tests. So, in Haskell you have to do something like if atkey == key then ... else ... , while in Erlang you can simply do case AtKey of Key -> ... Other -> ... (which seems more intuitive to me).
Literate testing, JCite, Java, Excel for Java, Mercurial, and whatever else seems to long for a tweet.