A more friendly, browser-based interactive Scala prompt (REPL).
Based on the IPython notebook project, this project will let you interact with Scala in a browser window, which has the following advantages over the standard REPL:
- Easy to view and edit past commands
- Commands can return HTML or images, allowing richer interactivity (charts, for example)
- Notebooks can be saved and loaded, providing a bridge between interactive REPL and classes in a project
- Supports mixing Scala expressions and markdown, letting you create rich, interactive documents similar to Mathematica
While I think this tool will be helpful for everyone using Scala, I expect it to be particularly valuable for the scientific and analytics community.
- To build and run from SBT, type
project server
run
- If you're using an IntelliJ project, note that by default IntelliJ will not include SSP files resources. Change settings in IntelliJ to to include '*' as resource extension.
Having the web server process separate from the process doing the evaluation is also important in Scala; we want to separate the user's actions from the web server, allowing a restart of the client process (after building new client libraries, for example).
To that end, the project is organized as follows:
- server is the web server
- common are the classes shared by both
- observable
- kernel
- subprocess
- Server
- Kernel(s)
- Widgets