Where CK Runs
Choose how to run or share your CK code.
Once a CK program works, you can choose how to use it. An output is the form ckc writes for another program or environment. Most beginners can use ckc run and come back to this page later.
Already have a Node.js, Python, or Rust application? The integration guide shows how it can call an exported CK function.
- Native makes a program you can run on your computer, or a library another program can use.
- C source writes code in the C language for a project that already uses C.
- WebAssembly writes a compact module for an application that can load WebAssembly.
The technical details below are for people connecting CK to another program or choosing runtime checks.
Capability details (advanced)#
| Output | Typical command | Checked overflow / bounds | Runtime print |
|---|---|---|---|
| Native executable | ckc build app.ck --kind executable --out app |
Yes / Yes | Yes |
| Native library or object | ckc build kernel.ck --kind dynamic --out libkernel |
Yes / Yes | No reachable print from an export |
| C source and header | ckc emit-c kernel.ck --out kernel.c |
Yes / Yes | No reachable print |
| WebAssembly | ckc emit-wasm kernel.ck --out kernel.wasm |
No / No | No reachable print |
Native#
The published Native-enabled ckc embeds LLVM code generation and in-process LLD linking. ckc run executes main in an isolated child; ckc build creates an executable, dynamic library, static library, or object. Library and object artifacts include a generated C ABI header. The release binary does not need an external compiler, linker, or archiver for these product commands.
C source#
emit-c creates inspectable C and a companion header. It does not compile or link them. Your integration owns the C compiler and final artifact.
ckc emit-c kernel.ck --out kernel.c
WebAssembly#
Use emit-wat for readable WebAssembly text or emit-wasm for a binary module. The host owns linear memory and passes byte addresses. WebAssembly currently supports unchecked mode only.
ckc emit-wasm kernel.ck --out kernel.wasm
For exact ABI shapes and failure behavior, see the Native, C, and WASM references.
Repository reference links follow the main branch and may describe features newer than the latest downloadable release.