Know what your code can do before it runs

A compiled systems language where every function declares its capabilities — IO, network, clock, and more — with compile-time effect checking.

curl -fsSL https://raw.githubusercontent.com/SailfinIO/sailfin/main/install.sh | bash
server.sfn
struct Config {
    host: string,
    port: number,
    verbose: bool,
}

fn load_config(path: string) -> Config ![io] {
    let raw = fs.read(path);
    return Config.parse(raw);
}

fn handle(req: http.Request) -> http.Response ![net] {
    return http.Response {
        status: 200,
        body: "Sailfin is running",
    };
}

fn main() ![io, net] {
    let config = load_config("app.toml");
    print("Listening on " + config.host);
    serve(handle, { port: config.port });
}

Built for

Capability-Controlled Services

The effect system guarantees that IO, network, and other capabilities are declared at compile time. Audit your entire service's capability surface before it reaches production.

Systems Programming

Native compilation via LLVM, single-binary output, and a self-hosted toolchain make Sailfin suitable for performance-critical infrastructure.

CLI Tools & Automation

Concise syntax, fast compilation, and single-binary output make Sailfin ideal for developer tooling and build systems.

Supply-Chain Security

Every capsule declares its capability requirements. Know exactly what your dependencies can do — no hidden network calls, no surprise file access.

Ready to dive in?

Install Sailfin and build your first program in minutes.