https://github.com/objectionary/reo
Experimental virtual machine for EO programs
https://github.com/objectionary/reo
compiler eolang oop rust virtual-machine xmir
Last synced: 6 months ago
JSON representation
Experimental virtual machine for EO programs
- Host: GitHub
- URL: https://github.com/objectionary/reo
- Owner: objectionary
- License: mit
- Created: 2022-07-29T17:35:52.000Z (about 3 years ago)
- Default Branch: master
- Last Pushed: 2025-04-14T02:07:58.000Z (6 months ago)
- Last Synced: 2025-04-14T03:24:04.571Z (6 months ago)
- Topics: compiler, eolang, oop, rust, virtual-machine, xmir
- Language: Rust
- Homepage:
- Size: 589 KB
- Stars: 9
- Watchers: 2
- Forks: 1
- Open Issues: 14
-
Metadata Files:
- Readme: README.md
- License: LICENSE.txt
Awesome Lists containing this project
README
[](https://www.elegantobjects.org)
[](https://www.jetbrains.com/idea/)[](https://github.com/objectionary/reo/actions/workflows/cargo.yml)
[](https://crates.io/crates/reo)
[](https://www.0pdd.com/p?name=objectionary/reo)
[](https://codecov.io/gh/objectionary/reo)
[](https://hitsofcode.com/view/github/objectionary/reo)
[](https://github.com/objectionary/reo/blob/master/LICENSE.txt)**ATTENTION**: It's a very early draft currently in active development!
Most probably it doesn't work. Don't try to contribute, unless you know
what you are doing.It's an experimental virtual machine of [EO](https://www.eolang.org) programs,
represented as [SODG](https://github.com/objectionary/sodg) graphs.First, install
[Rust](https://www.rust-lang.org/tools/install),
[npm](https://docs.npmjs.com/downloading-and-installing-node-js-and-npm),
[Java SE](https://www.oracle.com/java/technologies/downloads/),
and [eolang](https://www.npmjs.com/package/eolang) package.
Then, install `reo` package:```bash
$ cargo install reo
```Then, create a simple EO program in `app.eo` file:
```
[] > app
QQ.io.stdout > @
"Hello, world!\n"
```Then, compile it to SODG using [eoc](https://github.com/objectionary/eoc):
```
$ eoc sodg
```Finally, run it:
```
$ reo --eoc dataize app
```You should see the "Hello, world!" being printed out.
## How to Contribute
First, install [Rust](https://www.rust-lang.org/tools/install) and then:
```bash
$ cargo test -vv --release
```If everything goes well, an executable binary will be in `target/release/reo`:
```bash
$ target/release/reo --help
```Then, fork repository, make changes, send us a [pull request](https://www.yegor256.com/2014/04/15/github-guidelines.html).
We will review your changes and apply them to the `master` branch shortly,
provided they don't violate our quality standards. To avoid frustration,
before sending us your pull request please run `cargo test` again.