This document discusses functional programming languages Scala and Clojure that run on the Java Virtual Machine (JVM). It provides an overview of what functional programming is, why it is becoming more important with multi-core processors, and why developing new languages on the JVM is advantageous due to its existing investments and performance. Specific details are given about Clojure, including how it has tight integration with Java and the JVM, uses immutable collections and lazy sequences, and provides primitives for concurrency. Scala is described as a functional language that is fast, expressive, and statically typed with features like traits, pattern matching, and XML literals. The document concludes that as developers we should choose the right tools for our