Playing with Clojure

It's been a while since I've really played with any Lisp derivative, but I've been spending my last couple of days toying around with Clojure, which is a Lisp that runs on the JVM. I've been testing out some crazy cross-languagisms by using Clojure to code Qt through QtJambi. So far it's been pretty sexy. The REPL is nice, vim's syntax highlighting package and indentation are nice.

All in all, other than some speed bumps regarding macros (still haven't quite wrapped my head all the way around those, unfortunately), this has been my best experience with a Lisp yet. I must admit, though, I think that's more because I've adapted my way of thinking to be more amenable to parentheses. Even a year ago, I was still a bit iffy on the overabundance of parens in Lisp, but now I find I'm perfectly comfortable with using s-exps for code. I think part of it has come from using Ruby. I can't quite put my finger on it, but coding in s-exprs seems similar to some things I do in Ruby -- my head can wrap itself around the parens because there are analogues being drawn to things I do with Ruby, even if I can't quite place them.

Anyway, should be fun. Rumikub implementation in Clojure+QtJambi, coming right up! :)