Getting started
Learn the language, choose a release, and run native code.
What is Sn?
Sn is a systems language targeting C++ runtime performance with scripting-speed compilation and an interactive native JIT. Its modern syntax is intended to feel familiar to C++ developers working on games, engines, embedded software, and other real-time systems.
The site describes the intended Sn 1.0 language. Development is active, and features and performance targets may not be complete in your compiler version.
Get an official toolchain
Compiler downloads will be published as official, versioned GitHub Releases. Each release is built from a selected Git tag in the private compiler repository and will include matching documentation and known limitations. The compiler is closed-source.
No compiler binaries have been published yet. The Downloads page links the official public distribution repository and will list actual toolchain artifacts when they are released.
Your first program
module hello;
from std.io import Print;
fn Main() -> i32 {
Print("Hello from Sn\n");
return 0;
}Every file declares a module. Imports select the declarations used by that file. Main is the entry point and returns an integer exit status.
Check, run, and build
snc is the standalone compiler. Its workflows include semantic checking, JIT execution, and ahead-of-time native compilation. Use the help included with your toolchain for its supported command-line options.
A persistent editor-driven JIT session is part of the intended development workflow. It is distinct from a one-shot JIT run; see Compiler & tooling for its current status.
Choose the documentation version
Development is the evolving reference. A dated snapshot preserves the documentation exported on that date, but is not a numbered compiler release. Future release documentation will be tied to the corresponding compiler version.