While dabbling in Clojure I\'ve written a very basic program to echo whatever the user types into it. However, it doesn\'t run in a way that I\'m perceiving to be natural. H
I know nothing of clojure but this sounds like a case of buffers not getting flushed. Figure out how to flush standard out after the print. The println function probably flushes at the end of each line. Try:
(defn goo []
(print "echo> ")
(flush )
(def resp (read-line))
(print resp)
)
Also, please don't use "def" unless you really, really want to define a global variable. Use "let" instead:
(defn goo []
(print "echo> ")
(flush)
(let [resp (read-line)]
(print resp)
(flush)))
or, shorter
(defn goo []
(print "echo> ")
(flush)
(print (read-line))
(flush))