##Functional Programming
- No state
- No Side effects
- immutability
- First class functions
Clojure
Think of a spreadsheet. When one cell is updated, the cells that depend on it will update
Declarative - Tell the code what to do without telling it how to do it.
RAC(self, label.text = RACObserve(self, name);
Reactive Cocoa was made by Github.