Classes / Constructors

(defrecord Man [name])

;; ->Man always wants every field, so there is no
;; "constructor without parameters" — a zero-arity
;; wrapper function is the accepted way to make one
(defn make-man []
  (->Man "unknown"))

(def man (make-man))
;; (:name man) is "unknown"

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