Skip to content
Spice logo

The Spice Programming Language

A compiled, statically typed systems language that targets native machine code — producing lean binaries with no runtime overhead.

  • Blazing fast
  • Systems-oriented
  • Cross-compiling
  • Self-contained
Get started Go to GitHub
Why Spice

Built for performance and practicality

Spice combines the speed of a low-level systems language with a modern, familiar syntax and a batteries-included toolchain.

Performance first

Zero-cost abstractions, value semantics by default, and LLVM optimizations at every level.

Familiar syntax

Borrows the curly-brace style of C and C++, so existing systems programmers feel at home.

Safety where it counts

Strong static typing, immutability via const, and deterministic destructors — no garbage collector.

Practical interop

Call C and C++ libraries directly and cross-compile to any LLVM-supported target.

Self-contained toolchain

A single binary covers compilation, running, testing, and installing packages.

Targets everywhere

From CLI tools and compilers to embedded drivers and WebAssembly modules.

A first look at Spice

Functions return values (f<ReturnType>), procedures do not (p). The entry point is always main, and the standard library is imported with import "std/...".

  • Clean, readable, C-like syntax
  • Compiles straight to native binaries
  • Rich standard library out of the box
hello.spice
import "std/text/print";

// The entry point always returns an int
f<int> main() {
    println("Hello, Spice!");
    return 0;
}

Ready to give Spice a try?

Install the toolchain on your platform and write your first program in minutes.

Install Spice Read the introduction