Anise
Anise, a JavaScript/TypeScript-to-Rust compiler written in Rust: version 2 parses with oxc and emits Rust directly, replacing an earlier three-stage pipeline. It came just before Tumeric, and eventually Tish.
- BPM
- 165
- GRADE
- B
- LEVEL
- 6
- RELEASES
- 0
- YEARS
- 2025–2025
Four Days To A Compiler
Four days in the middle of May 2025 on a JavaScript to Rust compiler called Anise, under the project name gazpacho.
It went through two designs that week. Anise 1.0 was a three-stage pipeline: parse JS into a JavaScript AST, convert that to a Rust AST, and generate Rust from it. Anise 2.0 dropped the middle step and went straight from an oxc parse to Rust through a visitor. I kept the old version around for reference.
It came in the middle of a run of egui experiments: reactive bindings, a VS Code rhythm game, a virtual DOM for egui, an FFI layer, a Neon binding. Eight days after Anise came Tumeric, which took the same idea a lot further, until I decided JavaScript scoping was too much of a maze and I should design my own language. Anise was my first try at what turned into the next two years of work.
led to
- tish2026Anise, a JavaScript/TypeScript-to-Rust compiler