Iyi shipped v0.20.1 on November 4. It is a Crystal-compatible compiled language with one rule that separates it from every other language announcement this year: the LSP server and the MCP server are in the compiler binary. Not plugins. Not optional installs. The binary.
The .iyimod Module System #
Every language that calls itself “AI-native” in 2026 means it has Python bindings or runs on a GPU. Iyi means something specific. Its central design rule: a module compiles against its dependencies’ declarations, never their bodies.
A .iyimod artifact packages three things — declarations, machine code, and a per-section checksum. Build once, ship the artifact, delete the source. The next build reads declarations and links. It does not parse bodies.
For agents, this translates directly. iyi mod context --json outputs declaration-only context at 52–59% of full source size. Models writing against it use 31–43% fewer prompt tokens. That is not a small optimization. That is the difference between fitting a codebase in a context window and not fitting it.
Other languages make agents read entire files to understand a function signature. Iyi does not.
MCP and LSP Are in the Binary #
No other language ships this way. iyi mcp exposes five Model Context Protocol tools over stdio. iyi lsp speaks Language Server Protocol the same way. Configuration required: none. Separate install: none.
- check — returns JSON with file, line, span, and a
suggested_editwhen the compiler knows the fix. Clean check exits 0, making the exit code the verdict. - fix — applies the suggested edit.
- test –affected — runs only the tests an edit can reach.
- run –sandbox — executes generated code against a sandboxed runtime.
- context — prints every import’s declarations with docs, no bodies.
The key point here is ownership. Iyi’s compiler owns the MCP tools, so check can return suggested_edit directly from the type-checker. A third-party plugin bolted onto another language cannot do that.
Crystal Compatibility #
New languages usually ask you to abandon your ecosystem. Iyi does not. The same compiler builds .cr files. iyi build --crystal gives the program Crystal‘s full standard library. require "kemal" in an .iyi file serves HTTP.
The team ran nine Crystal shards — kemal, db, ameba, sqlite3, radix, and others — through the compiler. They build. For Crystal and Ruby-ish developers, this is the lowest-friction path to experimenting with Iyi. For everyone else: if the language builds Crystal’s ecosystem, its stdlib foundations are solid.
Nine Targets, Including WASM #
CI cross-compiles against seven triples: Linux x86_64 and aarch64, macOS Intel and ARM, Windows MSVC and GNU, and wasm32-wasi. Concurrency runs on the native targets. The WASM target gets no concurrency runtime rather than a broken sequential imitation — an honest call.
Status: Early, Worth Watching #
55 GitHub stars. Syntax not stable. v0.20.1 was a stress-test bugfix round: a darwin server killed by SIGPIPE when a client reset before accept, a collector crash on M2 aarch64, compiler crashes around NoReturn blocks, and a stale Windows DLL in the build cache. The team found and fixed these quickly. But this is not production-ready for most teams.
The .iyimod approach is the right architectural bet for agentic programming. The decision to put MCP and LSP in the compiler binary — instead of leaving it to third-party tooling — sets the right precedent. Watch v0.21 for syntax stability signals. Experiment now if you are building agent tooling and want to see what this model feels like in practice.
curl -fsSL https://raw.githubusercontent.com/iyilang/iyi/master/install.sh | sh
~/.local/bin/iyi run ~/.local/share/iyi/samples/hello.iyi