A systems language where the compiler places your memory and shows its work.

Prismio is a statically typed language that compiles to native code through LLVM. Instead of lifetime annotations or a tracing collector, the compiler infers where each allocation should live, and prismio aif --why explains every decision it makes.

The Systems Dilemma

Why the world needed another systems language.

For decades, systems engineers have been trapped in a triangle of compromises:

C / C++ Trade-Off

Unbounded Memory Risk

Fast and raw, but fraught with use-after-free, memory leaks, and buffer overflows that continue to represent over 70% of reported high-severity vulnerabilities in systems infrastructure.

Rust Trade-Off

Borrow Checker Friction

Affine types deliver memory safety, but fighting lifetime annotations, tricky borrow-checker rules, and graph/cyclic data architectures imposes steep cognitive fatigue and slows iteration cycles.

GC Languages Trade-Off

Unpredictable Tail Latency

High developer ergonomics, but stop-the-world collectors, runtime cache thrashing, and high memory multipliers make them unsuitable for real-time audio, embedded systems, and hyper-dense server loops.

Prismio's Synthesis

Inference replaces annotation bureaucracy.

Instead of forcing you to annotate every reference lifetime or suffer garbage collector pauses, Prismio uses compiler-proven escape and ownership analysis to place data in the cheapest safe tier automatically—and lets you audit every decision with verifiable manifests.

Read Benchmarks
IN v0.1.0

What it does today.

Adaptive Inference Framework

Experimental. The compiler classifies each allocation site as stack, region, unique, reference-counted, or cycle-aware storage, and enforces moves and borrows for move-only values. You don't annotate lifetimes. To see why a site landed where it did: prismio aif main.psm --why=1.

Native code through LLVM

The typed AST lowers to LLVM IR and links with the platform toolchain. -g emits DWARF debug information, and --target cross-compiles.

Native threads and channels

Spawn and join OS threads and pass values over blocking Channel<T>. There is no async runtime in 0.1.

Direct C ABI calls

extern fn binds straight to C symbols. Prismio doesn't read headers or generate bindings, so you declare each function yourself, and anything with an uncertain layout (a String, for example) goes through a small C adapter.

Limits

What it doesn't do yet.

v0.1.0 is the first release. If you need any of these, it isn't ready for you.

  • async/await
  • Atomics, mutexes, condition variables, and a specified memory-ordering model
  • Task cancellation, timeouts, and structured-concurrency scopes
  • A stable AIF tier contract. The meaning and cost of each tier can still change
  • Stable diagnostic codes
  • A formally proven borrow checker

How it's run.

Prismio is open source and developed in the open. These are the terms the project runs on.

Apache-2.0
The compiler, standard library, and benchmark suite are all open source.
Issue first
Large changes start as a GitHub issue before any code is written.
Losses get published
Benchmarks compare identical algorithms against C++ and Rust and report medians, including the ones Prismio loses.

Ready to explore the next generation of systems code?

Read the complete language guide, test your code in our interactive playground, or install Prismio on your machine in seconds.