KonLang Tiếng Việt

Status and roadmap

Kon is being built and is not released. Nothing here should be read as a promise of stability yet.

Language

AreaStateNotes
Integers, floats, boolWorks
Structs, methods, enums, matchWorks
Option, Result, tryWorks
List, fixed arrays, String, str, BoxWorksBounds and UTF-8 boundaries are checked
view, edit, take, with checked errorsWorksErrors name the line
const, modules, defer, let that binds onceWorks
Networking: TCP, UDP, a line-based serverWorksIn std/net. No HTTP or TLS yet
Projects with local dependenciesWorkskon new, kon add. No registry
Generic functions and structs, interface boundsWorksStill growing
Calling CPartlyNumbers and simple values work; passing pointers is not established
String and str used interchangeablyNot yetWritten out by hand for now
Enums holding a List of themselvesNot yetWorked around with indexes
ClosuresNot yet
Text interpolationNot yetIn the specification, not in the compiler
ThreadsNot yetWaiting for closures and interfaces
Building shared librariesNot yet

Platforms

AreaStateNotes
Windows x64WorksOne-file kon.exe
LinuxPartlyThe library's C code has run here; the compiler has not been checked here yet, and there is no one-file kon
macOSNot yet
Android, iOSNot yetNo targets yet
WebAssemblyNot yetConsidered for after a backend of its own

Self-hosting

The compiler is meant to be written in the language it compiles. It is partly there, so it still needs an older compiler to build. As of 31 October 2026:

  • 24 of 63 compiler source files have run through the new pipeline. Some of those are parallel replacements that do not yet stand in for the original.
  • The conformance suite stands at 237 of 280 cases.
  • The command line, front end, most of the back end and the ownership checker still need that older compiler to build.

Safety evidence

The checker rejects the wrong programs it has been tested on, and at the last full check 58 ownership fixtures and 76 native fixtures passed. A fuzzer compared 1,133 generated programs with C and found no wrong results, on a limited set of language forms. This is not a proof. No independent attack campaign has run yet, so the claim that safe code cannot corrupt memory remains a design goal until one has.

Principles

When goals conflict, the higher one wins:

  1. Safety. Code without unsafe cannot corrupt memory. A promise of safety cannot be loosened later.
  2. Readability. Someone with basic programming knowledge can read code and see who owns the data, without learning lifetimes.
  3. Performance. Release builds run level with C. Beyond that, speed comes from the compiler or from explicit unsafe.
  4. Lightness. Small programs, no garbage collector, no heavy runtime.
  5. Features. A feature is added only when it breaks none of the above.

Two hard rules follow: a new feature must not slow existing code, and a feature that makes code harder to read must justify its existence.

Roadmap

  1. Finish the basics and self-hosting, so that the compiler builds itself.
  2. Complete closures, recursive types, pointers across C and threads.
  3. A backend of Kon's own for fast debug builds, then WebAssembly.
  4. One-file kon for Linux, then macOS.
  5. A full attack campaign against the compiler and its output, including testers who did not write the checker.
  6. A first release, then widen to applications and tools.

The order may change, and none of these have dates.

Resources