Under heavy development. This site describes the intended 1.0 language. Current features and performance vary. Development status
Sn50SnThe SnAPI programming language
0.2.0 Preview 1 · Frozen documentation

Getting started

Install and run the first public preview.

Sn is under heavy development. Reference extracted from this release’s bundled standard library. Public API examples are not an exhaustive compatibility test. Read the matching release guide for tested workflows and limitations. Read the status →

This release

Sn 0.2.0 Preview 1 builds the preserved 0.2.0 source with portability repairs for installed resources, linker selection, and paths containing spaces. It is an experimental development release. The intended 1.0 performance and feature goals described elsewhere on this site are not claims about this preview.

System requirements

Linux x86_64 with glibc 2.35 or newer. LLVM 22, LLD 22, the Clang binding library, libstdc++, libgcc, and their non-glibc runtime dependencies are included. AOT additionally requires the distribution’s Clang at /usr/bin/clang and normal system development headers (clang package on Ubuntu 22.04 and Debian 12); the matching linker is bundled. The compiler does not require the creator’s SDK or source checkout. Musl-based systems such as Alpine are not supported by this package.

Install

Get the archive and SHA256SUMS from the Downloads page or official GitHub release. Verify the archive checksum, then extract it into a writable directory. From that extracted directory, in Bash:

source ./activate
snc check "$SN_ROOT/examples/hello.sn"
snc run "$SN_ROOT/examples/hello.sn"
snc build "$SN_ROOT/examples/hello.sn" -o ./hello
./hello

Keep the directory structure together and the activated environment available to generated programs that use native Sn libraries. No root installation is needed.

A first program

module hello;
from std.io import Print;
fn Main() -> i32 {
    Print("Hello from Sn!\n");
    return 0;
}

The archived example passed checking, JIT execution, native compilation and native execution after packaging. That is a workflow check, not exhaustive feature validation.

Documentation snapshot: October 24, 2026 About versions ↗
Searching Development · language & standard library