Classes / Constructors

;; a constructor is never written by hand: defrecord makes two,
;; ->Man by position and map->Man by field name
(defrecord Man [name])

(def man (->Man "Alex"))
(def nobody (map->Man {}))
;; the fields not given stay nil

(println "man is" man)
(println "nobody is" nobody)
(println "name is" (:name man))