% Functional programming in Clojure
Get equipped in your fight against the dragons.
- Installing the developement environment
- Java
- Leiningen
- Editor
- Git
- How to submit answers to exercises
Get your survival skills up to shape.
- Structure of the exercise project
- Using the REPL
- Prefix syntax
- Defining functions
Get your horse!
if
and truthiness- Everything is an expression and thus has a value
Learn the structural weaknesses of dragons.
- Local names
- Data structures
- Vectors
- Maps
- Sets
- Abstract sequences
- Mapping
- Filtering
Polish your boots and armour.
- Indentation
- Whitespace
- Idioms
Project: poker hand evaluator
- Functions as values
- Predicate functions
- Higher-order functions
some
every?
Down the rabbit hole.
- Recursion over sequences
- Recursion over numbers
- Nonlinear recursion
- Tree recursion
- Passing state
Calling tails.
- Iteration with tail recursion
loop
recur
One Function to rule them all, One Function to find them,
One Function to bring them all and in the darkness bind them
In the Land of Code where the Off-By-Ones lie.
- Accumulating recursion with
reduce
- Variable arguments
A blog engine written in Clojure, studied.
Project: sudoku solver