枚举

;; Clojure has no enum type. A keyword is already a value of its own,
;; and a set of keywords is what says which values are allowed
(def seasons #{:summer :fall :winter :spring})

(def summer :summer)
(def winter :winter)

(println "summer is" summer)
(println "winter is" winter)

;; the set is the check a compiler would do elsewhere
(println "is :winter a season?" (contains? seasons winter))
(println "is :monday a season?" (contains? seasons :monday))