DEVELOPER PREVIEWTHE COMPILER IS WRITTEN IN ABLA

Compile time is part of the language.

Abla is a self-hosted, native programming language where ordinary checked code can run while your program is being built.

Experimental and changing quickly. Built for people who want to explore the model with us.

hello.abABLA
compile fun twice(value: int): int = value * 2

fun main: int {
    val answer = #twice(21)
    print("The answer is $answer")
}
build/helloThe answer is 42

One language model, before and after the build.

A

Compile ordinary code

The # prefix evaluates an expression during compilation. It uses the same types, functions, and checked IR as runtime code.

B

Let libraries extend syntax

Packages can provide compile-time subparsers such as $json, $mvcview, and $mobile without bypassing the compiler.

C

Own the whole toolchain

The compiler, runtime, and standard library are written in Abla. A raw Linux target runs without a C runtime or libc.

Built by using the language.

Abla's packages are not placeholders. They exercise native services, databases, messaging, HTML, WebAssembly, and Android.

Ablu, the Abla owlSTART HERE

Small language.
Serious machinery.

Learn the syntax in a few minutes, then go deeper into compile-time execution, ownership, packages, programmable builds, and the self-hosted compiler.

Open the programming guide

Build Abla with us.

Ask questions, share experiments, and discuss the language, compiler, and growing ecosystem with the Abla community.

Join Discord