Safe by construction
Unsafe behaviour must be impossible to write, not merely discouraged.
Language models increasingly write code, and people increasingly review it. Most programming languages were designed for the opposite situation: a person typing every character, who benefits from generous syntax, many ways to say the same thing, and conventions that live in people's heads.
For a model that costs tokens and invites mistakes. For a reviewer it makes the real question hard to answer: what can this code actually do to the world outside the program?
If a model writes the code, then what matters to the human is behaviour: what the software does, what it is allowed to touch, and why it was built that way. Tessera is designed around those questions instead of around typing comfort.
This is for people who care about the functionality of software, not about the code itself.
When two choices are otherwise equal, Tessera picks the one that is higher on this list.
Unsafe behaviour must be impossible to write, not merely discouraged.
A reviewer, human or model, should see what a function can do from its signature.
Each concept has one syntax and one canonical formatting, so diffs stay small and predictable.
No implicit conversions, no hidden effects, no hidden mutation.
Where a widely known syntax exists, reuse it, unless it conflicts with the principles above.
Remove boilerplate, not words. Full words over symbols that are not universal.
Whether a syntax really helps a model is an empirical question, so the repository contains a measurement harness. It gives a model programming tasks and a language reference, compiles every answer, feeds compiler errors and failing tests back, and records pass rates, attempts and token cost for each syntax variant.
Compactness is measured with the intended model tokenizer, not by counting characters. Some choices in the language, such as leaving indentation out of the canonical layout, come out of those measurements.
A note declaration attaches the reason for a piece of code to the code itself, and the tooling preserves it. The compiler can export all notes as JSON, so review bots and documentation tools can read why code exists instead of guessing.
See what the language looks like, or read the design documents on GitHub.