title: How to reassign a variable another value in clojure
body: <p>I am doing this Clojure program for fibonacci series. </p>
  
  <pre><code>(def fibonacci []
    (def a 0)
    (def b 0)
    (def c 1)
    (def n (atom 0))
    (while (&lt;= @n 10)
      (do
        (def c (+ a b))
        (def a b)
        (def b c)
        (println '(a b c))
        )(swap! n inc)))
  (fibonacci)
  </code></pre>
  
  <p>I am getting this error:</p>
  
  <pre><code>CompilerException java.lang.RuntimeException: Too many arguments to def, compiling:(C:\Users\user\AppData\Local\Temp\form-init4960759414983563364.clj:1:1) 
  CompilerException java.lang.RuntimeException: Unable to resolve symbol: fibonacci in this context, compiling:(C:\Users\user\AppData\Local\Temp\form-init4960759414983563364.clj:13:1) 
  </code></pre>
  
  <p>I can't figure out how to reassign the variables <code>a</code>, <code>b</code> and <code>c</code> . And also please suggest any correction needed in the program.</p>