randallb.comRandall Bennett

Projects

Bel in WebAssembly

A Rust-hosted Bel bootstrap and a compiler written in Bel that produces standalone WebAssembly modules.

Experiment

What you can explore

Explore the interpreter, a small boolean compiler, recursive list functions, and an expression emitter. The compiler supports documented subsets of Bel; the host is not a complete Bel implementation.

The compiler makes its compilation decisions in Bel. A small Rust host provides the bootstrap, and WABT assembles the generated WebAssembly text. Generated modules run through standard WebAssembly APIs.

Run it locally

Requires Rust 1.95.0, Python 3, Node/npm. Commands run from the extracted bundle’s root.

cargo build --locked -p bel-rust-repl --bins
cargo run --locked -p bel-rust-repl

See the README for complete commands, checks, and limitations.

Inspect and build on it

The source is hosted here as readable files and a downloadable bundle, with its original attribution and a standalone setup. The machine-readable manifest lists every file and its SHA-256 hash.

Apache License 2.0; see the included LICENSE and attribution files.