I built Whispem, a small interpreted programming language implemented in Rust.
The goal was not to be fast or feature-rich, but understandable. Every feature must justify its existence, and the whole language should be small enough to reason about end-to-end.
Whispem currently has: • 14 keywords • 9 built-in functions • 4 core types
The implementation is a straightforward tree-walking interpreter (lexer → parser → AST → interpreter), written in pure Rust with zero external dependencies.
The intent is that: • the language semantics are easy to explain • the runtime behavior is easy to follow • and the entire codebase can be read and understood without jumping through abstractions
I’m particularly interested in feedback on: • whether the minimal feature set feels coherent or incomplete • design tradeoffs in keeping semantics simple vs. expressive • whether a language like this could be useful for teaching programming or language implementation
Repo: https://github.com/whispem/whispem-lang
Thanks for taking a look — happy to answer questions or discuss design decisions. I’m especially interested in constructive feedback on the language design, the interpreter structure, and any edge cases or inconsistencies you notice while reading or trying it.