cbqn 0.1.2

Embed BQN in Rust via CBQN FFI
Documentation
# cbqn

A Rust crate for running [BQN](https://mlochbaum.github.io/BQN) code within a Rust program using [CBQN](https://github.com/dzaima/CBQN) interpreter shared object or WASI reactor.

# Building

## Native backend (libcbqn.so)

With the native backend (default), please make sure the libcbqn shared object can be found by rustc. For example, assuming `make shared-o3` build has been run in CBQN directory, running the tests for this crate require:

```
LD_LIBRARY_PATH=/path/to/CBQN RUSTFLAGS="-L /path/to/CBQN" RUSTDOCFLAGS="$RUSTFLAGS" cargo test
```

## WASI backend (BQN.wasm)

To build the WASI backend, point the `BQN_WASM` environment variable to the `BQN.wasm` file built with `make wasi-reactor-o3` CBQN makefile target. Disable default features and use `wasi-backend` feature. For example running the tests for this crate:

```
BQN_WASM=/path/to/CBQN/BQN.wasm cargo test --no-default-features --features=wasi-backend --release
```

# Usage

The [documentation](https://detegr.github.io/cbqn-rs/cbqn) contains multiple examples on how to use the crate.

# License

Licensed either under GPLv3, LGPLv3 or MPL 2.0 following the licensing of [CBQN](https://github.com/dzaima/CBQN/).