Doppio is a double shot of espresso. In this case it's also a JVM written in Coffeescript.
To try Doppio now, head to the live demo page.
To learn more, head to the Doppio wiki.
You can also get in touch via our mailing list or via the IRC channel #plasma-umass on Freenode.
git clone https://github.com/int3/doppio.git
cd doppio
tools/setup.sh
If you have Homebrew, setup.sh will try to install a bunch of dependencies
automatically. Users of other package managers should check that they have:
node >= 0.10wgetgnu-sed(i.e. must support the-rflag; BSDseddoesn't)
Note for Ubuntu users: The packaged version of node.js is woefully out of date, so you'll need to either build it yourself or get it another way.
To run Doppio on localhost:
make dev
./tools/server.coffee --dev
To get the optimized release version:
make release
./tools/server.coffee --release
Then point your browser to http://localhost:8000/.
The code can also be run from the console. For example:
make dev-cli
node build/dev/console/disassembler.js classes/demo/Fib
# doppio-dev -> node build/dev/console/runner.js
./doppio-dev classes/demo/Fib
./doppio-dev classes/demo/Fib 7 # pass an argument to the JVM
./doppio-dev -jar my_application.jar # extract and run a JAR
To get the optimized version, use make release-cli. The build products can be
found in build/release, and the runtime can be invoked via ./doppio.
bundle exec guard -i -g release # automates `make release-cli`
bundle exec guard -i -g dev # automates `make dev-cli`
The front-end currently lacks an auto-rebuild system.
Run all tests:
make test -j4
Run a specific test, or test with different options:
node build/dev/console/test_runner.js -h
node build/dev/console/test_runner.js classes/test/Strings