buzz

# 👨‍🚀 buzz A small/lightweight statically typed scripting language written in Zig

buzz code example

HomepageDiscord

> [!WARNING] > buzz is in alpha and is **not** ready for any professional or production use ## Features - Small in size and complexity (just a bit more than Lua though) - Statically typed - Unambiguous - No nonsense coercion - [Fibers](#fibers) - JIT compilation with [MIR](https://github.com/vnmakarov/mir) - Tooling - [VS Code extension](https://marketplace.visualstudio.com/items?itemName=giann.buzz) - Helix support thanks to [tree-sitter grammar](https://github.com/buzz-language/tree-sitter-buzz) - LSP - DAP - Formatter - Package manager ## How to build and install ### Requirements - Zig 0.16.0 - 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](https://github.com/buzz-language/buzz/issues/74)) - libc ### Build 1. Clone the project: `git clone https://github.com/buzz-language/buzz ` 2. Checkout submodules: `git submodule update --init` 3. Build it `zig build -Doptimize=ReleaseSafe` 4. Have fun (with `BUZZ_PATH=./zig-out`) - `buzz` launches the REPL - `buzz ` to run a lone script - `buzz ` to run a buzz package - `buzz init` to start a buzz package ### Install ```bash # 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 ` or `buzz `. Or you can simply run `buzz` to start the REPL.