Zest: a programming language for malleable and legible systems
Published on: 2025-07-13 12:50:24
Zest is a (very wip) programming language for building systems that are both malleable and legible.
The goal is to:
Support the interactivity and liveness of systems like emacs without giving up on civilized luxuries like static typing, early binding, jump-to-definition, load-order independence etc.
Support the kinds of interactions I explored in research prototypes like eve and imp but from the well-trodden ground of a mostly-familiar imperative language.
A good place to start reading is docs/rationale.md. You can also find more notes at scattered-thoughts.net/#zest.
status
Basic control flow, arithmetic, comparisons, functions etc work. Break/continue/return are missing Mutually recursive functions are not supported yet (the interaction with staging is tricky, see #1).
There are 2nd-class mutable references, but dynamic/static prevention of aliasing is incomplete.
The type system, specialization, and compile-time evaluation more or less work, but the ergonomics could be impro
... Read full article.