Implemented · v0.5.0-preview.5

The ZBL language

An indentation-based language with static types, readable tasks and multiple execution engines.

Zero Boundary Language combines top-level scripts with typed tasks, records and tagged choices. Bindings can infer their types locally. The checker resolves modules and types before execution.

The Zebvix CLI selects interpreter, bytecode or native execution explicitly. Native compilation covers a narrower experimental subset on Windows x64.

easy

examples/easy/src/main.zbl · v0.5.0-preview.5 · interpreter, bytecode

ZBL source
needs console
name = "Zebvix"
task welcome(user: text):
    show "Welcome " + user
welcome(name)
total = 0
repeat value in [10, 20, 30]:
    total = total + value
show total

task test_total():
    assert(1 + 2 * 3 == 7)
Recorded output
Welcome Zebvix
60