Tycho documentation
Guides to get you started. A reference for the language and corelib. A specification for the precise contract.
New to Tycho? Start with the tutorial, then explore the memory model and Thinking in Tycho.
Looking up syntax? Open the language reference. For the precise contract, use the specification.
Guide
- Tutorial
- Tycho documentation
- From `malloc` to implicit arenas
- Thinking in Tycho
- The memory model
- Quiet results — where Tycho answers instead of refusing
- Performance
- Platforms and toolchains, in detail
- Debugging generated C
- Architecture & project status
- The Tycho thesis: value semantics makes implicit arenas work
- Performance: the compiler and the C it emits
- Every gate must be able to fail
- Quickstart
Reference
- Arrays and slices
- Basics
- Builtins
- Concurrency
- corelib — Tycho's core library
- Enums, options, and `match`
- FFI (calling C)
- Functions and closures
- Generics
- Tycho language reference
- Maps
- Packages
- Strings
- Structs and tuples
- Subscripts (user-defined projections)
- Types
Specification
- 1. Scope and conformance · 2. Notation
- 3. Lexical structure
- 4. Grammar
- 5. Types
- 6. Type inference
- 7. Generics
- 8. Conversions and casts
- 9. Value semantics · 10. Object lifetimes and storage · 11. `inout`
- 12. Declarations, bindings, and scoping
- 13. Expressions
- 14. Statements and control flow
- 15. Functions
- 16. Arrays and slices · 17. Structs, tuples, `soa` · 18. Maps and subscripts · 19. Enums, `Option`, `Result`, `match`
- 20. The concurrency model · 21. `spawn`/`Task`/`wait` · 22. `parallel for` · 23. Channels and `select`
- 24. `extern` and the C boundary · 25. Typed handles · 26. FFI and concurrency
- 27. Program structure · 28. Packages and modules
- 29. Builtins
- 30. Defined runtime behavior and failure
- 31. The library contract · 32. Core-tier packages · 33. Extended-tier packages
- The Tycho language specification
- Appendix A — Collected grammar
- Appendix B — Keywords and contextual identifiers
- Appendix C — Operator precedence and associativity
- Appendix D — Builtin index
- Appendix E — Conformance test map
- Appendix F — Unspecified and implementation-defined behavior
- Appendix G — Glossary
- Appendix H — Differences from the reference documentation
Maintainer records
- 1.0 readiness
- FRICTION
- Internals
- The archived C compiler
- Security audit, 2026-08-16 — the whole threat model
- Defect hunt, 2026-09-25
- Brief for an external security review
- Cold binary-protocol probe, 2026-10-26
- Odin core parity
- Design: a cheap reference to an aggregate
- Aggregates design note
- Concurrency design notes (maintainers)
- corelib design notes (maintainers)
- Enum design notes (maintainers)
- FFI design notes (maintainers)
- Function design notes (maintainers)
- Generics design notes (maintainers)
- `core:gfx` — value semantics at the SDL3 boundary
- Map design notes (maintainers)
- Design: `match` on scalar values
- Subscript design notes (maintainers)
- Editor churn: rebuild-per-operation on a long-lived value (2026-08-12)
- FFI boundary review, 2026-08-14
- Goose review: what transfers to Tycho
- Repo polish, after the testing campaign
- What the next program says the language needs
- What the next program says the language needs
- What the next program says the language needs
- What the next program says the language needs
- What the next program says the language needs
- What the next program says the language needs
- What the next program says the language needs
- What `tycho-vm` said the language needs
- Plan: ownership-free storage optimization + values vs places
- FFI probe, 2026-08-19 — what a first-time reader hits
- Generics probe, 2026-08-19 — what a first-time reader hits
- Probe: file-backed social graph (relational data as values) — 2026-10-18
- `handle` probe, 2026-09-21 — 14 findings, eight fixed the same day
- Probe: entity store with generational handles — 2026-10-18
- Layout/SIMD probe, 2026-09-21 — eight findings on the surface that returned none in September
- Two models, same four surfaces — what a probe's instrument is worth
- newtype / `subscript` / `bounded` probe, 2026-08-19
- Running an agent probe
- `select` probe, 2026-08-19 — a select that takes no arm at all
- Layout/SIMD probe, 2026-09-07 — four new features, no findings
- Probe: uninitialised arena reads, 2026-09-11
- Probe: exclusive update callbacks — 2026-10-18
- Closed 1.0 conditions, August 2026
- Runtime tuning: keeping the per-scope arena tax down
- Optimizing data structures for the arena model
- Native Windows support — plan (separate track from plan.md)
- RFCs
- FFI & Threading — design review and improvement plan
- Limited references for shared/cyclic structures — research spike
- `or_return` with a mapping expression
- A width slot for `parallel for`
- Value-lifetime regions — an arena whose lifetime follows a value