Took a couple of months playing with Haskell, which was great. It works well for "language-oriented" programming, for code that is algorithmic in nature, and heavy on the data structures. I do want to come back to Erlang though. Which works better for more ad-hoc things. Where the idea is more that of "control" and "events".