10 releases
0.0.13 | Apr 20, 2023 |
---|---|
0.0.12 | Apr 19, 2023 |
#1 in #r7rs
12MB
155K
SLoC
rmosh
rmosh is a Rust implementation of the Mosh Scheme interpreter, which was originally written in C++. It supports all of the features in R7RS small and R6RS standards. Please note that rmosh is currently in its alpha stage.
Features
Feature | Supported |
---|---|
R6RS | Yes |
R7RS small | Yes |
R7RS vectors | Yes |
Regexp | Yes |
Client socket | Yes |
Server socket | No |
Multiprocess | No |
FFI | No |
Repository
The project is hosted at https://github.com/higepon/mosh/tree/master/rmosh.
Crate
The rmosh crate is available at https://crates.io/crates/rmosh/.
Trying rmosh
For most Rust users, the easiest way to try rmosh is by running the following command:
cargo install rmosh
Build Instructions
To build rmosh from source, follow these steps:
-
Clone the repository:
git clone https://github.com/higepon/mosh.git cd mosh/rmosh
-
Build the project using Cargo:
cargo build --release
Installation
To install rmosh after building from source, follow these steps:
-
Install the binary with the following command:
cargo install --path .
-
Make sure the installation directory is in your PATH.
Running Tests
To run all the tests, simply execute the following command in the project directory:
make test
Limitations and Contributions
Although rmosh passes the R6RS and R7RS tests, there are still some features to be implemented. You may find todo!()
or panic!()
macros throughout the codebase, indicating areas where your help would be appreciated. Please feel free to submit pull requests to improve the project.
Dependencies
~10–20MB
~300K SLoC