Our idea was that we’d create one REPL to rule them all: a shell demo that supports several different JVM-based languages simultaneously. It was an easy decision to use GWT to build the user-interface, making the terminal interface a cinch. Once we had the basic shell framework, we then added some languages: Beanshell, Clojure, Groovy, JavaScript, Python, Ruby, Scala, and Scheme.