Timeline
What the project has done, in the order it happened. Language and library changes are the ones that matter here; the decisions behind them are engineering records and stay in the repository.
The dates are approximate: they place the work in the year it was done rather than on the day each piece landed.
2024 to 2025
Two years of drafts, on and off. The work was sparse and interleaved: research, studies, drafts, and pauses, and more than one direction at a time when it moved. Prototypes were written and thrown away, the same construct was spelled three ways and tried against real code, and choices were kept or dropped on how they read. What the period produced is both halves of where the language stands: the spellings it carries today, and the ones it left behind. It becomes a single line, with a compiler to hold it, at the end of 2025.
2025
11 December 2025 - the first compiler. The project starts with a lexer, a parser, an AST and LLVM code generation written in C.
December 2025 to January 2026 - the first design grows. Dense work on types, ownership analysis and code generation, and a design that the current tree replaces.
2026
26 January 2026 - the rewrite begins. The current tree starts: a seed compiler written in C, and the reference compiler written in the language itself.
23 February 2026 - Core v0 is frozen. The specification is frozen for the bootstrap, and both compilers implement it. Every concept has one spelling, and the ceremony that was not carrying proof - reference sigils, lifetime parameters, parameter modes, a move operator - is not part of the language.
14 April 2026 - the first line is retired. The tree keeps only what the project builds from: the compiler sources, the language sources and the standard library.
30 May 2026 - the fixpoint holds. The seed compiler builds the reference compiler, that compiler builds itself, and the second and third generations of IR are byte for byte identical.
8 July 2026 - the standard library. JSON, HTTP over the sockets the language already had, a regular-expression engine that cannot backtrack into exponential time, sets and deques, number formatting with fixed and shortest forms, a calendar over the wall clock, and path arithmetic.
13 September 2026 - views, and what a parameter is. view becomes a type and only a type, with no operator at the value, and the representation of a parameter follows its type rather than being written at the signature. This documentation site is published the same day.
Where the language is
Not in Core v0 yet:
- Trait default methods and associated types.
- Combinators on
OptionandResult, such asmapandand_then. - TLS, so
httpsworks:std.httprefuses it today and the plan is a stack written in Talor, keeping the toolchain one language.