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. I will introduce the basics of the functional programming paradigm in this book.
To install and run Clojure programs please look at the documentation here: https://clojure.org/. Alternatively, if you'd like to skip the install process you can write and run Clojure programs from the very cool repl.it online coding platform: https://replit.com/
| 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 More with Data Structures |
| 2.1 Functions in Clojure |
| 2.2 Fizz-buzz |
| 2.3 Maps as objects |
| 2.4 Reading from a file |
| 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 |
| 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 |