A high-performance
programming language

High-performance code.
that stands alone.

Daslang is a strong, statically-typed programming language with generic programming, iterative type inference, and three execution tiers — interpreter, AOT to C++, JIT via LLVM. Embed it in your C++ engine, or build a standalone application end-to-end.

interp · AOT · JIT
three execution tiers, one source
9
platforms incl. PS5 & Switch
embed · standalone
two ways to ship
hello.das
[export]
def main() {
    let name = "world"
    print("hello, {name}\n")
    for (i in range(3)) {
        print("  tick {i}\n")
    }
}
$ daslang hello.das
hello, world
tick 0 · tick 1 · tick 2
✓ 0.42 ms · interpreted

The fastest interpreter, and a JIT that often beats C++.

Daslang wins most cross-language benchmarks. Same source, same semantics across all three tiers. Lower numbers are faster.

captured on
· normalised to fastest entry per row
sha256
loading benchmark data…

A real language. Embeddable when you need it. Standalone when you don't.

01 · static
Strong static typing
Iterative type inference, generics with compile-time reflection. Errors before they ship.
02 · aot
AOT, JIT & interpreter
Same source, three execution tiers. AOT to C++ for consoles where JIT is forbidden.
03 · interop
Zero-friction C++ interop
Bind a function in one line. Calls cross the boundary an order of magnitude faster than peers.
04 · modes
Embedded or standalone
Drop it into a C++ host as a scripting layer, or compile a standalone Daslang binary end-to-end. Same language, same toolchain.
05 · macros
Compile-time macros
Reshape syntax to match the domain. The language reflects the problem, not the other way around.
06 · safety
Safe by default
Performance counts. But not at the cost of safety — unless you explicitly opt out for the hot path.

Ships everywhere C++ ships — as a binary, or built into your engine.

Windows
x86 · x64
Linux
x64 · GCC · LLVM
macOS
arm64 · x64
iOS
AOT · signed
Android
arm64 · x64
WebAssembly
browser embed
PlayStation 4 / 5
AOT
Xbox One / Series X
AOT
Nintendo Switch
AOT

One command on every platform.

Homebrew on macOS and Linux, scoop on Windows, pip on Windows, Linux and macOS, a .deb for Debian and Ubuntu — each installs the same SDK bundle: the compiler with the LLVM JIT, the tools, the standard library and the examples. The bundles themselves are on GitHub Releases, and a CMake build from the repo still works.

downloads →
# macOS (Apple silicon) and Linux (x86_64, arm64)
$ brew install borisbat/daslang/daslang
# on PATH: daslang, daslang-live; the SDK tree sits under the Cellar
$ daslang --version
# Windows x64
$ scoop bucket add daslang https://github.com/borisbat/scoop-daslang
$ scoop install daslang
# on PATH: daslang, daslang-live, dastest, lint, daspkg, dascov, detect-dupe, benchctl, das-fmt
$ daslang --version
# Windows x64, Linux x86_64 / arm64, macOS Apple silicon
$ pip install daslang
# on PATH: daslang, daslang-live, dastest, lint, daspkg, dascov, detect-dupe, benchctl, das-fmt
$ daslang --version
$ python -m daslang --version
# Debian / Ubuntu x86_64 - the .deb from the release page
$ sudo apt install ./daslang_0.6.4_amd64.deb
# on PATH: daslang, daslang-live; the SDK tree sits in /opt/daslang
$ daslang --version
# 1 — grab a pre-built binary
# pick the archive for your platform, unzip, add to PATH
# 2 — verify it runs
$ daslang --version
$ daslang hello.das
# 3 — (optional) JIT to native via LLVM for max speed
$ daslang -jit hello.das
# requires CMake ≥ 3.15 and a C++17 compiler
$ git clone https://github.com/GaijinEntertainment/daScript.git daslang
$ cd daslang && git submodule update --init --recursive
$ cmake -B build -S . -DCMAKE_BUILD_TYPE=Release
$ cmake --build build --config Release -j 8
# the binary lands in ./build/daslang
$ ./build/daslang hello.das

A package manager that compiles in.

daspkg is the daslang package manager. Bindings for Dear ImGui, the Claude API, Telegram bots — one command, no accounts. Publishing is a single CLI call against an open index repo.

$ daspkg install dasImguiNodeEditor
fetching dasImguiNodeEditor@latest from github.com/borisbat/dasImguiNodeEditor
building native bindings…
✓ installed dasImguiNodeEditor · dasImgui already in-tree

Recent activity.

The latest from the daslang team — releases, tooling, and ecosystem.

full change list →
2026-05-13
site
Redesigned daslang.io live — integrated playground, dasProfile bench, blog migration.
2026-05-12
0.6.2
JIT allocator memory effects landed — 6b9f27aa4.