I'm wondering: what is the best way to write a Clojure program that interacts with a user or another program thorough stdin and stdout?
Clearly it would be possible to write some kind of imperative loop, but I'm hoping to find something more lazy / functional, a bit inspired by Haskell's "interact" function.