BioLang v0.3.0
BioLang v0.3.0
A big feature release: the phone-booth methods, the first stages of a
real LLVM compiler backend, request-model refinements, and packaging
overhaul. Built on v0.1.1 (v0.2.x was skipped).
Highlights
- Phone-booth methods —
@call(one booth per thread) and@ucall
(single global booth): fixed reusable memory regions, cleared and reused on
every call (zero allocation, zero fragmentation). Recursion is refused
(refused: phone-booth method X does not support recursion) — direct,
indirect and global-booth recursion all refused; ordinary methods recurse
freely. Example:examples/16-phonebooth.bio. - LLVM compiler backend (stages 1 & 2) — a real AST→LLVM IR→native
executable pipeline (bio llvm file.bio,make bio-llvm):- stage 1: arithmetic, control flow, methods (incl. recursion), printing;
- stage 2: the request model —
res/ref/get/cause/ALL,
refusal propagation through call chains, stream method calls
(Calc::div(...)), unified double number semantics (BioLang numbers are
doubles;10/3 = 3.33333like the interpreter), interpreter-matching
print formatting. - unsupported constructs report
not yet supported by LLVM backend.
- Annotations —
@read/@write(explicit read/write declarations that
beat AST heuristics),@onlyread(write methods refused),@unfork
(covers every fork path incl.Class+new). bio build -s/-m— build a standalone executable or package the
app + platform CLI + shared runtime into a distributable.img/.zip.- Memory limit flag
-m→-e(bio -e 256M file.bio);
BIO_MEM_LIMITunchanged. .imgv2 stores file permissions; native zip writer/reader
(STORE method, pure C, no externalzip/unzip— works on Windows).- Modulo
%now supported by the interpreter (fmod semantics). - Refusal forwarding fix —
resof a refused request now forwards the
refusal instead of silently swallowing it. - CIO print/println display refused results as
refused: <reason>. - Docs: README Packaging section, Wiki (7 languages, Language Reference,
BR/BTM formal models), all commits in English, AGENTS.md untracked.
Downloads
| Package | Platform |
|---|---|
BioLang-v0.3.0-linux-x86_64.tar.gz |
Linux x86-64 |
BioLang-v0.3.0-linux-arm64.tar.gz |
Linux aarch64 |
BioLang-v0.3.0-macos-x86_64.tar.gz |
macOS Intel |
BioLang-v0.3.0-macos-arm64.tar.gz |
macOS Apple Silicon |
BioLang-v0.3.0-win64.zip |
Windows x86-64 |
BioLang-v0.3.0-win32.zip |
Windows x86-32 |
BioLang-v0.3.0-win-arm64.zip |
Windows arm64 |
Each package contains a launcher (bin/bio or bin/bio.bat) and the shared
runtime in lib/ (libbio.so / libbio.dylib / bio.dll). The LLVM backend
(bio llvm) is built from source with make bio-llvm (requires LLVM).
Known limitations
Threadstream/Areastreamnot yet declarable as explicit stream types.- LLVM backend stage 3 (streams/classes/needs/smart refs/phone booths) is
future work; stage 1/2 covers arithmetic, control flow, methods, requests. - Windows/macOS Apple Silicon are experimental (see Platform support).
MIT © 2026 BioLang contributors