March 9, 2020

The Joys and Perils of Interactice Development


Stuart Sierra, consultant


Everybody that work with Clojure can relate to the problems described by Stuart, however the REPL-driven development is just so good to have around.

We must improve our toolings around it.


"[Remote Agent] was written entirely in Common Lisp despite unrelenting political pressure to move to C++."

"We were not out to win over the Lisp programmers; we were after the C++ programmers. We managed to drag a lot of them about halfway to Lisp."

Definitions (source code in files) != Definitions (in language runtime)

"Debugging a program running on a $100M piece of hardware that is 100 million miles away is an interesting experience.

Having a read-eval-print-loop running on the spacecraft proved invaluable in finding and fixing the problem" - by Ron Garret.


  1. When you redefine a macro, you must reload all the code that uses it

  2. The Remote Agent Experiment: Debugging Code from 60 million miles away (Google Tech Talks) - by Ron Garret

Tags: clojure functional