# ilo > Token-optimised programming language for AI agents. Prefix notation, strongly typed, verified before execution. Roughly 0.33x the tokens and 0.22x the characters of equivalent Python. The intended author of an ilo program is an LLM. Type errors return compact codes (e.g. ILO-T004) rather than stack traces. This file follows the [llms.txt](https://llmstxt.org) convention. Full content at [/llms-full.txt](https://ilo-lang.ai/llms-full.txt). Machine-readable language manifest at [/spec.json](https://ilo-lang.ai/spec.json). ## Key resources - [GitHub](https://github.com/ilo-lang/ilo): source code and issues - [Crates.io](https://crates.io/crates/ilo): Rust install - [npm](https://www.npmjs.com/package/ilo-lang): Node install - [Spec on GitHub](https://github.com/ilo-lang/ilo/blob/main/SPEC.md): canonical language spec - [Wiki tutorial](https://github.com/ilo-lang/ilo/wiki): 10-lesson walkthrough ## Reference - [Benchmarks](https://ilo-lang.ai/docs/reference/benchmarks/): Use this when comparing ilo runtime performance against other languages or across engines. - [CLI Reference](https://ilo-lang.ai/docs/reference/cli/): Use this when looking up an ilo CLI flag, subcommand, or invocation form. - [Optional Contracts](https://ilo-lang.ai/docs/reference/contracts/): Optional req/ens clauses for lightweight precondition checking. Prototype, pattern-based. - [Diagnostics](https://ilo-lang.ai/docs/reference/diagnostics/): Use this when you need to decode an ILO-* error code, understand fixSafety, or look up a repair plan. - [Effects](https://ilo-lang.ai/docs/reference/effects/): Compile-time side-effect sigils (/http /fs /io /net /ml /time /rand) for static capability tracking in ilo. - [Engines](https://ilo-lang.ai/docs/reference/engines/): Use this when you need to pick or understand an ilo execution engine (VM, JIT, AOT). - [Error Handling](https://ilo-lang.ai/docs/reference/error-handling/): Use this when handling Results, optionals, auto-unwrap with `!`, or nil-coalesce with `??`. - [Gotchas](https://ilo-lang.ai/docs/reference/gotchas/): Use this when something parses unexpectedly or you hit a common ilo trap. - [Guards & Control Flow](https://ilo-lang.ai/docs/reference/guards/): Use this when expressing conditional logic without nesting (replaces if/else). - [Imports](https://ilo-lang.ai/docs/reference/imports/): Use this when splitting an ilo program across multiple files. - [Language Reference](https://ilo-lang.ai/docs/reference/language/): Use this when you want the authoritative ilo language spec or an index of every reference page. - [Loops](https://ilo-lang.ai/docs/reference/loops/): Use this when iterating with foreach, range, while, or controlling flow with `brk` and `cnt`. - [Memory Model](https://ilo-lang.ai/docs/reference/memory-model/): Use this when reasoning about ownership, copying, and how ilo manages memory compared to Rust, Zero, and Go. - [Pipes](https://ilo-lang.ai/docs/reference/pipes/): Use this when chaining transforms left-to-right with the pipe operator. - [Prefix Notation](https://ilo-lang.ai/docs/reference/prefix-notation/): Use this when writing arithmetic, comparisons, or any operator expression in ilo. - [Primitives](https://ilo-lang.ai/docs/reference/primitives/): Use this when you need to look up an ilo type sigil or scalar/literal form. - [The REPL](https://ilo-lang.ai/docs/reference/repl/): Use this when running an interactive ilo session for experimenting or prototyping. - [The Server](https://ilo-lang.ai/docs/reference/serv/): Long-lived JSON request/response loop for agent integration. Use this when an agent or tool wants to compile, check, run, or trace ilo programs without spawning a new process per request. - [Syntax Experiments](https://ilo-lang.ai/docs/reference/syntax-experiments/): Use this when researching syntax design decisions; nine variants benchmarked against Claude Haiku. - [Shadow Test Blocks](https://ilo-lang.ai/docs/reference/tests/): Compile-time self-verification for ilo functions. Assert expected return values before running. - [Tool Policies](https://ilo-lang.ai/docs/reference/tools/): Runtime safety limits on tool calls. Optional policy{domain,tokens,rate} block in tool declarations. - [Transpile](https://ilo-lang.ai/docs/reference/transpile/): Compile an ilo program to JavaScript or Python source. Use this when you need to run ilo logic in a JS or Python runtime - browser, Node, embedded Python, or any non-ilo host. - [Types & Functions](https://ilo-lang.ai/docs/reference/types-and-functions/): Use this when declaring functions, return types, or working with ilo's type sigils. ## Builtins - [Collections](https://ilo-lang.ai/docs/builtins/collections/): Use this when working with lists, maps, or other collection operations. - [Crypto and encoding](https://ilo-lang.ai/docs/builtins/crypto/): Use this when hashing, signing, encoding, or verifying secrets in ilo. Covers sha256, hmac-sha256, b64u, urlenc, hex, and ct-eq. - [Data & I/O](https://ilo-lang.ai/docs/builtins/data-io/): Use this when reading or writing files, parsing CSV/JSON, or accessing environment variables. - [HTTP and process](https://ilo-lang.ai/docs/builtins/http/): Use this when making HTTP requests, spawning child processes, or wiring external endpoints as typed ilo functions. - [Numbers](https://ilo-lang.ai/docs/builtins/numbers/): Use this when doing arithmetic, comparisons, aggregation, or numeric conversions. - [Text](https://ilo-lang.ai/docs/builtins/text/): Use this when concatenating, formatting, splitting, searching, or matching strings. - [Tools](https://ilo-lang.ai/docs/builtins/tools/): Use this when integrating ilo with MCP servers, Agent Skills, or JSON-mode for agent-driven sessions. ## Ecosystem - [Languages for AI agents](https://ilo-lang.ai/docs/ecosystem/languages-for-agents/): Programming languages designed for AI agents, by camp, with activity as of August 2026. - [Ways to be token efficient](https://ilo-lang.ai/docs/ecosystem/token-efficiency/): Token-efficiency techniques across the agent stack, by category, with projects and links. ## Learn - [Real-World Examples](https://ilo-lang.ai/docs/learn/examples/): Practical ilo programs for common tasks - [Getting Started](https://ilo-lang.ai/docs/learn/getting-started/): Use this when you want a single page that takes you from install to your first multi-function ilo program. - [Install](https://ilo-lang.ai/docs/learn/install/): Use this when you need to install ilo on a specific platform (Claude Code, npm, macOS, Linux, Windows, source, or other agents). - [Introduction](https://ilo-lang.ai/docs/learn/introduction/): What is ilo and why does it exist? - [Learning Path](https://ilo-lang.ai/docs/learn/learn/): Use this when you want a guided progression from zero to fluent ilo, in order. - [Manifesto](https://ilo-lang.ai/docs/learn/manifesto/): Every programming language was designed for people. ilo is designed for AI agents.