July 2, 2008
One of the fun features of Clojure, or any Lisp I suppose, is the interactive development workflow. As you can see in the video, you write code by creating expressions that define functions and then you evaluate those functions in the REPL (Read-Eval-Print-Loop). You can redefine a function at any time. You can imagine that if you had a production system running, you could connect to it via a REPL or something like that, evaluate some expressions that redefine functions that contain bugs, and the system would be fixed with no downtime.
Here's the contents of the
#!/bin/bash SRC_DIR=/Users/pbarry/src CLOJURE_JAR=$SRC_DIR/clojure/clojure.jar JLINE_JAR=$SRC_DIR/jline/jline-0.9.94.jar if [ -z "$1" ]; then java -cp $JLINE_JAR:$CLOJURE_JAR jline.ConsoleRunner clojure.lang.Repl else java -cp $CLOJURE_JAR clojure.lang.Script $1 fi