Santa and Bot advent of code

santa_and_bot.clj
(def route (slurp "./houses.txt"))
(def visits (set []))
;; (conj "
;; (def current {:x 0, :y 0})
;; Add 1 to x
;; (def current (assoc current :x (+ 1 (get current :x))))
(defn inc-x []
  (def current (assoc current :x (inc (get current :x)))))
(defn inc-y []
  (def current (assoc current :y (inc (get current :y)))))
(defn dec-x []
  (def current (assoc current :x (dec (get current :x)))))
(defn dec-y []
  (def current (assoc current :y (dec (get current :y)))))

(defn move [ch]
  (case ch
    \^ (dec-x)
    \v (inc-x)
    \< (dec-y)
    \> (inc-y)
    ""))

(defn show-addr [cur]
  (keyword (str (get cur :x) "_" (get cur :y))))

(defn update-visits []
  (def visits (conj visits (show-addr current))))

(defn move-and-update [ch]
  (move ch)
  (update-visits))
  
(defn run-santa []
  (for [x (seq routes)]
    (move-and-update x)
    x))

(defn reset-santa []
  (def visits (set []))
(def current {:x 0, :y 0}))