▮ a high-performance programming language

Not a script.
A language.

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's interpreter wins 12 of 16 cross-language benchmarks — against LuaJIT (no-JIT), Luau, Lua, Quirrel, QuickJS, and Mono interpreter. The AOT compiler to C++ typically matches native C++; the LLVM JIT regularly beats it. Same source, same semantics across all three tiers — pick the one that fits your deployment. Lower numbers are faster.

· captured on Apple M1 Max · daslang 0.6.2
· normalised to fastest entry in the row
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

Grab a release. Or build from source.

Daslang is early — packaged installers (brew, apt, scoop) are on the roadmap. For now: pre-built binaries on GitHub, or a CMake build straight from the repo. AOT compiles to a single C++ stub you link with your host.

github.com/GaijinEntertainment/daslang →
# 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

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.