Figwheel automatically rebuilds your clojurescript code when source files change and reloads code in browser. Reload works without refreshing page and you can preserve some of app's state between reloads by using defonce.

It is alternative to REPL-based development (although it includes REPL too). Instead of re-evaling changed functions in REPL, it reloads all code, and you can use println to see result of expression evaluation in browser's js console.