Bbetlang

Install

Clone it, build it, that's the whole install.

clone it
$ git clone https://github.com/lukeyd/bet.git
build it
$ cd bet && cargo build --workspace
prove it
$ ./target/debug/bet run tests/corpus/01-basics/hello.bet

Those three commands up there are the whole thing. There’s no installer and no curl-pipe-bash script, because the repo is public and you just build it yourself. You’ll need the Rust toolchain; the bet CLI comes out of crates/driver and lands in target/debug/ like everything else Cargo touches.

No LLVM needed (mostly)

The default workspace build doesn’t touch LLVM at all. The interpreter (bet run) tags along as the correctness oracle and runs your .bet files without a native backend in sight. That’s what the “prove it” step is: hello.bet goes through the interpreter, prints hi, and never asks LLVM for anything. So if you just want to poke at the language, cargo build --workspace and you’re done.

Want native codegen?

cargo xtask setup-llvm

This checks your machine for LLVM 18, which the native backend needs to compile .bet down to actual machine code. It’s behind a non-default feature flag, so nothing breaks without it; you just stay on the interpreter until you’re ready to commit.

Once LLVM checks out, prove it for pong:

cargo xtask run pong

This builds the driver with the llvm feature plus the windowed runtime, compiles pong to a real machine-code binary, and runs it. Without LLVM 18 that build fails, which is why this step lives down here instead of up top with the other three.

From source (mandatory respect)

Brew, apt, scoop, winget: still cooking. When they land, they’ll ship the exact same compiler this build produces. You’re just early.