Getting started
Install and run the first public preview.
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
./helloKeep 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.