- Agenda overview
- Why Clojure?
- REPL
- Syntax
- Literals (one slide)
- Possible theme: board games - model this (or something else)
- About
- Immutability
- Go under the hood with immutability -- how is it not a memory hog?
- Types
- Vectors
- Lists
- Maps - look at examples in Thinking in Data for this
- Sets
- Sequence abstractions
- Model a Board Game exercise
- Call a function
- Let
- Define a function
- Higher order functions
- map
- reduce
- Show how you can add sequence abstractions
- Truthiness
- cond
- if
- loop
- doseq
- Vars
- Atoms
- Refs
- Agents
- Example 1
- Example 2
- Futures
- Leiningen
- Namespaces
- Rich Hickey "Simple Made Easy" http://www.infoq.com/presentations/Simple-Made-Easy
- Stuart Halloway "Simplicity Ain't Easy"https://www.youtube.com/watch?v=cidchWg74Y4&feature=kp
How is Clojure simple?
- Syntax is small
- Values instead of objects with state
- Functions instead of methods to manipulate state
- Managed refs instead of variables
- Maps to represent data instead of special syntax/classes
- Generic data processing
- Data as data
- Declarative instead of imperative
TODO Moved to: Issues
- Research one project each that we can use to highlight/use for examples
- DONE Start slides
- DONE Create github repository
- DONE - See Issues Create issues for TODOs in github