I started ZenSigil because I wanted to make a language of my own. I wanted code that is easy to read and results that people can check. The first examples came from stock review. The language also works for other small data tasks.
ZenSigil takes JSON data and returns values, notes, or proposed actions. It has its own syntax and execution rules. Its interpreter is written in Python. Programs run locally without an AI service or an API key.
A small program
fn extra_places(registered: number, capacity: number) -> number:
return max(0, registered - capacity)
emit extra_places(23, 20)
test "Three extra places":
require extra_places(23, 20) == 3, "Expected 3."
This program returns 3. Its test checks the calculation. The same function can work with other registration and capacity values.
To run it, save the program as extra_places.zs in a clone of the repository. Use Python 3.9 or later:
python3 -m zensigil run extra_places.zs
VALUE 3
ZenSigil preview · 0 proposal(s) · 0 note(s)
Nothing was sent or purchased.
python3 -m zensigil test extra_places.zs
ZenSigil tests · 1 passed · 0 failed · 1 total
What can you use it for?
- Calculate summaries from JSON data.
- Check records against explicit rules and input contracts.
- Review event capacity, project budgets, or stock levels.
- Return action descriptions with the reasons for a person to review.
- Save a project with its modules and tests, then open it on another computer.
A proposed action is data. ZenSigil does not send messages, make purchases, or run external actions. A host application must handle any such integration separately.
How it is built
ZenSigil has a lexer, parser, binding checker, and interpreter. A lexer reads source tokens. A parser checks their structure. The checker finds name errors. The interpreter runs the program. The project also includes functions, closures, modules, loops, runtime type checks, tests, a local playground, and editor tools.
I develop ZenSigil with AI assistance from Codex and Claude. I use code review, automated checks, and small failure cases to test changes. The source and tests are public so other developers can inspect the work and report problems.
Current status
ZenSigil 0.8.0 is a public pre-release under the MIT license. It is experimental. Syntax and behavior can change before 1.0. It is ready for small local experiments and focused developer trials. It does not yet carry a stable compatibility promise or evidence of broad production use. It is not a security sandbox for untrusted programs.