Ori

Ori is a statically typed, expression-based systems programming language featuring value semantics and automatic reference counting in place of garbage collection or manual borrow checking. It compiles through LLVM to standalone native binaries across Windows, Linux, and macOS without a runtime dependency.

Record

At a glance

Why it exists

Memory safety and predictable systems performance should not require choosing between runtime stop-the-world pauses and complex borrow-checker lifecycles.

Division
Open source
Relationship
Open-source project of Elucidsoft LLC
Stage
Alpha
Category
Programming language
Built for
Language and systems programmers
Version
2026.7.28-alpha.1
Licence
MIT OR Apache-2.0
Built with
Rust, LLVM
Detail

What Ori is

Garbage-collected runtimes trade execution predictability and memory footprint for developer convenience, while borrow checkers require explicit lifetime annotations that increase language complexity. Systems programmers are frequently forced to choose between these two paradigms even when neither matches the needs of a particular system.

Ori employs value semantics coupled with deterministic automatic reference counting, eliminating garbage collection pauses while avoiding complex ownership annotations in type signatures. External side effects are declared explicitly as capabilities within function signatures to clarify dependencies. Testing syntax is built directly into the language specification, and the compiler targets LLVM to produce optimized native binaries.

Ori is currently in alpha at version 2026.7.28-alpha.1, dual-licensed under MIT and Apache-2.0, with a compiler implemented in Rust. The language is experimental and not intended for production deployments, serving systems programmers and language researchers exploring alternative safety models.