This section details the design and specification of the Ribbon Bytecode Virtual Machine (RVM), the core execution engine for the Ribbon language. The RVM is a high-performance, register-based virtual machine designed from the ground up to be safe, embeddable, and JIT-friendly, with first-class support for algebraic effects.

Design Philosophy

The RVM’s design directly reflects the core goals of the Ribbon language: to provide a powerful, high-performance systems language for host applications, and a safe, robust, and sandboxed extension language for guest code.

To achieve this, the VM is built around a few key principles:

Architecture at a Glance

The RVM’s architecture is divided into two primary areas: the runtime state and the instruction set that manipulates it.

Section Contents

This section provides a complete specification of the RVM. For the best reading experience, it is recommended to proceed through the documents in the order they are listed.