Introduction

A high-level overview of the Ry language.

What is Ry?

Ry is a high-performance, register-based bytecode interpreter designed for developers who value speed, safety, and excellent diagnostics. It is the successor to the Ry1 VM, rebuilt from the ground up for better performance and extensibility.

Core Features

Modern Bytecode VM

Ry compiles source code into a compact and efficient bytecode representation. This bytecode is then executed by the Ry2 Virtual Machine, avoiding the performance pitfalls of tree-walking interpreters and enabling near-native execution flow.

C++ Extensibility

For performance-critical tasks, you can write native modules in C++ and seamlessly integrate them into your Ry scripts using the built-in use() system. This allows you to extend the language with powerful, low-level functionality.

Visual Diagnostics

When errors occur, Ry provides precise, easy-to-understand traceback. Its recursive engine highlights the exact location of the problem with caret-precision and can even provide fuzzy suggestions for typos.

Your First Program

Here is a simple example of a Ry program:

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