Pre-Alpha is now available

Productive syntax.
Fearless safety.
Bare-metal speed.

Looks like Python. Runs like Rust. Quacks like Ryduck. Ryo /ˈraɪoʊ/ is a statically-typed language designed for high Developer Experience — the ergonomics of Python, the memory safety of Rust ("Ownership Lite"), and the concurrency model of Go.

$ curl -fsSL https://raw.githubusercontent.com/ryolang/ryo/main/install.sh | sh
main.ryo
# Errors as values · optionals · safe by default

error NotFound

fn find_user(id: int) -> NotFound!str:
	if id == 0:
		return NotFound
	return f"user_{id}"

fn main():
	# Immutable by default — no `let` keyword
	greeting = "Welcome to Ryo"

	# Optionals — no null pointer exceptions
	maybe: ?str = "Alice"
	name = maybe orelse "guest"

	# Explicit, type-safe error handling
	user = find_user(42) catch |err|:
		match err:
			NotFound: "unknown"

	print(f"{greeting}, {name}{user}")

Built with ideas from the best

  • Python
  • Rust
  • Swift
  • Mojo
  • Go
  • Zig

Designed for the AI Era

Most code is going to be written by AI. Ryo is built for that workflow: the AI writes, the compiler enforces, the human reviews. Static types catch hallucinated APIs. Exhaustive matches reject incomplete code. Ownership without lifetime annotations means the AI doesn't have to reason about regions. Contracts (planned for v0.2) will read as executable specifications of intent.

Pythonic Syntax

Indentation-based, readable, and concise syntax that avoids extensive boilerplate.

Ownership Lite

Memory safety without the garbage collector — and without lifetime annotations. Functions borrow by default, assignments move, and the compiler enforces the rules.

Rich Errors

Zig-style Error Unions (!T) with exhaustive pattern matching by default and clear propagation.

Green Threads

Colorless concurrency with a work-stealing scheduler. No async/await function coloring.

Ready to write safe software?

Say hi to Ryduck, our mascot.

Join the early community of developers and language enthusiasts building the software of tomorrow.

Read Documentation