A small/lightweight statically typed scripting language written in Zig
- Small in size and complexity (just a bit more than Lua though)
- Statically typed
- Unambiguous
- No nonsense coercion
- Fibers
- JIT compilation with MIR
- Tooling
- Generate doc from docblocks (in progress)
- VS Code extension
- Syntax highlighting
- LSP (in progress)
- Debugger and DAP (planned)
Latest zig version supported: 0.14.0-dev.2162+3054486d1
- Since this is built with Zig, you should be able to build buzz on a wide variety of architectures even though this has only been tested on x86/M1.
- Linux or macOS (Windows support is coming)
- libc
- zig master
- Clone the project:
git clone https://github.com/buzz-language/buzz <buzz_dir>
- Checkout submodules:
git submodule update --init
- Copy
pcre2_chartables
:
ln -s vendors/pcre2/src/pcre2_chartables.c.dist vendors/pcre2/src/pcre2_chartables.c
- Configure pcre2:
cd vendors/pcre2
./autogen.sh
./configure
cd ../..
- Have fun:
zig build run -- <myscript.buzz>
to run a script orzig build run
to start the REPL
# install locally at ~/.local
zig build -Doptimize=ReleaseSafe install -p ~/.local
# install globally at /usr/local
sudo zig build -Doptimize=ReleaseSafe install -p /usr/local
If you're usage if performance critical (game dev for example), you can build using -Doptimize=ReleaseFast
.
Remember to modify PATH to include the bin
directory where it is installed. For example, export PATH=PATH:/home/xxx/.local/bin
. You can then run buzz with buzz <myscript.buzz>
. Or you can simply run buzz
to start the REPL.
Additionally, install the VS Code extension to get syntax highlighting. If you don't use VS Code but your editor supports TextMate grammar files, you can use that.