Solución limpia para dejar caer en la consola REPL en medio de la ejecución del programa

¿Hay alguna solución de trabajo para caer en la consola REPL con Scala 2.10?

Esto es principalmente para fines de depuración: quiero hacer una pausa en el medio de la ejecución y tener una consola REPL donde puedo inspeccionar valores y probar la lógica del programa usando expresiones complejas dentro de mi programa en el estado actual de ejecución. Los que han programado en Ruby pueden conocer una función similar: labinding.pry.

AFAIK, Scala 2.9 y menores solían tenerbreakIf pero se ha eliminado de las versiones posteriores. UtilizandoILoop parece ser la nueva forma, pero presenta problemas debido asbt no agregando scala-library al classpath.

Varias soluciones comoesta yesta parece ofrecer una buena solución, pero mi punto es que debe haber una solución en la que no tenga que pasar horas o incluso días solo para que el REPL funcione.

En resumen, hay muchos más pasos repetitivos involucrados, esto está en contraste conbinding.pry que es solo una línea de código sin repetitivo adicional.

No sé si hay un problema introducido al ejecutar el programa como una tarea sbt en lugar de si ejecuta el programa ejecutable directamente, pero para fines de desarrollo actualmente estoy ejecutando y probando mi programa usando la tarea sbt.

Respuestas a la pregunta(2)

Su respuesta a la pregunta