Skip to content

Latest commit

 

History

History
110 lines (77 loc) · 2.06 KB

index.markdown

File metadata and controls

110 lines (77 loc) · 2.06 KB

% 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