Voyd
Voyd is a high performance WebAssembly language with an emphasis on full stack web development.
fn fib(n: i32) -> i32
if n < 2:
n
else:
fib(n - 1) + fib(n - 2)
pub fn main()
fib(10)Disclaimer
Voyd is in it's very early stages of development. Voyd is not ready for production use. Some syntax and semantics are still subject to change. Expect frequent breaking changes.
Not all features are implemented. See tests in the github repo for the most up to date information on what features have been implemented.
Features:
- Functional
- Hybrid Nominal & Structural type system
- Algebraic effects
- First class wasm support
- Macros and language extensions
- Uniform function call syntax
Guiding Principles:
- Fun to write and read.
- Predictability
- Hackability
- Balance a great developer experience with performance
- Play nice with others
Getting Started
Install
npm i -g voydUsage Examples
# Run the exported main function
voyd --run script.voyd
# Compile a directory (containing an index.voyd) to webassembly
voyd --emit-wasm src > output.wasm
# Compile to optimized WebAssembly
voyd --emit-wasm --opt src > output.wasmRequirements
Currently requires node v22
# Or nvm
fnm install v22