Q. JavaのREPLってないの? A. あります!
GroovyはJavaの上位互換言語であり、インタラクティブシェルがあります。なので実質JavaのREPLとして使えます。
$ brew install groovy $ groovysh Groovy Shell (2.2.1, JVM: 1.7.0_45) Type 'help' or '\h' for help. --------------------------------------------------------- groovy:000> System.out.println("Hello") Hello ===> null groovy:000> import java.util.concurrent.*; ===> [import java.concurrent.util.*;] groovy:000> a = new CountDownLatch(10) ===> java.util.concurrent.CountDownLatch@6e30f80e[Count = 10] groovy:000> a.countDown() ===> null groovy:000> a ===> java.util.concurrent.CountDownLatch@6e30f80e[Count = 9]
Groovy shellはremote版もあるからAndroid実機につなげてREPLをできたらすごくいいな、と思ったんですが、GroovyはJVMバイトコードを生成して実行しているようで、本物のJVMじゃないと動かないようでした。残念。