Introduction
Kirn is a general-purpose programming language created by RK Riad Khan. Its design aims to keep readable source, explicit structure, and a compiled toolchain close together.
The language is open source and actively evolving. The most useful way to understand it is to run the examples in the official repository, then use these docs as a map.
What Kirn gives you
- Familiar, expression-oriented syntax for small programs and larger systems.
- Strong types, structs, enums, traits, generics, and optionals.
- Functions, closures, modules, pattern matching, and error propagation.
- Concurrency primitives including
spawn, channels,select, andjoin. - A CLI for running, testing, building, packaging, and documenting projects.
Kirn is not finished. Claims about performance, ownership, networking, IDE support, or future tooling should be treated as roadmap material unless they are backed by the source and a runnable example.
Choose your path
- New to Kirn? Continue to Installation, then Quick start.
- Know the basics? Read the CLI workflow and Project structure.
- Looking for exact syntax? Open the Language reference.
- Looking for packages? Visit the Pets registry.
Source of truth
The normative grammar lives in grammar/kirn.ebnf. The canonical keyword set is maintained by the lexer. Examples in examples/ are the working corpus used to validate language behavior.