y

The ysc language

A lightweight scripting language with a register-based VM, NaN-boxed values, closures, async/await, and a novel failure handling system — no try/catch, no semicolons.

Get Started Try Online GitHub →

Language Guide

Functions, closures, control flow, modules, error handling, and async/await — everything you need to write ysc.

Standard Library

print, str, len, time, sleep, fetch, and built-in methods for strings, numbers, objects, and lists.

Playground

Run ysc in your browser with syntax highlighting, AST viewer, and bytecode disassembler — no install needed.

GitHub

Built in Rust, compiled to WASM. Open source under MIT license. Contributions welcome.

Quick Example

hello.ys
fun fib(n) {
  if n < 2 {
    ret n
  } else {
    ret fib(n - 1) + fib(n - 2)
  }
}

print("fib(10) = " + fib(10))