views:

205

answers:

3

I don't know much about functional programming but am interested in learning Clojure.

Are there any functional languages that would be a good point of reference to understand how functional programming works in Clojure?

Or is Clojure different enough in its functional programming approach that I would be better off to just focus on Clojure's functional features by themselves?

+3  A: 

Common Lisp of course :) Scheme might be an easier introduction though and easier to get a stable, simple, common environment.

Larry Watanabe
+4  A: 

Clojure is a lisp so learning other lisps will help a lot in getting used to the parts of the "lisp culture" or general way of doign things. Remember that Clojure breaks significantly with Common Lisp though.

Clojure is lazy so learning Haskell will really help get you used to the idea of real lazy programming.

Clojure is concurrent so learning a little bit of Erlang will help though you will need to keep in mind that Erlang includes a lot about distributed programming while clojure is all about concurrent programming that is not necessarily distributed.

Arthur Ulfeldt
A: 

Clojure and Lisp share a lot of ideas with Ruby as well, though the syntax is much different

Paul Betts