Я использовал JLine для добавления истории и т.д. в Clojure REPL (процесс JVM) при выполнении из командной строки. Это просто волшебным образом работало и работало хорошо, поэтому я не стал исследовать что-то еще.