 
 [[:subsection {:title "Destructuring - let --  page 28"}]]
 "
-Most Clojure funtions are based around sequential and map data structures.
+Most Clojure functions are based around sequential and map data structures.
 This allows functions and data structures to be trivially composed.
 One challenge is to access$ the data in these structures.
 "


[[:subsection {:title "Creating Functions:fn -- page: 36"}]]

"Functions are first class so Clojure can create annonymous
functions as a data type"

(fn [x]


"Binding values to there key's names  page 34"

(def chas {:name "Chas" :age 31 :location "Massachusetts"})

(fact "binding values using the same names can get repetittive:"
  (let [{name :name age :age location :location} chas]
    (format "%s is %s years old and lives in %s." name age location))
  => "Chas is 31 years old and lives in Massachusetts.")

(fact "using the ':keys' option:"
  (let [{:keys [name age location]} chas]
    (format "%s is %s years old and lives in %s." name age location))
  => "Chas is 31 years old and lives in Massachusetts.")

"switch when we know we are using strings or symbols as keys"

