SPACE.LA
◀ music select
personal / tool / active

Tumeric

A JavaScript-to-Rust transpiler written in Rust (core, runtime, CLI and test262 integration) that aimed to compile ECMAScript-compliant JavaScript to native code. I set it aside in favour of Tish, because JavaScript's scoping rules made the approach too complex.

BPM
174
GRADE
S
LEVEL
7
RELEASES
0
YEARS
2025–2026
Tumeric: Home
Home
Tumeric: Scrolled
Scrolled
Tumeric: Mobile
Mobile

The Bridge To A Language

Eight days after Anise ran out of road I started again, and this time I kept going. Tumeric was a JavaScript to Rust transpiler set up as a cargo workspace, with core, runtime, CLI, examples, dev tools and a test suite wired to test262. The goal was to take ECMAScript-compliant JavaScript and produce native code. It became the biggest thing I've ever written by myself.

When I stopped, I wrote down why: abandoned in favor of Tish, largely because of the never-ending JS scope issues that are an endless maze of fun. Compiling JavaScript faithfully means handling closures, hoisting, with, and everything else the language has.

So I switched to a subset of the language instead, and that became Tish: TypeScript-compatible, hybrid ahead-of-time and just-in-time, targeting native, JS, WebAssembly, LLVM, Cranelift and a Game Boy Advance. Tumeric was archived on June 5, 2026. Everything I've made since sits on top of Tish.

led to

  • tish2026JavaScript-to-Rust transpiler

history

  1. archived