beelang-v0.1.0
Changelog
All notable changes to BeeLang are documented here. The format is based on
Keep a Changelog, and this project
adheres to Semantic Versioning.
[v0.1.0] — 2026-08-06
The first public release of BeeLang — a small, friendly scripting language with
a built-in native (LLVM) JIT. 🐝
Language
- Dynamically-typed values:
nil, booleans, numbers (64-bit float), strings,
lists, and dicts. - Variables with
let, lexical scoping, and block/function/loop scopes. - Full operator set: arithmetic, comparison, logical (
and/or/notwith
&&/||/!aliases), and compound assignment (+=,-=,*=,/=). - Control flow:
if/else if/else,while, C-stylefor, and
for … inover lists, strings, and dicts, plusbreak/continue. - First-class functions and closures.
- Classes with single inheritance (
extends),this,super, aninit
constructor, and a customizablestr()for printing. - A module system:
import,import … as,from … import, and
from … import *, resolved relative to the file and a siblinglib/folder. - Error handling with
try/catch/finallyandthrowof any value. - Two comment styles (
#and//) and an optional statement terminator (;).
Runtime & performance
- Compact C++17 runtime with no required third-party dependencies.
- Built-in LLVM ORCv2 JIT (enabled by default when LLVM 17/18 is present):
functions within a numeric subset are compiled to native code operating on
unboxed doubles, transparently falling back to the runtime for everything
else.fib(32)drops from ~11 s to ~0.014 s. bee --version/-vandbee --help/-h.
Standard library (no imports required)
- I/O:
print,write,input. - Conversion & inspection:
len,type,str,repr,num,int,
bool. - Math:
abs,floor,ceil,round,sqrt,pow,min,max,
range. - Files:
read_file,read_lines,write_file,append_file,
file_exists,remove_file,make_dir,list_dir. - Time & randomness:
clock,time,now,format_time,sleep,
random,random_int,random_range,random_choice,random_seed. - Environment & processes:
env,set_env,args,exec. - Threads:
spawn/joinwith a global interpreter lock (GIL) — safe
shared state and real overlap for I/O-bound work. - Type methods for strings, lists, and dicts (
upper,split,push,pop,
keys,has,get, …).
Tooling & packaging
Makefilebuild with automatic LLVM JIT detection and an overridable
VERSION.- Debian/Ubuntu
.debpackage (packaging/build-deb.sh)
built with the JIT; dependencies are auto-detected. - Windows installer (
packaging/windows/) via Inno
Setup — addsbeetoPATH, associates.be/.beefiles, and registers
an uninstaller. - GitHub Actions release workflow that builds both packages and publishes
them on a version tag.
Editor support
- VS Code extension (
editors/vscode-bee/) with
syntax highlighting, completions (keywords, built-ins, type methods, and file
symbols), hovers, snippets, and a bee icon for.be/.beefiles.
Documentation & examples
- Full language reference.
- A topic-by-topic set of 14 runnable examples.
Known limitations
- The Windows installer ships an interpreter-only build (no JIT yet).
- The
.debrequireslibllvm18, available on Ubuntu 24.04 and newer. - No anonymous/lambda functions — pass named functions (e.g. to
spawn).
🐝 BeeLang VS Code Extension v0.1.0
The first official release of the BeeLang Visual Studio Code extension.
Features
- BeeLang syntax highlighting
- Basic language support
- Improved editing experience for
.beefiles - Easy installation via the provided
.vsixpackage
Installation
- Download
beelang-0.1.0.vsixfrom the release assets. - Open Visual Studio Code.
- Go to Extensions (
Ctrl+Shift+X). - Click the ... menu → Install from VSIX...
- Select
beelang-0.1.0.vsix.
Or install from the command line:
code --install-extension beelang-0.1.0.vsix