I wanted to use functions from goog namespace although--as I found out later, I didn't have to because goog is already exists in my namespace. So, I put (:require [goog]) in a ns declaration. Then, when I tried to reload that particular namespace by doing :require :reload in a cljs repl, I got:
Error: Namespace "x.x.x" already declared.
Doing :require :reload again in the cljs repl makes the repl throws
Error: Namespace "cljs.user" already declared.
I tested the steps below using clojurescript 1.7.145 and 1.7.170.
Here are the steps to reproduce which are taken from clojurescript quickstart-browser repl section:
1. Download the standalone clojurescript 1.7.170 jar https://github.com/clojure/clojurescript/releases/download/r1.7.170/cljs.jar
2. Create a directory hello_world and copy the JAR into that directory, then from inside the hello_world directory:
3. repl.clj content
4. index.html content
5. src/hello_world/core.cljs content
6. run clojurescript repl
8. enter expression below in the clojurescript repl
11. Quit from the repl using :cljs/quit
12. Add [goog] in ns declaration in src/hello_world/core.cljs so that the content of the file becomes:
13. Run the clojurescript repl again
13. enter expression below in the clojurescript repl
it just returns nil