2 releases

0.0.2 Nov 16, 2019
0.0.1 Oct 9, 2019

MIT license

1.5MB
47K SLoC

Dora

Join the chat at https://gitter.im/dora-lang/dora Actions Status

JIT-compiler for the programming language Dora implemented in Rust. Works on Linux, Windows and macOS (x86_64 and aarch64). Build with:

Compilation & Testing

Install Rust nightly through rustup.rs. Use the specific nightly version listed in the rust-toolchain file. Dora simply uses cargo for building:

# build in debug and release mode
cargo build && cargo build --release

# run all tests in debug and release mode (needs Ruby)
tools/test && tools/test-release # Linux and macOS
tools/test.bat && tools/test-release.bat # Windows

Note that the test runner is implemented in Ruby and therefore a Ruby interpreter needs to be installed on your system (e.g. brew/dnf/apt install ruby).

Working on the standard library

The standard library (stdlib) is included into the dora-binary at compile time. Changing the stdlib therefore requires recompiling Dora, even though the stdlib is written in Dora. In order to avoid this recompilation when working on the stdlib, simply pass your working directory of the stdlib to Dora using the --stdlib argument. With this parameter, Dora loads the stdlib from the specified directory instead of the one bundled in the executable.

Dependencies

~14MB
~335K SLoC