Built for You.

Fast. Register-Based. Reliable.

Ry2 is a high-performance bytecode interpreter designed for developers who need speed, safety, and visual diagnostics.

Get Started Source Code

Modern Bytecode VM

Skip the overhead of direct AST walking. Ry2 compiles to efficient bytecode instructions for near-native execution flow.

Visual Diagnostics

Our recursive traceback engine identifies errors with caret-precision, complete with fuzzy suggestions for typos.

C++ Extensibility

Need more power? Write native modules in C++ and load them dynamically with the use() system.

Register-Based Speed

Utilizing Direct Threading and Constant Folding, Ry2 executes 1M iterations in under 0.23s.

func greet(data name) {
    out("Hello ${name}")
}
data name = input("Enter your name: ")
greet(name)

Performance by Design

Ry2 doesn't just run code; it optimizes it. Using Direct Threading and Constant Folding, the Register-based VM delivers near-native speeds.

// Fibonacci 1M iterations
ry run examples/fib.ry
Result: inf
Time Taken: 0.229462 seconds

Error: NameError: Undefined variable 'dwad'.
  2 | return _2()
    |         ^~~