title: How to reload a clojure file in REPL
body: <p>What is the preferred way of reloading functions defined in a Clojure file without having to restart the REPL. Right now, in order to use the updated file I have to:</p>
  
  <ul>
  <li>edit <code>src/foo/bar.clj</code></li>
  <li>close the REPL</li>
  <li>open the REPL</li>
  <li><code>(load-file "src/foo/bar.clj")</code></li>
  <li><code>(use 'foo.bar)</code></li>
  </ul>
  
  <p>In addition, <code>(use 'foo.bar :reload-all)</code> does not result in required effect, which is evaluating the modified bodies of functions and returning new values, instead of behaving as the source haven't changed at all.</p>
  
  <p><strong>Documentation:</strong></p>
  
  <ul>
  <li><a href="https://clojuredocs.org/clojure.core/load-file" rel="noreferrer">load-file</a></li>
  <li><a href="https://clojuredocs.org/clojure.core/use" rel="noreferrer">use</a></li>
  </ul>