Voyd
Voyd is a language for building WebAssembly programs with a small surface area, strong type checking, and a runtime model that stays close to the generated code.
fn fib(n: i32) -> i32
if n < 2:
n
else:
fib(n - 1) + fib(n - 2)
pub fn main() -> i32
fib(10)Design goals
- Read like a high-level language.
- Compile like a systems language.
- Keep package boundaries and effects explicit.
- Make macros, traits, and Wasm-facing code practical instead of ornamental.
Start here
Feature map
- Structural and nominal types.
- Traits with default methods.
- Algebraic effects with typed handlers.
- Macros for surface-language features such as
enumandfor. - A package/module system built around
src/andpkg.voyd.
Installation
npm i -g @voyd/cliThe installed command is voyd. When working inside the Voyd repository after
npm link, the vt command points at the development CLI entrypoint.