Defining behaviours with functions

Clojure has functions, rather than methods for defining behaviour / “algorithms”

Clojure design at its most basic comprises:

  • one or more data structures
  • functions that process those datastructures

There is a common saying in Clojure: “Its better to have one data structure and many functions, than many data structures and many funcitions”