Enumerations

;; nothing is numbered automatically here:
;; every base value is written out by hand
(def season {:summer 1, :fall 2, :winter 3, :spring 4})

(def base-winter (season :winter))
;; base-winter is 3

(println "base-winter is" base-winter)

;; a running count is easy to build when the order is the only thing wanted
(def numbered (zipmap [:summer :fall :winter :spring] (iterate inc 1)))
(println "numbered winter is" (numbered :winter))