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: 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://repl.it/
Overview
Syllabus
Chapter 1
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)Chapter 2
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 fileChapter 3
3.1 Closures 3.2 Interest in an accountChapter 4
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 SchedulerChapter 5
5.1 Lazy sequences 5.2 Lazy Prime Generator (Fizz Buzz part 3) 5.3 Poker ProbabilitiesChapter 6
6.1 Macros 6.2 Set macrosChapter 7
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 concurrencyTaught by
Mark Mahoney