Ecosyste.ms: Awesome
An open API service indexing awesome lists of open source software.
https://github.com/Bridgewater/scala-notebook
Interactive Scala REPL in a browser
https://github.com/Bridgewater/scala-notebook
Last synced: 3 months ago
JSON representation
Interactive Scala REPL in a browser
- Host: GitHub
- URL: https://github.com/Bridgewater/scala-notebook
- Owner: Bridgewater
- License: other
- Created: 2013-03-13T22:07:09.000Z (over 11 years ago)
- Default Branch: master
- Last Pushed: 2022-05-18T23:07:19.000Z (over 2 years ago)
- Last Synced: 2024-05-13T22:55:14.337Z (6 months ago)
- Language: JavaScript
- Size: 3.08 MB
- Stars: 741
- Watchers: 79
- Forks: 155
- Open Issues: 36
-
Metadata Files:
- Readme: README.md
- License: COPYING
Awesome Lists containing this project
README
Scala Notebook
==============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 MathematicaWhile I think this tool will be helpful for everyone using Scala, I expect it to be particularly valuable for the scientific and analytics community.
Using Scala Notebook
----------------------## Building From Source
* To build and run from SBT, type```scala
project server
run
```![Alt text](http://i.imgur.com/8wnrP34.png)
Development
-----------[![Build Status](https://secure.travis-ci.org/Bridgewater/scala-notebook.png?branch=master)](http://travis-ci.org/Bridgewater/scala-notebook)
### IDE Setup
* 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.
### Overview
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*### Architecture
* Server
* Kernel(s)
* Widgets