An Animated Introduction to Clojure

Mark Mahoney

This is a brief introduction to the Clojure programming language. Clojure is an awesome functional programming language. It is sometimes called a LISP or LISt Processer. To install and run Clojure programs please look at the documentation here: Alternatively, if you'd like to skip the install process you can write and run Clojure programs from the very cool online coding platform:

If you'd like to stay connected and get updates when I add new playbacks you can follow me on twitter: @markm208.

1.1 Hello World!!!
1.2 Readers/evaluators and simple arithmetic
1.3 Dog age converter
1.4 Java interoperability
1.5 Clojure data structures
1.6 Efficient immutability (more with data structures)
2.1 Functions in Clojure
2.2 Fizz Buzz
2.3 Maps as objects
2.4 Reading from a file (with CS poetry)
2.5 Writing to a file
3.1 Closures
3.2 Interest in an account
4.1 Tail Recursion
4.2 Recursion and Fizz-Buzz
4.3 Recursion and Square Roots
4.4 Converting a String to an Integer in the Bases 2-16
4.5 Mortgage Scheduler
5.1 Lazy sequences
5.2 Lazy Prime Generator (Fizz Buzz part 3)
5.3 Poker Probabilities
6.1 Macros
6.2 Set macros
7.1 Threads
7.2 Threaded poker
7.3 refs and threads
7.4 Atoms
7.5 Poker with atoms
7.6 Thread logging with agents
7.7 Simpler concurrency