Preparing the ZBL download portal…
Preparing the ZBL download portal…
Browse archived v0.2 documentation ↗
18 matching sections
ZBL is Zero Boundary Language. Indentation groups blocks. Use task for a function, give for a return value and show for output. when and otherwise branch, repeat iterates, and attempt handles recoverable errors.
Create a project with Zebvix, then check, run and test it. These commands use the SDK selected by the bootstrap CLI.
zebvix new hello
cd hello
zebvix check
zebvix run
zebvix testUse i64, bool, text, typed Lists and text-keyed Maps. Define records with shape and tagged alternatives with choice. Functions can use concrete generic specializations. Projects use zebvix.toml and local packages with dependency locks.
ZBLC resolves modules, specializes generics and checks types before lowering verified IR. Bytecode and native engines run through explicit CLI selection. The AST interpreter remains a separate engine.
ZBR verifies ZBC2 bytecode and applies execution budgets. Native ABI v3 supports nested immutable values and tagged matching. move_value consumes a source binding. General borrowing and packed mutable byte buffers remain pending.
Windows x64 native builds use external LLVM-MinGW Clang. Debug uses O0 and release uses O2. Unsupported operations return a diagnostic. Numeric parallel_map runs pure bounded tasks with ordered results.
zebvix build --target native --release
zebvix run --engine nativeThe internal SDK contains the Zebvix CLI, embedded compiler and runtimes, standard library sources, examples, editor integration and multi-size icons. Native compilation requires a separately installed compiler.
Install with the matching local bootstrap, CLI, manifest and archive. Add --file-associations to register per-user Open With choices. Windows Settings controls default apps. The bytecode viewer uses inspect to validate metadata.
The packaged native-structured example combines a shape, nested map, tagged branch and parallel task. Its output was checked in all three engines.
shape Row:
label: text
values: List[i64]
choice Answer:
Ready(row: Row)
Missing
task square(x: i64) gives i64:
give x * x
rows: Map[text, List[Row]] = {}
values = parallel_map("square", [3, 2, 4], 2)
rows = put(rows, "numbers", [Row("native", move_value(values))])
result = Answer.Ready(rows["numbers"][0])
choose result:
case Missing:
show "missing"
case Ready(row):
show row.label
repeat value in row.values:
show value
The packaged http-loopback example uses interpreter handlers with HttpRequest and HttpResponse values. The server accepts bounded GET and POST requests with JSON responses on 127.0.0.1. One connection runs at a time. PostgreSQL, TLS and production concurrency remain pending.
zebvix serve 8080 10 GET:/health:health POST:/echo:echoCompile a single-file transition task in the browser Contract Playground or use Zebvix to build an offline ZCT artifact. Studio and Zebvix share the ZBR simulation engine. Share links store source in the URL fragment.
zebvix contract build counter.zct
zebvix contract simulate counter.zct 40 2 -1 1A separate offline fixture verifies signed ZBX V3 transaction replay and recovery against ZBVM v1. Live validator activation and chain deployment remain pending. Local SDK ZCT artifacts execute in ZBR.
Studio v0.3.2 includes replay receipt verification in the contract workbench, Git diff and single-file staging, the command palette, workspace trust, and native terminals. It bundles SDK preview.5. Hosted collaboration and marketplace remain planned.
Next work includes source borrowing, a distributable native toolchain, concurrent HTTP, PostgreSQL, packed buffers and measured cross-language workloads.
Internal previews have immutable filenames and SHA-256 metadata. SDK preview.5 and Studio v0.3.2 are staged for local review. Unsigned preview downloads are limited to the opt-in localhost portal.
The current preview omits general source borrows, native filesystem/network effects, public HTTP binding, PostgreSQL, UI rendering and a bundled Clang toolchain. Full Rust and Go benchmark comparisons are pending.
The SDK verifies bytecode and archive integrity, bounds runtime work and separates native task heaps. HTTP rejects ambiguous request framing. Unsigned offline manifests provide integrity without publisher authentication.
ZBL is a Rust-bootstrap language project with the Zebvix developer CLI. The Windows SDK and its portal track experimental features and their verification evidence.