I would like to know what all other languages (their syntax, concepts etc.) have been referred throughout this book. Asking this because I think, one should know all the basic pre-requisite knowledge before he start reading this book.

As you can imagine, since Clojure is a JVM-based language, there's considerable reference to Java. There are a few references to other dynamic languages such as Ruby.

From a pre-req perspective, as long as you know programming, and the Java language, you'll find it easy. Even if you're not super-familiar with Java, you'll get along fine since I cover relevant topics.

There's no need to be familiar with LISP, or any need for previous experience with functional languages. I cover all relevant topics here, from beginner to intermediate/advanced levels.

LISP was (and is) used for a lot more than AI. Some of the most advanced software in the world uses LISP, even today. Here's an account of LISP being used for something we may all be familiar with: e-commerce web-sites: Beating the Averages

Clojure is an modern LISP with several distinct advantages - it runs on the JVM (which gives it instant access to thousands of battle-tested libraries and frameworks), it is functional (which means core data-structures are immutable), and has support for multi-core concurrency (with an elegant implementation of software transactional memory or STM).

Each of these features makes it really powerful in the hands of a skillful user. Being a LISP, it also has complete support for Macros, which is a secret weapon in its own right.

These are just some of the reasons why it's worth learning and using Clojure. My own startup, Runa, is an all-Clojure shop. We've built some incredibly powerful software with a team of just 5 engineers. There are a lot of similar success stories. Also, the Clojure community is amazingly friendly and helpful!

I am interested in learning a functional programming language but I can't decide which to try, clojure and f# are the two that I am particularly interested in, I was wondering if you could outline the benefits of clojure compared to f#? I feel more naturally inclined to clojure as it is JVM based. Also how closely based is clojure on lambda calculus, as I have recently completed a university course on lambda calculus and found it very interesting.