A native language for CPU and GPU computing. kalandra.dev.
Kalandra's native implementation uses C++23 and MLIR/LLVM. It combines immutable values, automatic memory management, structured parallel tasks and explicit GPU execution. CPU execution supports macOS on Apple silicon and Linux/Windows on x86-64 and ARM64; GPU execution uses Apple Metal on macOS and CUDA/Vulkan on qualified Linux x86-64 hardware. Windows GPU support is experimental and hardware-unqualified.
fn double(value: int) -> int:
value * 2
fn main() -> int ! TaskError:
try parallel:
try await spawn double(21)
Native source files use .k. The compiler is under development; the native implementation guide, language design and roadmap describe supported features and remaining work.
The native toolchain version is 0.99.2. Run kalandra --version to identify an installed compiler. Release notes cover Linux CUDA/Vulkan, experimental Windows GPU packages and CPU call fixes.
Download the toolchain and kalandra-native.vsix from GitHub Releases. Choose the standalone Metal DMG for macOS 26+ on Apple silicon, or the standalone CPU archive matching your Linux or Windows x86-64/ARM64 build host. Linux requires Ubuntu 24.04 / glibc 2.39 or newer; modern Raspberry Pi boards require 64-bit Raspberry Pi OS Trixie. Windows requires C++ Build Tools and the Windows SDK, with ARM64 tools for Windows 11 ARM64. Linux x86-64 also offers CUDA and Vulkan compiler archives. Windows x86-64/ARM64 GPU archives are experimental: hardware execution remains unqualified. Verify the accompanying SHA-256 checksum and keep the complete toolchain directory together.
Each standalone compiler package includes all five CPU target runtimes and host-native linkers. Select a destination with --platform; Linux and Windows destinations still require their system development libraries. See the cross-compilation guide.
Follow the installation guide for platform prerequisites and PATH setup. The editor guide covers VS Code's Install from VSIX command and other LSP editors. Native tools and the installed editor client require no JavaScript runtime.
Install the matching LLVM/MLIR 23.1.3 toolchain, toml++ 3.4.0, CMake and Ninja described in the build guide, then run:
cmake --preset native
cmake --build --preset native
ctest --preset nativeCompile and run a native program:
build/native/native/kalandra main.k -o program
./programThe native toolchain does not require Bun or Node. Local CPU execution and Metal/CUDA/Vulkan GPU backends are implemented; distributed execution follows a separate roadmap.
Start with the tutorial, language reference, built-in function index or contributor guide. Repository design/planning documentation is indexed in docs/README.md.
The website lives in apps/website. Its native language documentation is authored in Tiramisu under apps/website/src/content/native.
bun install --frozen-lockfile
bun run dev
bun run checkThe root Bun workspace contains website development tools. bun run build builds the static site; the CMake commands above build and test the native compiler. The native VS Code extension has its own tooling in native/editor/vscode.
After building the native tools, verify the documentation with bun run verify:docs. This extracts the actual Tiramisu blocks, compares them with the rendered site, and checks expected diagnostics, CPU results, multi-file projects and local Git dependency workflows. --tools /path/to/bin selects another native tool directory. On a supported Mac with a Metal-enabled build, run bun run verify:docs -- --gpu to compile and execute the GPU examples too. Machine-provisioning recipes and the Windows-only PowerShell invocation are reported separately from executed programs. Linux qualification runs the CPU verifier in CI.
Thank you to everyone who contributed code, feedback, documentation, and financial support to Clio and helped keep these ideas alive. That work is part of Kalandra's history.
See all contributors · Contributing guide
Support ongoing development through Kalandra on Open Collective. Historical acknowledgements, including Ivo Balbaert, are preserved in backers.md.
Kalandra continues the ideas of Clio. Its implementation starts fresh here. The website scaffold comes from Tiramisu Docs.
Apache-2.0. See LICENSE and NOTICE.