woxi

Crates.iowoxi
lib.rswoxi
version0.1.0
created_at2025-05-08 20:33:24.89772+00
updated_at2025-05-08 20:33:24.89772+00
descriptionInterpreter for a subset of the Wolfram Language
homepage
repositoryhttps://github.com/ad-si/Woxi
max_upload_size
id1665804
size314,765
Adrian Sieber (ad-si)

documentation

README

Wordmark of Woxi

Woxi

A Rust-based interpreter for a subset of the Wolfram Language.

Features

The initial focus is to implement a subset of the Wolfram Language so that it can be used for CLI scripting. For example:

#!/usr/bin/env woxi

(* Print 5 random integers between 1 and 6 *)
Print[RandomInteger[{1, 6}, 5]]

Check out the CLI tests directory to see all currently supported commands and their expected output. All tests must pass with Woxi and WolframScript.

Check out the functions.csv file for a list of all Wolfram Language functions and their implementation status.

Woxi runs faster than WolframScript as there is no overhead of starting a kernel and verifying its license.

Installation

To use this Wolfram Language interpreter, you need to have Rust installed on your system. If you don't have Rust installed yet, you can get it from rust-lang.org.

Clone the repository and build the project:

git clone https://github.com/ad-si/Woxi
cd Woxi
cargo build --release

Usage

You can use the interpreter directly from the command line:

cargo run -- "1 + 2"

This will output: 3

CLI Comparison With WolframScript

Woxi WolframScript

woxi eval "1 + 2" | wolframscript -code "1 + 2" woxi run script.wls | wolframscript script.wls woxi repl | wolframscript

Contributing

Contributions are very welcome! Please feel free to submit a Pull Request.

Testing

To run the test suite:

make test

Related

Commit count: 109

cargo fmt