tags:

views:

199

answers:

1

I want to be be able to manipulate objects in memory in my Java app interactively for debugging purposes. I would quite like to do this using Scala's 2.8 interpreter, taking advantages of its features like tab-completion. How do I do this?

+1  A: 

See Josh Suereth's Embedding the Scala Interpreter.

You can see the auto-complete suggestions below.

josh@suereth-desktop:~/projects/blog/embed-the-interpreter$ java -jar target/embedded-interpreter-0.1-SNAPSHOT-jar-with-dependencies.jar 
Welcome to Awesomeness!
This is my version of the Scala interpreter
TestInterpreter> j

java javax jline

I think he also implemented the feature into Scala IDE for Eclipse so you also take a look at that. The latest is available online.

I wanted to run Scala code as part of testing, so I've implemented CompilerMatcher following his article.

eed3si9n