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.
This fork is an experimental version of Scala Notebook with the goal of being a Scala-based environment for doing mathematics.
It is more or less the master branch of Scala Notebook, but including the libraries Breeze and the
experimental Breeze-Bokeh. It also includes a Renderer[Plot]
object which allows Breeze-Bokeh plots to
be displayed.
This gives us an IPython-Notebook/Matlab/Mathematica style interactive environment for Scala.
Breeze-Bokeh is NOT FINISHED. It only has lineplots and scatterplots.
- 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