I used xmonad for a while actually before switching to awesome. I found the latter easier to configure and better out of the box (especially with multiple displays), plus I wanted to learn Lua over Haskell at the time. I found my productivity increased dramatically using either.
My favorite tilling WM http://wmii.suckless.org/ You can configure it with any scripting language but the downside is the help is lacking compared to the IRC community for XMonad and awesome.