mruby Documentation Getting Started New to mruby? Start here: Document Description Getting Started Build mruby and run your first program Language Features Ruby subset supported by mruby Limitations Behavioral differences from CRuby Guides (for embedders and gem authors) Embedding mruby in C Document Description C API Reference Values, classes, methods, error handling, fibers GC Arena Managing temporary objects in C extensions Linking Linking with libmruby Amalgamation Single-file build for easy integration Precompiled Symbols Compile-time symbol allocation Building and Configuring Document Description Compilation Build system, cross-compilation, toolchains Build Configuration Compile-time macros (MRB_* flags) mrbgems Creating and managing gems Memory Allocator customization and heap regions Tools Document Description Debugger Using mrdb for debugging ROM Method Tables Read-only method tables for constrained devices Reference Document Description Directory Structure Source tree layout Internals (for mruby contributors) Start with Architecture for an overview, then dive into the subsystem you need: Document Description Architecture Overview of object model, VM, GC, compiler Virtual Machine Dispatch loop, call frames, method lookup, fibers Garbage Collector Tri-color marking, write barriers, generational GC Compiler Pipeline Parser, code generator, IRep, binary format Opcodes VM instruction set reference Value Boxing How mrb_value encodes types Release Notes mruby 3.4 mruby 3.3 mruby 3.2 mruby 3.1 mruby 3.0