September 21, 2026
Bend cuts features to preserve AI context: the core and compiler are contained within 108 000 tokens
Victor Taelin merged 5 of 55 submissions in a week and asks people to send ones that make the code shorter.

Taelin
@victortaelin
Folks, I get more PRs than I can keep up with reviewing. The main thing: a feature working is not, by itself, a reason to merge it. Even if the code were perfect and bug-free (and that is hard to verify), there is still a size ceiling. We have already passed 100k ttok, and that is worrying. And even if the ceiling did not keep rising, every new feature is code we have to maintain forever. We do not have the capacity to support new features (yet). The current size is good because the entire kernel and compiler fit into an AI context window, with room left for it to work comfortably. That really helps with refactoring, asking questions about the codebase, auditing it, and finding bugs. So we cannot grow much beyond where we are now. Formalization still has not caught up with the current implementation either, and we are already hitting issues. Every inconsistency bug has come from features we did not have time to formalize (such as templates), and the more we add, the longer it takes to catch up. Adding a feature is not hard; we had U64 and F64, but removed them to keep the implementation under control. Perhaps the right approach is to add such things as extensions detached from the core, but I am not sure, so I will wait until I decide. By the way, if you want to make an excellent contribution that I will most likely merge: make the code SHORTER. Not by cutting comments or minifying it, but by finding a genuine opportunity to simplify. An abstraction that makes the code fundamentally more reliable and better structured, reduces its size, while removing no features and breaking no tests or benchmarks. There are plenty of duplicate concepts and stupid or incorrect abstractions, especially in the compiler. Untangling those is much more enjoyable for me than receiving any feature. We have already received several PRs, and none had a negative line count. Please send negative PRs. Sorry for the wall of text, it is 2 a.m. and there is too much to keep in my head 😐
· 37.5K views
Of the 55 pull requests submitted to Bend in a week, language creator Victor Taelin merged five. He closed forty-one without merging.
It is not about code quality. Taelin keeps the repository small enough for the entire language to fit in an AI model's context window, and every new feature breaks that limit.
Bend 2.0.0 launched on 17 September; within five days, the changelog had reached version 2.0.24. The repository has 22 186 stars and 651 forks, hence the stream of submissions.
Why Bend cannot grow
The ceiling is machine-set. The gates/repo.ts gate checks size: every tracked file must be on the allow-list and fit within its own cap. The bend2/bend.ts core is allocated 43 000 tokens, the bend2/comp.ts compiler 65 000, the standard library 32 000, the CLI 10 000 and the README 3 000. The gate marks a file outside the list or over its cap as FAIL.
The core and compiler together total 108 000 tokens, and the project has already crossed the 100 000 mark. As long as the entire language and compiler fit in a model window, it has room left to work: refactoring, code questions, audits and bug hunting can cover the whole codebase at once.
This has happened before. U64 and F64 were in the language, but were removed to save space. On 20 and 21 September, the same logic affected finished work: a VS Code extension with grammar and formatter, the compiler's LSP, a checklist before filing an issue, and DNS.resolve via getaddrinfo.
The second debt sits in proofs. The core's Lean formalization lives in bend2/bend.lean and has fallen behind the code; the README's limitations state the mismatch outright. Every consistency bug came from features that had not been formalized in time, such as patterns.
What contribution will be merged
A negative PR. Taelin asks for code reductions not by cutting comments, but through genuine simplification: an abstraction that makes the code more robust and structured, reduces its size without removing a single feature or breaking any test or benchmark. According to him, the compiler has the most duplication and failed abstractions.
A closed submission does not mean discarded code. Two PRs by Matt Kosendey were closed without merging on 21 September, but changelog 2.0.24 names him: the literal was consolidated into a single Lit node, and 50 definitions of 1000 characters now check in 0,14 seconds and 74 MB instead of 4 seconds and 2,6 GB.
The project's rejections are collected in WONTFIX.txt. The CAPACITY section says a small team keeps the language at a size it can maintain. Windows, Vulkan and gcc have already been sent there.
None of the submitted PRs has reduced the codebase so far.
Taelin is considering moving excess features into extensions detached from the core, and has postponed the decision.
