open source · under active development

Code with
clarity. Ship with
confidence.

Kirn is a modern general-purpose language with strong types, expressive syntax, concurrency, and a compiled toolchain for ambitious builders.

Kirn is for people who build boldly.

hello.kn
struct Greeter {
    name: string;

    fn greet(self) -> string {
        return "Hello, " + self.name + "!";
    }
}

fn main() {
    greeter = Greeter(name: "world");
    print(greeter.greet());
}
scroll to explore

Familiar enough
to move fast.

Kirn is being built for people who want their language to get out of the way. Its syntax is readable at a glance, its types are there when you need them, and its compiler is designed to make the path from source to executable feel small.

Every meaningful program starts as an idea. Keep learning, keep building, and make the next one real.

01
⌁

Readable by default

Clean blocks, inferred types, and expressive patterns keep the signal high without hiding the machinery.

02
◈

Safety in the language

Strong types, optionals, results, and explicit error handling help catch surprises before runtime.

03
↗

Built to go native

A C++20 compiler today, with an AOT backend and a small, fast runtime on the roadmap.

Built in the open
by curious people.

Kirn was created by RK Riad Khan (RKRIAD585) and is being shaped in public. The project is open source, experimental, and always welcoming to readers, testers, and contributors.

“

Language design is a conversation between the code we write today and the programs we want to write tomorrow.

— the Kirn project

Small syntax.
Serious range.

From a first script to structured, concurrent programs, Kirn grows with the problem instead of making you learn a new dialect for every scale.

01

Types that help,
not hinder.

Structs, enums, traits, generics, optionals, and results give programs shape while inference keeps the everyday code light.

Option<T>Result<T, E>trait Printable
02

Concurrency
in the vocabulary.

Explore spawn, channels, select, async basics, and parallel iteration as first-class language concepts.

spawn → chan → select
03

Tooling that
travels with it.

The kirn driver is growing around build, run, test, package, and documentation workflows.

$ kirn run main.kn

Extend Kirn
with Pets.

Kirn calls its reusable ecosystem packages Pets: small, inspectable building blocks for programs and projects. Browse the community registry, discover what others are building, and share your own.

Explore the Pets registry ↗
pet / 01discover

Find useful building blocks for your next Kirn project.

pet / 02inspect

Read the source and understand what you depend on.

pet / 03share

Publish a Pet and grow the ecosystem in public.

A pipeline you
can follow.

Kirn’s implementation is open, modular, and actively evolving. Read the code, run the examples, and see how a language takes shape.

01lextokens
→
02parseAST
→
03checktypes
→
04runVM / interp
→
05nativeon the way

Early days.
Wide horizon.

Kirn is a work in progress. The foundation is real; the future is being built in public.

Read the official docs ↗
now

Core language

Lexer, parser, semantic analysis, interpreter, VM, collections, modules, and a growing example suite.

next

Native compilation

Continue the AOT pipeline toward fast, portable binaries and a simpler one-command workflow.

later

Ecosystem

Grow the Pets registry, standard tooling, documentation, and editor support around the language.

k·

Make something
unmistakably yours.

Kirn is open source, unfinished, and ready for curious builders.