Clojure Basics: How code is evaluated
Channel: nilenso
Date: 2020-07-28

I cover the bare basics of Clojure's evaluation model and how it helps us write code at the REPL. I also go over some possible issues and stumbling blocks.

clojure.tools.namespace library — https://github.com/clojure/tools.namespace
Clojure Community: Where to ask for Help — https://practicalli.github.io/blog/posts/cloure-community-getting-help/
Clojure evaluation reference — https://clojure.org/reference/evaluation

Discuss on Reddit — https://www.reddit.com/r/Clojure/comments/hzataf/clojure_basics_how_code_is_evaluated/

Chapters:
0:00 Intro
0:28 Symbols, Vars and Namespaces
5:28 How def and defn work
8:03 How Clojure code is evaluated
15:20 Compiled functions refer to Vars
17:45 What happens when a file is loaded in the REPL
20:12 Keeping files and the REPL in sync
27:02 Changing code in libraries
29:03 Why ring-jetty needs to be restarted
34:41 How to avoid restarting ring-jetty
37:43 Outro