Ecosyste.ms: Awesome
An open API service indexing awesome lists of open source software.
https://github.com/buzz-language/buzz
👨🚀 buzz, A small/lightweight statically typed scripting language
https://github.com/buzz-language/buzz
language zig
Last synced: 7 days ago
JSON representation
👨🚀 buzz, A small/lightweight statically typed scripting language
- Host: GitHub
- URL: https://github.com/buzz-language/buzz
- Owner: buzz-language
- License: mit
- Created: 2021-08-15T15:41:50.000Z (over 3 years ago)
- Default Branch: main
- Last Pushed: 2024-09-30T09:21:16.000Z (2 months ago)
- Last Synced: 2024-10-29T15:23:20.311Z (about 1 month ago)
- Topics: language, zig
- Language: Zig
- Homepage: https://buzz-lang.dev
- Size: 8.34 MB
- Stars: 1,228
- Watchers: 16
- Forks: 34
- Open Issues: 81
-
Metadata Files:
- Readme: README.md
- Changelog: CHANGELOG.md
- Funding: .github/FUNDING.yml
- License: LICENSE
Awesome Lists containing this project
- awesome-programming-languages - Buzz - A small/lightweight statically typed scripting language written in Zig. (Uncategorized / Uncategorized)
- awesome-zig - buzz
- awesome-zig - buzz🗒️buzz, A small/lightweight statically typed scripting language (in development)
README
# 👨🚀 buzz
A small/lightweight statically typed scripting language written in Zig
## 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
- [Generate doc from docblocks (in progress)](https://github.com/buzz-language/buzz/blob/main/doc/index.md)
- [VS Code extension](https://marketplace.visualstudio.com/items?itemName=giann.buzz)
- Syntax highlighting
- LSP (in progress)
- Debugger and DAP (planned)## How to build and install
_Latest zig version supported: 0.14.0-dev.2162+3054486d1_
### Requirements
- 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
- zig master### Build
1. Clone the project: `git clone https://github.com/buzz-language/buzz `
2. Checkout submodules: `git submodule update --init`
3. Copy `pcre2_chartables`:
```bash
ln -s vendors/pcre2/src/pcre2_chartables.c.dist vendors/pcre2/src/pcre2_chartables.c
```
3. Configure pcre2:
```bash
cd vendors/pcre2
./autogen.sh
./configure
cd ../..
```
4. Have fun: `zig build run -- ` to run a script or `zig build run` to start the REPL### 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 you can simply run `buzz` to start the REPL.
Additionally, install the [VS Code extension](https://marketplace.visualstudio.com/items?itemName=giann.buzz) to get syntax highlighting. If you don't use VS Code but your editor supports [TextMate grammar files](https://github.com/buzz-language/code/blob/main/syntaxes/buzz.tmLanguage.json), you can use that.